@junobuild/core-standalone 3.3.2 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,59 +1,59 @@
1
1
  import { createRequire as topLevelCreateRequire } from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
- var Dp=Object.defineProperty;var Up=(e,t)=>{for(var r in t)Dp(e,r,{get:t[r],enumerable:!0})};var Mc;(function(e){e[e.SysFatal=1]="SysFatal",e[e.SysTransient=2]="SysTransient",e[e.DestinationInvalid=3]="DestinationInvalid",e[e.CanisterReject=4]="CanisterReject",e[e.CanisterError=5]="CanisterError"})(Mc||(Mc={}));var hr;(function(e){e.Replied="replied",e.Rejected="rejected"})(hr||(hr={}));function jc(e){return e!=null&&"reject_code"in e}function Kc(e){return e!=null&&"certificate"in e}var pi="abcdefghijklmnopqrstuvwxyz234567",Pn=Object.create(null);for(let e=0;e<pi.length;e++)Pn[pi[e]]=e;Pn[0]=Pn.o;Pn[1]=Pn.i;function Hc(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=pi[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?pi[r>>3]:"")}function $c(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=Pn[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var kp=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function Gc(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=kp[o]^t>>>8}return(t^-1)>>>0}import*as jt from"node:crypto";var ln=jt&&typeof jt=="object"&&"webcrypto"in jt?jt.webcrypto:jt&&typeof jt=="object"&&"randomBytes"in jt?jt:void 0;function Ot(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ms(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!Ot(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function js(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Wc(e,t){fe(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function un(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function hi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ft(e,t){return e<<32-t|e>>>t}var zc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Lp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function H(e){if(fe(e),zc)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Lp[e[r]];return t}var Kt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Jc(e){if(e>=Kt._0&&e<=Kt._9)return e-Kt._0;if(e>=Kt.A&&e<=Kt.F)return e-(Kt.A-10);if(e>=Kt.a&&e<=Kt.f)return e-(Kt.a-10)}function Ne(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(zc)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=Jc(e.charCodeAt(i)),a=Jc(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function ee(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ks(e){return typeof e=="string"&&(e=ee(e)),fe(e),e}function j(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];fe(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var fi=class{};function mi(e){let t=n=>e().update(Ks(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Bn(e=32){if(ln&&typeof ln.getRandomValues=="function")return ln.getRandomValues(new Uint8Array(e));if(ln&&typeof ln.randomBytes=="function")return Uint8Array.from(ln.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function qp(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function Yc(e,t,r){return e&t^~e&r}function Zc(e,t,r){return e&t^e&r^t&r}var _o=class extends fi{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=hi(this.buffer)}update(t){js(this),t=Ks(t),fe(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=hi(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){js(this),Wc(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,un(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;qp(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=hi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,p=this.get();if(u>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,p[d],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Ht=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),$t=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ie=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var _i=BigInt(4294967295),Xc=BigInt(32);function Mp(e,t=!1){return t?{h:Number(e&_i),l:Number(e>>Xc&_i)}:{h:Number(e>>Xc&_i)|0,l:Number(e&_i)|0}}function Qc(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=Mp(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var Hs=(e,t,r)=>e>>>r,$s=(e,t,r)=>e<<32-r|t>>>r,dn=(e,t,r)=>e>>>r|t<<32-r,pn=(e,t,r)=>e<<32-r|t>>>r,yo=(e,t,r)=>e<<64-r|t>>>r-32,go=(e,t,r)=>e>>>r-32|t<<64-r;function Et(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var el=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),tl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,rl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),nl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,ol=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),il=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Kp=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),mr=new Uint32Array(64),yi=class extends _o{constructor(t=32){super(64,t,8,!1),this.A=Ht[0]|0,this.B=Ht[1]|0,this.C=Ht[2]|0,this.D=Ht[3]|0,this.E=Ht[4]|0,this.F=Ht[5]|0,this.G=Ht[6]|0,this.H=Ht[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)mr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=mr[d-15],f=mr[d-2],h=ft(l,7)^ft(l,18)^l>>>3,m=ft(f,17)^ft(f,19)^f>>>10;mr[d]=m+mr[d-7]+h+mr[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=ft(a,6)^ft(a,11)^ft(a,25),f=p+l+Yc(a,c,u)+Kp[d]+mr[d]|0,m=(ft(n,2)^ft(n,13)^ft(n,22))+Zc(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+m|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,p=p+this.H|0,this.set(n,o,i,s,a,c,u,p)}roundClean(){un(mr)}destroy(){this.set(0,0,0,0,0,0,0,0),un(this.buffer)}},Gs=class extends yi{constructor(){super(28),this.A=$t[0]|0,this.B=$t[1]|0,this.C=$t[2]|0,this.D=$t[3]|0,this.E=$t[4]|0,this.F=$t[5]|0,this.G=$t[6]|0,this.H=$t[7]|0}},sl=Qc(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),Hp=sl[0],$p=sl[1],_r=new Uint32Array(80),yr=new Uint32Array(80),Js=class extends _o{constructor(t=64){super(128,t,16,!1),this.Ah=Ie[0]|0,this.Al=Ie[1]|0,this.Bh=Ie[2]|0,this.Bl=Ie[3]|0,this.Ch=Ie[4]|0,this.Cl=Ie[5]|0,this.Dh=Ie[6]|0,this.Dl=Ie[7]|0,this.Eh=Ie[8]|0,this.El=Ie[9]|0,this.Fh=Ie[10]|0,this.Fl=Ie[11]|0,this.Gh=Ie[12]|0,this.Gl=Ie[13]|0,this.Hh=Ie[14]|0,this.Hl=Ie[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:m,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,m,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,m,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=m|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)_r[y]=t.getUint32(r),yr[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=_r[y-15]|0,E=yr[y-15]|0,O=dn(T,E,1)^dn(T,E,8)^Hs(T,E,7),R=pn(T,E,1)^pn(T,E,8)^$s(T,E,7),I=_r[y-2]|0,w=yr[y-2]|0,v=dn(I,w,19)^yo(I,w,61)^Hs(I,w,6),C=pn(I,w,19)^go(I,w,61)^$s(I,w,6),S=rl(R,C,yr[y-7],yr[y-16]),b=nl(S,O,v,_r[y-7],_r[y-16]);_r[y]=b|0,yr[y]=S|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:m,Gl:g,Hh:_,Hl:x}=this;for(let y=0;y<80;y++){let T=dn(d,l,14)^dn(d,l,18)^yo(d,l,41),E=pn(d,l,14)^pn(d,l,18)^go(d,l,41),O=d&f^~d&m,R=l&h^~l&g,I=ol(x,E,R,$p[y],yr[y]),w=il(I,_,T,O,Hp[y],_r[y]),v=I|0,C=dn(n,o,28)^yo(n,o,34)^yo(n,o,39),S=pn(n,o,28)^go(n,o,34)^go(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;_=m|0,x=g|0,m=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=Et(u|0,p|0,w|0,v|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let F=el(v,S,N);n=tl(F,w,C,b),o=F|0}({h:n,l:o}=Et(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Et(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Et(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=Et(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=Et(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=Et(this.Fh|0,this.Fl|0,f|0,h|0),{h:m,l:g}=Et(this.Gh|0,this.Gl|0,m|0,g|0),{h:_,l:x}=Et(this.Hh|0,this.Hl|0,_|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,m,g,_,x)}roundClean(){un(_r,yr)}destroy(){un(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Fe=mi(()=>new yi),al=mi(()=>new Gs),cl=mi(()=>new Js);var gi="__principal__",Gp=2,ll=4,Jp="aaaaa-aa",M=class e{static anonymous(){return new this(new Uint8Array([ll]))}static managementCanister(){return this.fromText(Jp)}static selfAuthenticating(t){let r=al(t);return new this(new Uint8Array([...r,Gp]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Ne(t))}static fromText(t){let r=t;if(t.includes(gi)){let s=JSON.parse(t);gi in s&&(r=s[gi])}let n=r.toLowerCase().replace(/-/g,""),o=$c(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===ll}toUint8Array(){return this._arr}toHex(){return H(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,Gc(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=Hc(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[gi]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var Gt;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(Gt||(Gt={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
3
+ var af=Object.defineProperty;var cf=(e,t)=>{for(var r in t)af(e,r,{get:t[r],enumerable:!0})};var il;(function(e){e[e.SysFatal=1]="SysFatal",e[e.SysTransient=2]="SysTransient",e[e.DestinationInvalid=3]="DestinationInvalid",e[e.CanisterReject=4]="CanisterReject",e[e.CanisterError=5]="CanisterError"})(il||(il={}));var Rr;(function(e){e.Replied="replied",e.Rejected="rejected"})(Rr||(Rr={}));function sl(e){return e!=null&&"reject_code"in e}function al(e){return e!=null&&"certificate"in e}var _i="abcdefghijklmnopqrstuvwxyz234567",Mn=Object.create(null);for(let e=0;e<_i.length;e++)Mn[_i[e]]=e;Mn[0]=Mn.o;Mn[1]=Mn.i;function cl(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=_i[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?_i[r>>3]:"")}function ll(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=Mn[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var lf=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function ul(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=lf[o]^t>>>8}return(t^-1)>>>0}import*as Qt from"node:crypto";var xn=Qt&&typeof Qt=="object"&&"webcrypto"in Qt?Qt.webcrypto:Qt&&typeof Qt=="object"&&"randomBytes"in Qt?Qt:void 0;function At(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function na(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function me(e,...t){if(!At(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function oa(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function pl(e,t){me(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function bn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function gi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function yt(e,t){return e<<32-t|e>>>t}var fl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",uf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(me(e),fl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=uf[e[r]];return t}var er={_0:48,_9:57,A:65,F:70,a:97,f:102};function dl(e){if(e>=er._0&&e<=er._9)return e-er._0;if(e>=er.A&&e<=er.F)return e-(er.A-10);if(e>=er.a&&e<=er.f)return e-(er.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(fl)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=dl(e.charCodeAt(i)),a=dl(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function $(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function ia(e){return typeof e=="string"&&(e=$(e)),me(e),e}function K(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];me(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var yi=class{};function xi(e){let t=n=>e().update(ia(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function jn(e=32){if(xn&&typeof xn.getRandomValues=="function")return xn.getRandomValues(new Uint8Array(e));if(xn&&typeof xn.randomBytes=="function")return Uint8Array.from(xn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function df(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function hl(e,t,r){return e&t^~e&r}function ml(e,t,r){return e&t^e&r^t&r}var bo=class extends yi{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=gi(this.buffer)}update(t){oa(this),t=ia(t),me(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=gi(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){oa(this),pl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,bn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;df(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=gi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,p=this.get();if(u>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,p[d],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},tr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rr=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ce=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var bi=BigInt(4294967295),_l=BigInt(32);function pf(e,t=!1){return t?{h:Number(e&bi),l:Number(e>>_l&bi)}:{h:Number(e>>_l&bi)|0,l:Number(e&bi)|0}}function yl(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=pf(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var sa=(e,t,r)=>e>>>r,aa=(e,t,r)=>e<<32-r|t>>>r,wn=(e,t,r)=>e>>>r|t<<32-r,Tn=(e,t,r)=>e<<32-r|t>>>r,wo=(e,t,r)=>e<<64-r|t>>>r-32,To=(e,t,r)=>e>>>r-32|t<<64-r;function St(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var gl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),xl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,bl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),wl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Tl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Nl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var hf=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ir=new Uint32Array(64),wi=class extends bo{constructor(t=32){super(64,t,8,!1),this.A=tr[0]|0,this.B=tr[1]|0,this.C=tr[2]|0,this.D=tr[3]|0,this.E=tr[4]|0,this.F=tr[5]|0,this.G=tr[6]|0,this.H=tr[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)Ir[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=Ir[d-15],f=Ir[d-2],h=yt(l,7)^yt(l,18)^l>>>3,_=yt(f,17)^yt(f,19)^f>>>10;Ir[d]=_+Ir[d-7]+h+Ir[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=yt(a,6)^yt(a,11)^yt(a,25),f=p+l+hl(a,c,u)+hf[d]+Ir[d]|0,_=(yt(n,2)^yt(n,13)^yt(n,22))+ml(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,p=p+this.H|0,this.set(n,o,i,s,a,c,u,p)}roundClean(){bn(Ir)}destroy(){this.set(0,0,0,0,0,0,0,0),bn(this.buffer)}},ca=class extends wi{constructor(){super(28),this.A=rr[0]|0,this.B=rr[1]|0,this.C=rr[2]|0,this.D=rr[3]|0,this.E=rr[4]|0,this.F=rr[5]|0,this.G=rr[6]|0,this.H=rr[7]|0}},Ol=yl(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),mf=Ol[0],_f=Ol[1],vr=new Uint32Array(80),Ar=new Uint32Array(80),la=class extends bo{constructor(t=64){super(128,t,16,!1),this.Ah=Ce[0]|0,this.Al=Ce[1]|0,this.Bh=Ce[2]|0,this.Bl=Ce[3]|0,this.Ch=Ce[4]|0,this.Cl=Ce[5]|0,this.Dh=Ce[6]|0,this.Dl=Ce[7]|0,this.Eh=Ce[8]|0,this.El=Ce[9]|0,this.Fh=Ce[10]|0,this.Fl=Ce[11]|0,this.Gh=Ce[12]|0,this.Gl=Ce[13]|0,this.Hh=Ce[14]|0,this.Hl=Ce[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:_,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)vr[y]=t.getUint32(r),Ar[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=vr[y-15]|0,E=Ar[y-15]|0,O=wn(T,E,1)^wn(T,E,8)^sa(T,E,7),R=Tn(T,E,1)^Tn(T,E,8)^aa(T,E,7),v=vr[y-2]|0,w=Ar[y-2]|0,I=wn(v,w,19)^wo(v,w,61)^sa(v,w,6),F=Tn(v,w,19)^To(v,w,61)^aa(v,w,6),S=bl(R,F,Ar[y-7],Ar[y-16]),b=wl(S,O,I,vr[y-7],vr[y-16]);vr[y]=b|0,Ar[y]=S|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:_,Gl:g,Hh:m,Hl:x}=this;for(let y=0;y<80;y++){let T=wn(d,l,14)^wn(d,l,18)^wo(d,l,41),E=Tn(d,l,14)^Tn(d,l,18)^To(d,l,41),O=d&f^~d&_,R=l&h^~l&g,v=Tl(x,E,R,_f[y],Ar[y]),w=Nl(v,m,T,O,mf[y],vr[y]),I=v|0,F=wn(n,o,28)^wo(n,o,34)^wo(n,o,39),S=Tn(n,o,28)^To(n,o,34)^To(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,x=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=St(u|0,p|0,w|0,I|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let C=gl(I,S,N);n=xl(C,w,F,b),o=C|0}({h:n,l:o}=St(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=St(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=St(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=St(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=St(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=St(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=St(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=St(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,_,g,m,x)}roundClean(){bn(vr,Ar)}destroy(){bn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Pe=xi(()=>new wi),El=xi(()=>new ca),Rl=xi(()=>new la);var Ti="__principal__",yf=2,Il=4,gf="aaaaa-aa",U=class e{static anonymous(){return new this(new Uint8Array([Il]))}static managementCanister(){return this.fromText(gf)}static selfAuthenticating(t){let r=El(t);return new this(new Uint8Array([...r,yf]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Ee(t))}static fromText(t){let r=t;if(t.includes(Ti)){let s=JSON.parse(t);Ti in s&&(r=s[Ti])}let n=r.toLowerCase().replace(/-/g,""),o=ll(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Il}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,ul(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=cl(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Ti]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var nr;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(nr||(nr={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
4
4
  Request context:
5
- Request ID (hex): ${this.requestContext.requestId?H(this.requestContext.requestId):"undefined"}
6
- Sender pubkey (hex): ${H(this.requestContext.senderPubKey)}
7
- Sender signature (hex): ${H(this.requestContext.senderSignature)}
5
+ Request ID (hex): ${this.requestContext.requestId?j(this.requestContext.requestId):"undefined"}
6
+ Sender pubkey (hex): ${j(this.requestContext.senderPubKey)}
7
+ Sender signature (hex): ${j(this.requestContext.senderSignature)}
8
8
  Ingress expiry: ${this.requestContext.ingressExpiry.toString()}`),this.callContext&&(t+=`
9
9
  Call context:
10
10
  Canister ID: ${this.callContext.canisterId.toText()}
11
11
  Method name: ${this.callContext.methodName}
12
- HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},ht=class e extends Error{get code(){return this.cause.code}set code(t){this.cause.code=t}get kind(){return this.cause.kind}set kind(t){this.cause.kind=t}get isCertified(){return this.code.isCertified}constructor(t,r){super(t.toString()),this.name="AgentError",this.cause={code:t,kind:r},Object.setPrototypeOf(this,e.prototype)}hasCode(t){return this.code instanceof t}toString(){return`${this.name} (${this.kind}): ${this.message}`}},Jt=class extends ht{static fromCode(t){return new this(t)}},De=class e extends Jt{constructor(t){super(t,Gt.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},ne=class e extends Jt{constructor(t){super(t,Gt.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},gr=class e extends Jt{constructor(t){super(t,Gt.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},xo=class e extends Jt{constructor(t){super(t,Gt.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},Oe=class e extends Jt{constructor(t){super(t,Gt.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var z=class e extends Jt{constructor(t){super(t,Gt.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},xe=class e extends Jt{constructor(t){super(t,Gt.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},xr=class e extends G{constructor(t,r){super(),this.reason=t,this.error=r,this.name="CertificateVerificationErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=this.reason;return this.error&&(t+=`: ${Ro(this.error)}`),`Certificate verification error: "${t}"`}},fn=class e extends G{constructor(t,r,n,o,i){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=i,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Certificate is signed more than ${this.maxAgeInMinutes} minutes in the ${this.ageType}. Certificate time: ${this.certificateTime.toISOString()} Current time: ${this.currentTime.toISOString()} Clock drift: ${this.timeDiffMsecs}ms`}},xi=class e extends G{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Dn=class e extends G{constructor(t,r){super(),this.canisterId=t,this.subnetId=r,this.name="CertificateNotAuthorizedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate contains a delegation that does not include the canister ${this.canisterId.toText()} in the canister_ranges field. Subnet ID: ${this.subnetId.toText()}`}},Wt=class e extends G{constructor(t,r){super(),this.message=t,this.lookupStatus=r,this.name="LookupErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Lookup status: ${this.lookupStatus}`}},Un=class e extends G{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},bi=class e extends G{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},kn=class e extends G{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerKeyLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key must be ${this.expectedLength} bytes long, but is ${this.actualLength} bytes long`}},wi=class e extends G{constructor(t,r){super(),this.expectedPrefix=t,this.actualPrefix=r,this.name="DerPrefixMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key is invalid. Expected the following prefix: ${H(this.expectedPrefix)}, but got ${H(this.actualPrefix)}`}},Ti=class e extends G{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerDecodeLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`DER payload mismatch: Expected length ${this.expectedLength}, actual length: ${this.actualLength}`}},mt=class e extends G{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},bo=class e extends G{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Ni=class e extends G{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Ro(this.error)}, input: ${H(this.input)}`}},Oi=class e extends G{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Ro(this.error)}, input: ${this.value}`}};var hn=class e extends G{constructor(t,r,n){super(),this.message=t,this.requestId=r,this.status=n,this.name="TimeoutWaitingForResponseErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`${this.message}
13
- `;return this.requestId&&(t+=` Request ID: ${H(this.requestId)}
12
+ HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},nt=class e extends Error{get code(){return this.cause.code}set code(t){this.cause.code=t}get kind(){return this.cause.kind}set kind(t){this.cause.kind=t}get isCertified(){return this.code.isCertified}constructor(t,r){super(t.toString()),this.name="AgentError",this.cause={code:t,kind:r},Object.setPrototypeOf(this,e.prototype)}hasCode(t){return this.code instanceof t}toString(){return`${this.name} (${this.kind}): ${this.message}`}},or=class extends nt{static fromCode(t){return new this(t)}},Le=class e extends or{constructor(t){super(t,nr.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},ne=class e extends or{constructor(t){super(t,nr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},Sr=class e extends or{constructor(t){super(t,nr.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},No=class e extends or{constructor(t){super(t,nr.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},ye=class e extends or{constructor(t){super(t,nr.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var Y=class e extends or{constructor(t){super(t,nr.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ce=class e extends or{constructor(t){super(t,nr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},gt=class e extends G{constructor(t,r){super(),this.reason=t,this.error=r,this.name="CertificateVerificationErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=this.reason;return this.error&&(t+=`: ${So(this.error)}`),`Certificate verification error: "${t}"`}},ir=class e extends G{constructor(t,r,n,o,i){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=i,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Certificate is signed more than ${this.maxAgeInMinutes} minutes in the ${this.ageType}. Certificate time: ${this.certificateTime.toISOString()} Current time: ${this.currentTime.toISOString()} Clock drift: ${this.timeDiffMsecs}ms`}},Ni=class e extends G{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Nn=class e extends G{constructor(t,r){super(),this.canisterId=t,this.subnetId=r,this.name="CertificateNotAuthorizedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate contains a delegation that does not include the canister ${this.canisterId.toText()} in the canister_ranges field. Subnet ID: ${this.subnetId.toText()}`}},Oi=class e extends G{constructor(t){super(),this.subnetId=t,this.name="CertificateNotAuthorizedForSubnetErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate is not authorized for subnet ${this.subnetId.toText()}`}},xt=class e extends G{constructor(t,r){super(),this.message=t,this.lookupStatus=r,this.name="LookupErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Lookup status: ${this.lookupStatus}`}},Ei=class e extends G{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Ri=class e extends G{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Kn=class e extends G{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerKeyLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key must be ${this.expectedLength} bytes long, but is ${this.actualLength} bytes long`}},Ii=class e extends G{constructor(t,r){super(),this.expectedPrefix=t,this.actualPrefix=r,this.name="DerPrefixMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key is invalid. Expected the following prefix: ${j(this.expectedPrefix)}, but got ${j(this.actualPrefix)}`}},vi=class e extends G{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerDecodeLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`DER payload mismatch: Expected length ${this.expectedLength}, actual length: ${this.actualLength}`}},bt=class e extends G{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Oo=class e extends G{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Ai=class e extends G{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${So(this.error)}, input: ${j(this.input)}`}},Si=class e extends G{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${So(this.error)}, input: ${this.value}`}};var On=class e extends G{constructor(t,r,n){super(),this.message=t,this.requestId=r,this.status=n,this.name="TimeoutWaitingForResponseErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`${this.message}
13
+ `;return this.requestId&&(t+=` Request ID: ${j(this.requestId)}
14
14
  `),this.status&&(t+=` Request status: ${this.status}
15
- `),t}},Ei=class e extends G{constructor(t,r,n){super(),this.maxIngressExpiryInMinutes=t,this.requestId=r,this.retryTimes=n,this.name="CertificateOutdatedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`Certificate is stale (over ${this.maxIngressExpiryInMinutes} minutes). Is the computer's clock synchronized?
16
- Request ID: ${H(this.requestId)}
17
- `;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},Ln=class e extends G{constructor(t,r,n,o){super(!0),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
18
- Request ID: ${H(this.requestId)}
15
+ `),t}},Ci=class e extends G{constructor(t,r,n){super(),this.maxIngressExpiryInMinutes=t,this.requestId=r,this.retryTimes=n,this.name="CertificateOutdatedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`Certificate is stale (over ${this.maxIngressExpiryInMinutes} minutes). Is the computer's clock synchronized?
16
+ Request ID: ${j(this.requestId)}
17
+ `;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},Hn=class e extends G{constructor(t,r,n,o){super(!0),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
18
+ Request ID: ${j(this.requestId)}
19
19
  Reject code: ${this.rejectCode}
20
20
  Reject text: ${this.rejectMessage}
21
21
  Error code: ${this.rejectErrorCode}
22
- `}},Ri=class e extends G{constructor(t,r,n,o,i){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.signatures=i,this.name="UncertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
23
- Request ID: ${H(this.requestId)}
22
+ `}},Fi=class e extends G{constructor(t,r,n,o,i){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.signatures=i,this.name="UncertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
23
+ Request ID: ${j(this.requestId)}
24
24
  Reject code: ${this.rejectCode}
25
25
  Reject text: ${this.rejectMessage}
26
26
  Error code: ${this.rejectErrorCode}
27
- `}},vi=class e extends G{constructor(t,r,n,o){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="UncertifiedRejectUpdateErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
28
- Request ID: ${H(this.requestId)}
27
+ `}},Pi=class e extends G{constructor(t,r,n,o){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="UncertifiedRejectUpdateErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
28
+ Request ID: ${j(this.requestId)}
29
29
  Reject code: ${this.rejectCode}
30
30
  Reject text: ${this.rejectMessage}
31
31
  Error code: ${this.rejectErrorCode}
32
- `}},Ii=class e extends G{constructor(t){super(),this.requestId=t,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
33
- Request ID: ${H(this.requestId)}
34
- `}},Rt=class e extends G{constructor(t){super(),this.shouldFetchRootKey=t,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.shouldFetchRootKey===void 0?"Agent is missing root key":`Agent is missing root key and the shouldFetchRootKey value is set to ${this.shouldFetchRootKey}. The root key should only be unknown if you are in local development. Otherwise you should avoid fetching and use the default IC Root Key or the known root key of your environment.`}},Ai=class e extends G{constructor(t){super(),this.value=t,this.name="HashValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},qn=class e extends G{constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},br=class e extends G{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}},mn=class e extends G{constructor(t,r){super(),this.message=t,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}},Si=class e extends G{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},Fi=class e extends G{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}},Ci=class e extends G{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},Vi=class e extends G{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},Pi=class e extends G{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Ue=class e extends G{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Ro(this.error)}`}},wr=class e extends G{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},wo=class e extends G{constructor(t,r,n,o){super(),this.status=t,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`HTTP request failed:
32
+ `}},Vi=class e extends G{constructor(t){super(),this.requestId=t,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
33
+ Request ID: ${j(this.requestId)}
34
+ `}},at=class e extends G{constructor(t){super(),this.shouldFetchRootKey=t,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.shouldFetchRootKey===void 0?"Agent is missing root key":`Agent is missing root key and the shouldFetchRootKey value is set to ${this.shouldFetchRootKey}. The root key should only be unknown if you are in local development. Otherwise you should avoid fetching and use the default IC Root Key or the known root key of your environment.`}},Bi=class e extends G{constructor(t){super(),this.value=t,this.name="HashValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},$n=class e extends G{constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},Cr=class e extends G{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}},Ct=class e extends G{constructor(t,r){super(),this.message=t,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}},Di=class e extends G{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},Ui=class e extends G{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}},ki=class e extends G{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},Li=class e extends G{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},qi=class e extends G{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Re=class e extends G{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${So(this.error)}`}},Fr=class e extends G{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},Eo=class e extends G{constructor(t,r,n,o){super(),this.status=t,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`HTTP request failed:
35
35
  Status: ${this.status} (${this.statusText})
36
36
  Headers: ${JSON.stringify(this.headers)}
37
37
  `;return this.bodyText&&(t+=` Body: ${this.bodyText}
38
- `),t}},To=class e extends G{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},No=class e extends G{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Ro(this.error)}`}},Oo=class e extends G{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},Bi=class e extends G{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Eo=class e extends G{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Ro(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var Tr=new Error("unreachable");var xn={};Up(xn,{Bool:()=>gl,BoolClass:()=>qi,ConstructType:()=>At,Empty:()=>_l,EmptyClass:()=>Io,FixedIntClass:()=>Zt,FixedNatClass:()=>It,Float32:()=>Nl,Float64:()=>Ol,FloatClass:()=>Fo,Func:()=>ql,FuncClass:()=>gn,Int:()=>wl,Int16:()=>Rl,Int32:()=>vl,Int64:()=>Il,Int8:()=>El,IntClass:()=>Ao,Nat:()=>Tl,Nat16:()=>Sl,Nat32:()=>Fl,Nat64:()=>Cl,Nat8:()=>Al,NatClass:()=>So,Null:()=>xl,NullClass:()=>_n,Opt:()=>Dl,OptClass:()=>Er,PrimitiveType:()=>Ge,Principal:()=>Vl,PrincipalClass:()=>Ki,Rec:()=>Ll,RecClass:()=>tt,Record:()=>Ul,RecordClass:()=>yn,Reserved:()=>yl,ReservedClass:()=>St,Service:()=>Ml,ServiceClass:()=>Hn,Text:()=>bl,TextClass:()=>Mi,Tuple:()=>Pl,TupleClass:()=>ji,Type:()=>Mn,Unknown:()=>Zp,UnknownClass:()=>Li,Variant:()=>kl,VariantClass:()=>Kn,Vec:()=>Bl,VecClass:()=>jn,Visitor:()=>ea,decode:()=>Yp,encode:()=>zp,resetSubtypeCache:()=>ta,subtype:()=>na});function Y(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var _t=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=vt(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function vt(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?vt(e.buffer):new Uint8Array(e)}function Ws(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function ul(e,t){return Ws(e,t)===0}function dl(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Wp(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function ke(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return Wp(e)}function zs(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Di(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function pl(){throw new Error("unexpected end of buffer")}function Or(e,t){return e.byteLength<t&&pl(),e.read(t)}function Nr(e){let t=e.readUint8();return t===void 0&&pl(),t}function oe(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:zs(e))+1,r=new _t(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function me(e){let t=BigInt(1),r=BigInt(0),n;do n=Nr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function _e(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:zs(e))+1,n=new _t(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function zt(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return me(e);break}let n=new Uint8Array(Or(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function fl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return Ys(e,t)}function Ys(e,t){e=BigInt(e);let r=new _t(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function Zs(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Nr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Nr(e));r=r+n*i}return r}function hl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Zs(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var X;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(X||(X={}));var Ui="DIDL",ml=400;function vo(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Qs=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+t);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=oe(this._typs.length),r=Y(...this._typs);return Y(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return _e(this._idx.get(t)||0)}},ea=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},K;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(K||(K={}));var Mn=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Ge=class extends Mn{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},At=class extends Mn{checkType(t){if(t instanceof tt){let r=t.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},Io=class extends Ge{get typeName(){return K.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===K.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return _e(X.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Li=class extends Mn{get typeName(){return K.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===K.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof tt?o=()=>r.getType():o=()=>r,Object.defineProperty(n,"type",{value:o,writable:!0,enumerable:!1,configurable:!0}),n}_buildTypeTableImpl(){throw new Error("Unknown cannot be serialized")}get name(){return"Unknown"}},qi=class extends Ge{get typeName(){return K.BoolClass}static[Symbol.hasInstance](t){return t.typeName===K.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return _e(X.Bool)}decodeValue(t,r){switch(this.checkType(r),Nr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},_n=class extends Ge{get typeName(){return K.NullClass}static[Symbol.hasInstance](t){return t.typeName===K.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return _e(X.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},St=class extends Ge{get typeName(){return K.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===K.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return _e(X.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Mi=class extends Ge{get typeName(){return K.TextClass}static[Symbol.hasInstance](t){return t.typeName===K.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=oe(r.byteLength);return Y(n,r)}encodeType(){return _e(X.Text)}decodeValue(t,r){this.checkType(r);let n=me(t),o=Or(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Ao=class extends Ge{get typeName(){return K.IntClass}static[Symbol.hasInstance](t){return t.typeName===K.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return _e(t)}encodeType(){return _e(X.Int)}decodeValue(t,r){return this.checkType(r),zt(t)}get name(){return"int"}valueToString(t){return t.toString()}},So=class extends Ge{get typeName(){return K.NatClass}static[Symbol.hasInstance](t){return t.typeName===K.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return oe(t)}encodeType(){return _e(X.Nat)}decodeValue(t,r){return this.checkType(r),me(t)}get name(){return"nat"}valueToString(t){return t.toString()}},Fo=class extends Ge{get typeName(){return K.FloatClass}static[Symbol.hasInstance](t){return t.typeName===K.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?X.Float32:X.Float64;return _e(t)}decodeValue(t,r){this.checkType(r);let n=Or(t,this._bits/8),o=dl(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},Zt=class extends Ge{get typeName(){return K.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Di(this._bits-1)*BigInt(-1),n=Di(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let i=BigInt(t);o=i>=r&&i<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return Ys(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return _e(-9-t)}decodeValue(t,r){this.checkType(r);let n=hl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},It=class extends Ge{get typeName(){return K.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Di(this._bits),n=!1;if(typeof t=="bigint"&&t>=BigInt(0)?n=t<r:Number.isInteger(t)&&t>=0?n=BigInt(t)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return fl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return _e(-5-t)}decodeValue(t,r){this.checkType(r);let n=Zs(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},jn=class e extends At{get typeName(){return K.VecClass}static[Symbol.hasInstance](t){return t.typeName===K.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof It&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof It?this._type._bits:this._type instanceof Zt?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(i){throw new Error(`Invalid ${this.display()} argument:
38
+ `),t}},Ro=class e extends G{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},Io=class e extends G{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${So(this.error)}`}},vo=class e extends G{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},Mi=class e extends G{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Ao=class e extends G{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function So(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var ct=new Error("unreachable");var vn={};cf(vn,{Bool:()=>Dl,BoolClass:()=>Gi,ConstructType:()=>Vt,Empty:()=>Vl,EmptyClass:()=>Fo,FixedIntClass:()=>cr,FixedNatClass:()=>Pt,Float32:()=>Ml,Float64:()=>jl,FloatClass:()=>Bo,Func:()=>ou,FuncClass:()=>In,Int:()=>Ll,Int16:()=>Hl,Int32:()=>$l,Int64:()=>Gl,Int8:()=>Kl,IntClass:()=>Po,Nat:()=>ql,Nat16:()=>Wl,Nat32:()=>zl,Nat64:()=>Yl,Nat8:()=>Jl,NatClass:()=>Vo,Null:()=>Ul,NullClass:()=>En,Opt:()=>eu,OptClass:()=>Br,PrimitiveType:()=>ze,Principal:()=>Zl,PrincipalClass:()=>zi,Rec:()=>nu,RecClass:()=>lt,Record:()=>tu,RecordClass:()=>Rn,Reserved:()=>Bl,ReservedClass:()=>Bt,Service:()=>iu,ServiceClass:()=>Yn,Text:()=>kl,TextClass:()=>Ji,Tuple:()=>Xl,TupleClass:()=>Wi,Type:()=>Jn,Unknown:()=>Nf,UnknownClass:()=>$i,Variant:()=>ru,VariantClass:()=>zn,Vec:()=>Ql,VecClass:()=>Wn,Visitor:()=>ma,decode:()=>Tf,encode:()=>wf,resetSubtypeCache:()=>_a,subtype:()=>ga});function Z(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var wt=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=Ft(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function Ft(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?Ft(e.buffer):new Uint8Array(e)}function Gn(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function vl(e,t){return Gn(e,t)===0}function Al(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function xf(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function qe(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return xf(e)}function ua(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function ji(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Sl(){throw new Error("unexpected end of buffer")}function Vr(e,t){return e.byteLength<t&&Sl(),e.read(t)}function Pr(e){let t=e.readUint8();return t===void 0&&Sl(),t}function ie(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:ua(e))+1,r=new wt(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function ge(e){let t=BigInt(1),r=BigInt(0),n;do n=Pr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function xe(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:ua(e))+1,n=new wt(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function sr(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return ge(e);break}let n=new Uint8Array(Vr(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function Cl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return da(e,t)}function da(e,t){e=BigInt(e);let r=new wt(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function pa(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Pr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Pr(e));r=r+n*i}return r}function Fl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=pa(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Q;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(Q||(Q={}));var Ki="DIDL",bf=new TextEncoder().encode(Ki),Pl=400;function Co(e,t,r){return e.map((n,o)=>r(n,t[o]))}var ha=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+t);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=ie(this._typs.length),r=Z(...this._typs);return Z(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return xe(this._idx.get(t)||0)}},ma=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},H;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(H||(H={}));var Jn=class{display(){return this.name}valueToString(t){return _e(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},ze=class extends Jn{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},Vt=class extends Jn{checkType(t){if(t instanceof lt){let r=t.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},Fo=class extends ze{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return xe(Q.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},$i=class extends Jn{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof lt?o=()=>r.getType():o=()=>r,Object.defineProperty(n,"type",{value:o,writable:!0,enumerable:!1,configurable:!0}),n}_buildTypeTableImpl(){throw new Error("Unknown cannot be serialized")}get name(){return"Unknown"}},Gi=class extends ze{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return xe(Q.Bool)}decodeValue(t,r){switch(this.checkType(r),Pr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},En=class extends ze{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Bt=class extends ze{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Ji=class extends ze{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=ie(r.byteLength);return Z(n,r)}encodeType(){return xe(Q.Text)}decodeValue(t,r){this.checkType(r);let n=ge(t),o=Vr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Po=class extends ze{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return xe(t)}encodeType(){return xe(Q.Int)}decodeValue(t,r){return this.checkType(r),sr(t)}get name(){return"int"}valueToString(t){return t.toString()}},Vo=class extends ze{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return ie(t)}encodeType(){return xe(Q.Nat)}decodeValue(t,r){return this.checkType(r),ge(t)}get name(){return"nat"}valueToString(t){return t.toString()}},Bo=class extends ze{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?Q.Float32:Q.Float64;return xe(t)}decodeValue(t,r){this.checkType(r);let n=Vr(t,this._bits/8),o=Al(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},cr=class extends ze{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=ji(this._bits-1)*BigInt(-1),n=ji(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let i=BigInt(t);o=i>=r&&i<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return da(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-9-t)}decodeValue(t,r){this.checkType(r);let n=Fl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Pt=class extends ze{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=ji(this._bits),n=!1;if(typeof t=="bigint"&&t>=BigInt(0)?n=t<r:Number.isInteger(t)&&t>=0?n=BigInt(t)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return Cl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-5-t)}decodeValue(t,r){this.checkType(r);let n=pa(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Wn=class e extends Vt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof Pt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Pt?this._type._bits:this._type instanceof cr?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(i){throw new Error(`Invalid ${this.display()} argument:
39
39
 
40
- index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=oe(t.length);if(this._blobOptimization)return Y(r,new Uint8Array(t));if(ArrayBuffer.isView(t))if(t instanceof Int16Array||t instanceof Uint16Array){let o=new DataView(new ArrayBuffer(t.length*2));for(let i=0;i<t.length;i++)t instanceof Int16Array?o.setInt16(i*2,t[i],!0):o.setUint16(i*2,t[i],!0);return Y(r,new Uint8Array(o.buffer))}else if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let i=0;i<t.length;i++)t instanceof Int32Array?o.setInt32(i*4,t[i],!0):o.setUint32(i*4,t[i],!0);return Y(r,new Uint8Array(o.buffer))}else if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let i=0;i<t.length;i++)t instanceof BigInt64Array?o.setBigInt64(i*8,t[i],!0):o.setBigUint64(i*8,t[i],!0);return Y(r,new Uint8Array(o.buffer))}else return Y(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new _t(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let i=this._type.encodeValue(o);n.write(new Uint8Array(i))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=_e(X.Vector),n=this._type.encodeType(t);t.add(this,Y(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a vector type");let o=Number(me(t));if(this._type instanceof It){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2);return new Uint16Array(s.buffer,s.byteOffset,o)}if(this._type._bits==32){let s=t.read(o*4);return new Uint32Array(s.buffer,s.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof Zt){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int16Array(o);for(let u=0;u<o;u++)c[u]=a.getInt16(u*2,!0);return c}if(this._type._bits==32){let s=t.read(o*4),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int32Array(o);for(let u=0;u<o;u++)c[u]=a.getInt32(u*4,!0);return c}if(this._type._bits==64){let s=t.read(o*8),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new BigInt64Array(o);for(let u=0;u<o;u++)c[u]=a.getBigInt64(u*8,!0);return c}}let i=[];for(let s=0;s<o;s++)i.push(this._type.decodeValue(t,n._type));return i}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(t){return"vec {"+t.map(n=>this._type.valueToString(n)).join("; ")+"}"}},Er=class e extends At{get typeName(){return K.OptClass}static[Symbol.hasInstance](t){return t.typeName===K.OptClass}constructor(t){super(),this._type=t}accept(t,r){return t.visitOpt(this,this._type,r)}covariant(t){try{if(Array.isArray(t)&&(t.length===0||t.length===1&&this._type.covariant(t[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${he(t)}
40
+ index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=ie(t.length);if(this._blobOptimization)return Z(r,new Uint8Array(t));if(ArrayBuffer.isView(t))if(t instanceof Int16Array||t instanceof Uint16Array){let o=new DataView(new ArrayBuffer(t.length*2));for(let i=0;i<t.length;i++)t instanceof Int16Array?o.setInt16(i*2,t[i],!0):o.setUint16(i*2,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let i=0;i<t.length;i++)t instanceof Int32Array?o.setInt32(i*4,t[i],!0):o.setUint32(i*4,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let i=0;i<t.length;i++)t instanceof BigInt64Array?o.setBigInt64(i*8,t[i],!0):o.setBigUint64(i*8,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else return Z(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new wt(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let i=this._type.encodeValue(o);n.write(new Uint8Array(i))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=xe(Q.Vector),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a vector type");let o=Number(ge(t));if(this._type instanceof Pt){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2);return new Uint16Array(s.buffer,s.byteOffset,o)}if(this._type._bits==32){let s=t.read(o*4);return new Uint32Array(s.buffer,s.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof cr){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int16Array(o);for(let u=0;u<o;u++)c[u]=a.getInt16(u*2,!0);return c}if(this._type._bits==32){let s=t.read(o*4),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int32Array(o);for(let u=0;u<o;u++)c[u]=a.getInt32(u*4,!0);return c}if(this._type._bits==64){let s=t.read(o*8),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new BigInt64Array(o);for(let u=0;u<o;u++)c[u]=a.getBigInt64(u*8,!0);return c}}let i=[];for(let s=0;s<o;s++)i.push(this._type.decodeValue(t,n._type));return i}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(t){return"vec {"+t.map(n=>this._type.valueToString(n)).join("; ")+"}"}},Br=class e extends Vt{get typeName(){return H.OptClass}static[Symbol.hasInstance](t){return t.typeName===H.OptClass}constructor(t){super(),this._type=t}accept(t,r){return t.visitOpt(this,this._type,r)}covariant(t){try{if(Array.isArray(t)&&(t.length===0||t.length===1&&this._type.covariant(t[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}
41
41
 
42
- -> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):Y(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=_e(X.Opt),n=this._type.encodeType(t);t.add(this,Y(r,n))}decodeValue(t,r){if(r instanceof _n)return[];if(r instanceof St)return[];let n=r;if(r instanceof tt){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof e)switch(Nr(t)){case 0:return[];case 1:{let o=t.save();try{return[this._type.decodeValue(t,n._type)]}catch{return t.restore(o),n._type.decodeValue(t,n._type),[]}}default:throw new Error("Not an option value")}else{if(this._type instanceof _n||this._type instanceof e||this._type instanceof St)return n.decodeValue(t,n),[];{let o=t.save();try{return[this._type.decodeValue(t,r)]}catch{return t.restore(o),n.decodeValue(t,r),[]}}}}get name(){return`opt ${this._type.name}`}display(){return`opt ${this._type.display()}`}valueToString(t){return t.length===0?"null":`opt ${this._type.valueToString(t[0])}`}},yn=class e extends At{get typeName(){return K.RecordClass}static[Symbol.hasInstance](t){return t.typeName===K.RecordClass||t.typeName===K.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>ke(r[0])-ke(n[0]))}accept(t,r){return t.visitRecord(this,this._fields,r)}tryAsTuple(){let t=[];for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(n!==`_${r}_`)return null;t.push(o)}return t}covariant(t){if(typeof t=="object"&&this._fields.every(([r,n])=>{if(!t.hasOwnProperty(r))throw new Error(`Record is missing key "${r}".`);try{return n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
42
+ -> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):Z(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=xe(Q.Opt),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){if(r instanceof En)return[];if(r instanceof Bt)return[];let n=r;if(r instanceof lt){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof e)switch(Pr(t)){case 0:return[];case 1:{let o=t.save();try{return[this._type.decodeValue(t,n._type)]}catch{return t.restore(o),n._type.decodeValue(t,n._type),[]}}default:throw new Error("Not an option value")}else{if(this._type instanceof En||this._type instanceof e||this._type instanceof Bt)return n.decodeValue(t,n),[];{let o=t.save();try{return[this._type.decodeValue(t,r)]}catch{return t.restore(o),n.decodeValue(t,r),[]}}}}get name(){return`opt ${this._type.name}`}display(){return`opt ${this._type.display()}`}valueToString(t){return t.length===0?"null":`opt ${this._type.valueToString(t[0])}`}},Rn=class e extends Vt{get typeName(){return H.RecordClass}static[Symbol.hasInstance](t){return t.typeName===H.RecordClass||t.typeName===H.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>qe(r[0])-qe(n[0]))}accept(t,r){return t.visitRecord(this,this._fields,r)}tryAsTuple(){let t=[];for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(n!==`_${r}_`)return null;t.push(o)}return t}covariant(t){if(typeof t=="object"&&this._fields.every(([r,n])=>{if(!t.hasOwnProperty(r))throw new Error(`Record is missing key "${r}".`);try{return n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
43
43
 
44
- field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=vo(this._fields,r,([,o],i)=>o.encodeValue(i));return Y(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=_e(X.Record),n=oe(this._fields.length),o=this._fields.map(([i,s])=>Y(oe(ke(i)),s.encodeType(t)));t.add(this,Y(r,n,Y(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a record type");let o={},i=0,s=0;for(;s<n._fields.length;){let[a,c]=n._fields[s];if(i>=this._fields.length){c.decodeValue(t,c),s++;continue}let[u,p]=this._fields[i],d=ke(this._fields[i][0]),l=ke(a);if(d===l)o[u]=p.decodeValue(t,c),i++,s++;else if(l>d)if(p instanceof Er||p instanceof St)o[u]=[],i++;else throw new Error("Cannot find required field "+u);else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof Er||c instanceof St)o[a]=[];else throw new Error("Cannot find required field "+a);return o}get fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[ke(r)]=n;return t}get name(){return`record {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`record {${this._fields.map(([r,n])=>r+":"+n.display()).join("; ")}}`}valueToString(t){let r=this._fields.map(([o])=>t[o]);return`record {${vo(this._fields,r,([o,i],s)=>o+"="+i.valueToString(s)).join("; ")}}`}},ji=class e extends yn{get typeName(){return K.TupleClass}static[Symbol.hasInstance](t){return t.typeName===K.TupleClass}constructor(t){let r={};t.forEach((n,o)=>r["_"+o+"_"]=n),super(r),this._components=t}accept(t,r){return t.visitTuple(this,this._components,r)}covariant(t){if(Array.isArray(t)&&t.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(t[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
44
+ field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Co(this._fields,r,([,o],i)=>o.encodeValue(i));return Z(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=xe(Q.Record),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(qe(i)),s.encodeType(t)));t.add(this,Z(r,n,Z(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a record type");let o={},i=0,s=0;for(;s<n._fields.length;){let[a,c]=n._fields[s];if(i>=this._fields.length){c.decodeValue(t,c),s++;continue}let[u,p]=this._fields[i],d=qe(this._fields[i][0]),l=qe(a);if(d===l)o[u]=p.decodeValue(t,c),i++,s++;else if(l>d)if(p instanceof Br||p instanceof Bt)o[u]=[],i++;else throw new Error("Cannot find required field "+u);else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof Br||c instanceof Bt)o[a]=[];else throw new Error("Cannot find required field "+a);return o}get fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[qe(r)]=n;return t}get name(){return`record {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`record {${this._fields.map(([r,n])=>r+":"+n.display()).join("; ")}}`}valueToString(t){let r=this._fields.map(([o])=>t[o]);return`record {${Co(this._fields,r,([o,i],s)=>o+"="+i.valueToString(s)).join("; ")}}`}},Wi=class e extends Rn{get typeName(){return H.TupleClass}static[Symbol.hasInstance](t){return t.typeName===H.TupleClass}constructor(t){let r={};t.forEach((n,o)=>r["_"+o+"_"]=n),super(r),this._components=t}accept(t,r){return t.visitTuple(this,this._components,r)}covariant(t){if(Array.isArray(t)&&t.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(t[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
45
45
 
46
- index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=vo(this._components,t,(n,o)=>n.encodeValue(o));return Y(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("not a tuple type");if(n._components.length<this._components.length)throw new Error("tuple mismatch");let o=[];for(let[i,s]of n._components.entries())i>=this._components.length?s.decodeValue(t,s):o.push(this._components[i].decodeValue(t,s));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(t){return`record {${vo(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},Kn=class e extends At{get typeName(){return K.VariantClass}static[Symbol.hasInstance](t){return t.typeName===K.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>ke(r[0])-ke(n[0]))}accept(t,r){return t.visitVariant(this,this._fields,r)}covariant(t){if(typeof t=="object"&&Object.entries(t).length===1&&this._fields.every(([r,n])=>{try{return!t.hasOwnProperty(r)||n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
46
+ index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=Co(this._components,t,(n,o)=>n.encodeValue(o));return Z(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("not a tuple type");if(n._components.length<this._components.length)throw new Error("tuple mismatch");let o=[];for(let[i,s]of n._components.entries())i>=this._components.length?s.decodeValue(t,s):o.push(this._components[i].decodeValue(t,s));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(t){return`record {${Co(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},zn=class e extends Vt{get typeName(){return H.VariantClass}static[Symbol.hasInstance](t){return t.typeName===H.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>qe(r[0])-qe(n[0]))}accept(t,r){return t.visitVariant(this,this._fields,r)}covariant(t){if(typeof t=="object"&&Object.entries(t).length===1&&this._fields.every(([r,n])=>{try{return!t.hasOwnProperty(r)||n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
47
47
 
48
- variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=oe(r),s=o.encodeValue(t[n]);return Y(i,s)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=_e(X.Variant),n=oe(this._fields.length),o=this._fields.map(([i,s])=>Y(oe(ke(i)),s.encodeType(t)));t.add(this,Y(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a variant type");let o=Number(me(t));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[i,s]=n._fields[o];for(let[a,c]of this._fields)if(ke(i)===ke(a)){let u=c.decodeValue(t,s);return{[a]:u}}throw new Error("Cannot find field hash "+i)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(t){for(let[r,n]of this._fields)if(t.hasOwnProperty(r)){let o=n.valueToString(t[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+t)}get alternativesAsObject(){let t={};for(let[r,n]of this._fields)t[ke(r)]=n;return t}},tt=class e extends At{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return K.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===K.RecClass}accept(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return t.visitRec(this,this._type,r)}fill(t){this._type=t}getType(){return this._type}covariant(t){if(this._type&&this._type.covariant(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(t)}_buildTypeTableImpl(t){if(!this._type)throw Error("Recursive type uninitialized.");t.add(this,new Uint8Array([])),this._type.buildTypeTable(t),t.merge(this,this._type.name)}decodeValue(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(t,r)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(t)}};function ra(e){if(Nr(e)!==1)throw new Error("Cannot decode principal");let r=Number(me(e));return M.fromUint8Array(new Uint8Array(Or(e,r)))}var Ki=class extends Ge{get typeName(){return K.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===K.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.byteLength);return Y(new Uint8Array([1]),n,r)}encodeType(){return _e(X.Principal)}decodeValue(t,r){return this.checkType(r),ra(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},gn=class extends At{get typeName(){return K.FuncClass}static[Symbol.hasInstance](t){return t.typeName===K.FuncClass}static argsToString(t,r){if(t.length!==r.length)throw new Error("arity mismatch");return"("+t.map((n,o)=>n.valueToString(r[o])).join(", ")+")"}constructor(t,r,n=[]){super(),this.argTypes=t,this.retTypes=r,this.annotations=n}accept(t,r){return t.visitFunc(this,r)}covariant(t){if(Array.isArray(t)&&t.length===2&&t[0]&&t[0]._isPrincipal&&typeof t[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=oe(n.byteLength),i=Y(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=oe(s.byteLength);return Y(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=_e(X.Func),n=oe(this.argTypes.length),o=Y(...this.argTypes.map(u=>u.encodeType(t))),i=oe(this.retTypes.length),s=Y(...this.retTypes.map(u=>u.encodeType(t))),a=oe(this.annotations.length),c=Y(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,Y(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof tt?r.getType()??r:r;if(!na(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Nr(t)!==1)throw new Error("Cannot decode function reference");let i=ra(t),s=Number(me(t)),a=Or(t,s),u=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,u]}get name(){let t=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=" "+this.annotations.join(" ");return`(${t}) -> (${r})${n}`}valueToString([t,r]){return`func "${t.toText()}".${r}`}display(){let t=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=" "+this.annotations.join(" ");return`(${t}) \u2192 (${r})${n}`}encodeAnnotation(t){if(t==="query")return new Uint8Array([1]);if(t==="oneway")return new Uint8Array([2]);if(t==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},Hn=class extends At{get typeName(){return K.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===K.ServiceClass}constructor(t){super(),this._fields=Object.entries(t).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(t,r){return t.visitService(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.length);return Y(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=_e(X.Service),n=oe(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=oe(a.length);return Y(c,a,s.encodeType(t))});t.add(this,Y(r,n,...o))}decodeValue(t,r){let n=r instanceof tt?r.getType()??r:r;if(!na(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return ra(t)}get name(){return`service {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}valueToString(t){return`service "${t.toText()}"`}fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[r]=n;return t}};function he(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>ml?t.substring(0,ml-3)+"...":t}function zp(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new Qs;e.forEach(c=>c.buildTypeTable(r));let n=new TextEncoder().encode(Ui),o=r.encode(),i=oe(t.length),s=Y(...e.map(c=>c.encodeType(r))),a=Y(...vo(e,t,(c,u)=>{try{c.covariant(u)}catch(p){throw new Error(p.message+`
48
+ variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=ie(r),s=o.encodeValue(t[n]);return Z(i,s)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=xe(Q.Variant),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(qe(i)),s.encodeType(t)));t.add(this,Z(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a variant type");let o=Number(ge(t));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[i,s]=n._fields[o];for(let[a,c]of this._fields)if(qe(i)===qe(a)){let u=c.decodeValue(t,s);return{[a]:u}}throw new Error("Cannot find field hash "+i)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(t){for(let[r,n]of this._fields)if(t.hasOwnProperty(r)){let o=n.valueToString(t[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+t)}get alternativesAsObject(){let t={};for(let[r,n]of this._fields)t[qe(r)]=n;return t}},lt=class e extends Vt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return H.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===H.RecClass}accept(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return t.visitRec(this,this._type,r)}fill(t){this._type=t}getType(){return this._type}covariant(t){if(this._type&&this._type.covariant(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(t)}_buildTypeTableImpl(t){if(!this._type)throw Error("Recursive type uninitialized.");t.add(this,new Uint8Array([])),this._type.buildTypeTable(t),t.merge(this,this._type.name)}decodeValue(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(t,r)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(t)}};function ya(e){if(Pr(e)!==1)throw new Error("Cannot decode principal");let r=Number(ge(e));return U.fromUint8Array(new Uint8Array(Vr(e,r)))}var zi=class extends ze{get typeName(){return H.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===H.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ie(r.byteLength);return Z(new Uint8Array([1]),n,r)}encodeType(){return xe(Q.Principal)}decodeValue(t,r){return this.checkType(r),ya(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},In=class extends Vt{get typeName(){return H.FuncClass}static[Symbol.hasInstance](t){return t.typeName===H.FuncClass}static argsToString(t,r){if(t.length!==r.length)throw new Error("arity mismatch");return"("+t.map((n,o)=>n.valueToString(r[o])).join(", ")+")"}constructor(t,r,n=[]){super(),this.argTypes=t,this.retTypes=r,this.annotations=n}accept(t,r){return t.visitFunc(this,r)}covariant(t){if(Array.isArray(t)&&t.length===2&&t[0]&&t[0]._isPrincipal&&typeof t[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=ie(n.byteLength),i=Z(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=ie(s.byteLength);return Z(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=xe(Q.Func),n=ie(this.argTypes.length),o=Z(...this.argTypes.map(u=>u.encodeType(t))),i=ie(this.retTypes.length),s=Z(...this.retTypes.map(u=>u.encodeType(t))),a=ie(this.annotations.length),c=Z(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,Z(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof lt?r.getType()??r:r;if(!ga(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Pr(t)!==1)throw new Error("Cannot decode function reference");let i=ya(t),s=Number(ge(t)),a=Vr(t,s),u=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,u]}get name(){let t=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=" "+this.annotations.join(" ");return`(${t}) -> (${r})${n}`}valueToString([t,r]){return`func "${t.toText()}".${r}`}display(){let t=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=" "+this.annotations.join(" ");return`(${t}) \u2192 (${r})${n}`}encodeAnnotation(t){if(t==="query")return new Uint8Array([1]);if(t==="oneway")return new Uint8Array([2]);if(t==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},Yn=class extends Vt{get typeName(){return H.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===H.ServiceClass}constructor(t){super(),this._fields=Object.entries(t).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(t,r){return t.visitService(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ie(r.length);return Z(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=xe(Q.Service),n=ie(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=ie(a.length);return Z(c,a,s.encodeType(t))});t.add(this,Z(r,n,...o))}decodeValue(t,r){let n=r instanceof lt?r.getType()??r:r;if(!ga(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return ya(t)}get name(){return`service {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}valueToString(t){return`service "${t.toText()}"`}fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[r]=n;return t}};function _e(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>Pl?t.substring(0,Pl-3)+"...":t}function wf(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new ha;e.forEach(a=>a.buildTypeTable(r));let n=r.encode(),o=ie(t.length),i=Z(...e.map(a=>a.encodeType(r))),s=Z(...Co(e,t,(a,c)=>{try{a.covariant(c)}catch(u){throw new Error(u.message+`
49
49
 
50
- `)}return c.encodeValue(u)}));return Y(n,o,i,s,a)}function Yp(e,t){let r=new _t(t);if(t.byteLength<Ui.length)throw new Error("Message length smaller than magic number");let n=Or(r,Ui.length),o=new TextDecoder().decode(n);if(o!==Ui)throw new Error("Wrong magic number: "+JSON.stringify(o));function i(l){let f=[],h=Number(me(l));for(let _=0;_<h;_++){let x=Number(zt(l));switch(x){case X.Opt:case X.Vector:{let y=Number(zt(l));f.push([x,y]);break}case X.Record:case X.Variant:{let y=[],T=Number(me(l)),E;for(;T--;){let O=Number(me(l));if(O>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof E=="number"&&E>=O)throw new Error("field id collision or not sorted");E=O;let R=Number(zt(l));y.push([O,R])}f.push([x,y]);break}case X.Func:{let y=[],T=Number(me(l));for(;T--;)y.push(Number(zt(l)));let E=[],O=Number(me(l));for(;O--;)E.push(Number(zt(l)));let R=[],I=Number(me(l));for(;I--;)switch(Number(me(l))){case 1:{R.push("query");break}case 2:{R.push("oneway");break}case 3:{R.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[y,E,R]]);break}case X.Service:{let y=Number(me(l)),T=[];for(;y--;){let E=Number(me(l)),O=new TextDecoder().decode(Or(l,E)),R=zt(l);T.push([O,R])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let m=[],g=Number(me(l));for(let _=0;_<g;_++)m.push(Number(zt(l)));return[f,m]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(l=>Ll());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return xl;case-2:return gl;case-3:return Tl;case-4:return wl;case-5:return Al;case-6:return Sl;case-7:return Fl;case-8:return Cl;case-9:return El;case-10:return Rl;case-11:return vl;case-12:return Il;case-13:return Nl;case-14:return Ol;case-15:return bl;case-16:return yl;case-17:return _l;case-24:return Vl;default:throw new Error("Illegal op_code: "+l)}if(l>=s.length)throw new Error("type index out of range");return c[l]}function p(l){switch(l[0]){case X.Vector:{let f=u(l[1]);return Bl(f)}case X.Opt:{let f=u(l[1]);return Dl(f)}case X.Record:{let f={};for(let[g,_]of l[1]){let x=`_${g}_`;f[x]=u(_)}let h=Ul(f),m=h.tryAsTuple();return Array.isArray(m)?Pl(...m):h}case X.Variant:{let f={};for(let[h,m]of l[1]){let g=`_${h}_`;f[g]=u(m)}return kl(f)}case X.Func:{let[f,h,m]=l[1];return ql(f.map(g=>u(g)),h.map(g=>u(g)),m)}case X.Service:{let f={},h=l[1];for(let[m,g]of h){let _=u(g);if(_ instanceof tt&&(_=_.getType()),!(_ instanceof gn))throw new Error("Illegal service definition: services can only contain functions");f[m]=_}return Ml(f)}default:throw new Error("Illegal op_code: "+l[0])}}s.forEach((l,f)=>{if(l[0]===X.Func){let h=p(l);c[f].fill(h)}}),s.forEach((l,f)=>{if(l[0]!==X.Func){let h=p(l);c[f].fill(h)}}),ta();let d=a.map(l=>u(l));try{let l=e.map((f,h)=>f.decodeValue(r,d[h]));for(let f=e.length;f<d.length;f++)d[f].decodeValue(r,d[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return l}finally{ta()}}var _l=new Io,yl=new St,Zp=new Li,gl=new qi,xl=new _n,bl=new Mi,wl=new Ao,Tl=new So,Nl=new Fo(32),Ol=new Fo(64),El=new Zt(8),Rl=new Zt(16),vl=new Zt(32),Il=new Zt(64),Al=new It(8),Sl=new It(16),Fl=new It(32),Cl=new It(64),Vl=new Ki;function Pl(...e){return new ji(e)}function Bl(e){return new jn(e)}function Dl(e){return new Er(e)}function Ul(e){return new yn(e)}function kl(e){return new Kn(e)}function Ll(){return new tt}function ql(e,t,r=[]){return new gn(e,t,r)}function Ml(e){return new Hn(e)}var Hi=class e{constructor(t=new Map){this.rels=t}copy(){let t=new Map;for(let[r,n]of this.rels.entries()){let o=new Map(n);t.set(r,o)}return new e(t)}known(t,r){return this.rels.get(t.name)?.get(r.name)}addNegative(t,r){this.addNames(t.name,r.name,!1)}add(t,r){this.addNames(t.name,r.name,!0)}display(){let t="";for(let[r,n]of this.rels)for(let[o,i]of n)t+=`${r} ${i?":<":"!<:"} ${o}
51
- `;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}},ki=new Hi;function ta(){ki=new Hi}function Xp(e,t){let r=new Set(e.annotations),n=new Set(t.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function Xs(e){return e instanceof Er||e instanceof _n||e instanceof St}function na(e,t){let r=ki.copy(),n=Yt(r,e,t);return n?ki.add(e,t):ki.addNegative(e,t),n}function Yt(e,t,r){if(t.name===r.name)return!0;let n=e.known(t,r);if(n!==void 0)return n;if(e.add(t,r),r instanceof St||t instanceof Io||t instanceof So&&r instanceof Ao)return!0;if(t instanceof jn&&r instanceof jn)return Yt(e,t._type,r._type);if(r instanceof Er)return!0;if(t instanceof yn&&r instanceof yn){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[ke(i)];if(a){if(!Yt(e,a,s))return!1}else if(!Xs(s))return!1}return!0}if(t instanceof gn&&r instanceof gn){if(!Xp(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!Yt(e,r.argTypes[o],i))return!1}else if(!Xs(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!Yt(e,t.retTypes[o],i))return!1}else if(!Xs(i))return!1}return!0}if(t instanceof Kn&&r instanceof Kn){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[ke(i)];if(!a||!Yt(e,s,a))return!1}return!0}if(t instanceof Hn&&r instanceof Hn){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!Yt(e,a,s))return!1}return!0}return t instanceof tt?Yt(e,t.getType(),r):r instanceof tt?Yt(e,t,r.getType()):!1}function $n(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?$n(e.buffer):new Uint8Array(e)}function bn(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function oa(e){if(typeof e=="string")return jl(e);if(typeof e=="number")return Fe(oe(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Fe($n(e));if(Array.isArray(e)){let t=e.map(oa);return Fe(j(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return Fe(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return oa(e.toHash());if(typeof e=="object")return Co(e);if(typeof e=="bigint")return Fe(oe(e))}throw z.fromCode(new Ai(e))}var jl=e=>{let t=new TextEncoder().encode(e);return Fe(t)};function Xt(e){return Co(e)}function Co(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=jl(s),u=oa(a);return[c,u]}).sort(([s],[a])=>Ws(s,a)),o=j(...n.map(s=>j(...s)));return Fe(o)}var Vo=new TextEncoder().encode(`
52
- ic-request`),ia=new TextEncoder().encode("\vic-response"),sa=new TextEncoder().encode("ic-request-auth-delegation");var Ft=class{getPrincipal(){return this._principal||(this._principal=M.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Xt(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(j(Vo,o))}}}},rt=class{getPrincipal(){return M.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Qt=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Hl=55799,$l=Symbol("CBOR_STOP_CODE"),xt=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(xt||{}),we=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(we||{}),Qp=23,ef=255,tf=65535,rf=4294967295,nf=BigInt("0xffffffffffffffff"),gt=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(gt||{}),Gn=!1;function of(e){return e==null}function Gl(e,t){let r=new Uint8Array(t);return r.set(e),r}var sf=new TextDecoder;function af(e){return(e&224)>>5}function cf(e){return e&31}var Do=new Uint8Array,Po,bt=0;function Jl(e,t){Do=e,bt=0;let r=wn(t);return t?.(r)??r}function wn(e){let[t,r]=$i();switch(t){case we.UnsignedInteger:return Jn(r);case we.NegativeInteger:return pf(r);case we.ByteString:return Wl(r);case we.TextString:return ca(r);case we.Array:return lf(r,e);case we.Map:return df(r,e);case we.Tag:return ff(r,e);case we.Simple:return uf(r)}throw new Qt(`Unsupported major type: ${t}`)}function $i(){let e=Do.at(bt);if(of(e))throw new Qt("Provided CBOR data is empty");let t=af(e),r=cf(e);return bt++,[t,r]}function lf(e,t){let r=Jn(e);if(r===1/0){let o=[],i=wn(t);for(;i!==$l;)o.push(t?.(i)??i),i=wn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=wn(t);n[o]=t?.(i)??i}return n}function uf(e){switch(e){case xt.False:return!1;case xt.True:return!0;case xt.Null:return null;case xt.Undefined:return;case xt.Break:return $l}throw new Qt(`Unrecognized simple type: ${e.toString(2)}`)}function df(e,t){let r=Jn(e),n={};if(r===1/0){let[o,i]=$i();for(;o!==we.Simple&&i!==xt.Break;){let s=ca(i),a=wn(t);n[s]=t?.(a,s)??a,[o,i]=$i()}return n}for(let o=0;o<r;o++){let[i,s]=$i();if(i!==we.TextString)throw new Qt("Map keys must be text strings");let a=ca(s),c=wn(t);n[a]=t?.(c,a)??c}return n}function Jn(e){if(e<=gt.Value)return e;switch(Po=new DataView(Do.buffer,Do.byteOffset+bt),e){case gt.OneByte:return bt++,Po.getUint8(0);case gt.TwoBytes:return bt+=2,Po.getUint16(0,Gn);case gt.FourBytes:return bt+=4,Po.getUint32(0,Gn);case gt.EightBytes:return bt+=8,Po.getBigUint64(0,Gn);case gt.Indefinite:return 1/0;default:throw new Qt(`Unsupported integer info: ${e.toString(2)}`)}}function pf(e){let t=Jn(e);return typeof t=="number"?-1-t:-1n-t}function Wl(e){let t=Jn(e);if(t>Number.MAX_SAFE_INTEGER)throw new Qt("Byte length is too large");let r=Number(t);return bt+=r,Do.slice(bt-r,bt)}function ca(e){let t=Wl(e);return sf.decode(t)}function ff(e,t){let r=Jn(e);if(r===Hl)return wn(t);throw new Qt(`Unsupported tag: ${r}.`)}var Uo=class extends Error{constructor(t){super(t),this.name="SerializationError"}},hf=2*1024,mf=100,_f=new TextEncoder;function Bo(e){return e<<5}var et=new Uint8Array(hf),yt=new DataView(et.buffer),be=0,aa=[];function zl(e,t){be=0;let r=t?.(e)??e;return Of(Hl,r,t),et.slice(0,be)}function la(e,t){if(be>et.length-mf&&(et=Gl(et,et.length*2),yt=new DataView(et.buffer)),e===!1||e===!0||e===null||e===void 0){xf(e);return}if(typeof e=="number"||typeof e=="bigint"){Nf(e);return}if(typeof e=="string"){Xl(e);return}if(e instanceof Uint8Array){Kl(e);return}if(e instanceof ArrayBuffer){Kl(new Uint8Array(e));return}if(Array.isArray(e)){yf(e,t);return}if(typeof e=="object"){gf(e,t);return}throw new Uo(`Unsupported type: ${typeof e}`)}function yf(e,t){Wn(we.Array,e.length),e.forEach((r,n)=>{la(t?.(r,n.toString())??r,t)})}function gf(e,t){aa=Object.entries(e),Wn(we.Map,aa.length),aa.forEach(([r,n])=>{Xl(r),la(t?.(n,r)??n,t)})}function Wn(e,t){if(t<=Qp){yt.setUint8(be++,Bo(e)|Number(t));return}if(t<=ef){yt.setUint8(be++,Bo(e)|gt.OneByte),yt.setUint8(be,Number(t)),be+=1;return}if(t<=tf){yt.setUint8(be++,Bo(e)|gt.TwoBytes),yt.setUint16(be,Number(t),Gn),be+=2;return}if(t<=rf){yt.setUint8(be++,Bo(e)|gt.FourBytes),yt.setUint32(be,Number(t),Gn),be+=4;return}if(t<=nf){yt.setUint8(be++,Bo(e)|gt.EightBytes),yt.setBigUint64(be,BigInt(t),Gn),be+=8;return}throw new Uo(`Value too large to encode: ${t}`)}function xf(e){Wn(we.Simple,bf(e))}function bf(e){if(e===!1)return xt.False;if(e===!0)return xt.True;if(e===null)return xt.Null;if(e===void 0)return xt.Undefined;throw new Uo(`Unrecognized simple value: ${e.toString()}`)}function Yl(e,t){Wn(e,t.length),be>et.length-t.length&&(et=Gl(et,et.length+t.length),yt=new DataView(et.buffer)),et.set(t,be),be+=t.length}function Zl(e,t){Wn(e,t)}function wf(e){Zl(we.UnsignedInteger,e)}function Tf(e){Zl(we.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function Nf(e){e>=0?wf(e):Tf(e)}function Xl(e){Yl(we.TextString,_f.encode(e))}function Kl(e){Yl(we.ByteString,e)}function Of(e,t,r){Wn(we.Tag,e),la(t,r)}function Rf(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function ko(e){try{return zl(e,t=>M.isPrincipal(t)?t.toUint8Array():zn.isExpiry(t)?t.toBigInt():Rf(t)?t.toCborValue():t)}catch(t){throw z.fromCode(new Oi(t,e))}}function Je(e){try{return Jl(e)}catch(t){throw z.fromCode(new Ni(t,e))}}var Gi={encode:ko,decode:Je};var Lo=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var er;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(er||(er={}));var Ji;(function(e){e.Call="call"})(Ji||(Ji={}));var Tn;(function(e){e.Query="query",e.ReadState="read_state"})(Tn||(Tn={}));function qo(){let e=new ArrayBuffer(16),t=new DataView(e),r=Lo(),n=Lo(),o=Lo(),i=Lo();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var Wi="__expiry__",da=BigInt(1e3),vf=BigInt(1e6),Ql=BigInt(60),If=BigInt(90)*da;function eu(e){return e/da}function Af(e){return eu(e)/Ql}var zn=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(t),o=BigInt(Date.now())+n+BigInt(r),i;return n<If?i=eu(o):i=Af(o)*Ql,new e(i*da*vf)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[Wi]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[Wi])try{let n=BigInt(r[Wi]);return new e(n)}catch(n){throw new z(new Eo(`Not a valid BigInt: ${n}`))}throw new z(new Eo(`The input does not contain the key ${Wi}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function pa(e=qo){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===er.Call&&(t.body.nonce=e())}}function zi(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var ha=BigInt(0),Yi=BigInt(1);function Nn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Rr(e,t,r=""){let n=Ot(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function tu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?ha:BigInt("0x"+e)}function We(e){return tu(H(e))}function tr(e){return fe(e),tu(H(Uint8Array.from(e).reverse()))}function Te(e,t){return Ne(e.toString(16).padStart(t*2,"0"))}function ma(e,t){return Te(e,t).reverse()}function de(e,t,r){let n;if(typeof t=="string")try{n=Ne(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(Ot(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function ru(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function _a(e){return Uint8Array.from(e)}var fa=e=>typeof e=="bigint"&&ha<=e;function ya(e,t,r){return fa(e)&&fa(t)&&fa(r)&&t<=e&&e<r}function Zi(e,t,r,n){if(!ya(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function rr(e){let t;for(t=0;e>ha;e>>=Yi,t+=1);return t}function nu(e,t){return e>>BigInt(t)&Yi}var wt=e=>(Yi<<BigInt(e))-Yi;function ou(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function nr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var Yn=()=>{throw new Error("not implemented")};function vr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var Le=BigInt(0),Ee=BigInt(1),On=BigInt(2),su=BigInt(3),au=BigInt(4),cu=BigInt(5),Sf=BigInt(7),lu=BigInt(8),Ff=BigInt(9),uu=BigInt(16);function ae(e,t){let r=e%t;return r>=Le?r:t+r}function Tt(e,t,r){let n=e;for(;t-- >Le;)n*=n,n%=r;return n}function iu(e,t){if(e===Le)throw new Error("invert: expected non-zero number");if(t<=Le)throw new Error("invert: expected positive modulus, got "+t);let r=ae(e,t),n=t,o=Le,i=Ee,s=Ee,a=Le;for(;r!==Le;){let u=n/r,p=n%r,d=o-s*u,l=i-a*u;n=r,r=p,o=s,i=a,s=d,a=l}if(n!==Ee)throw new Error("invert: does not exist");return ae(o,t)}function ga(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function du(e,t){let r=(e.ORDER+Ee)/au,n=e.pow(t,r);return ga(e,n,t),n}function Cf(e,t){let r=(e.ORDER-cu)/lu,n=e.mul(t,On),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,On),o),a=e.mul(i,e.sub(s,e.ONE));return ga(e,a,t),a}function Vf(e){let t=qe(e),r=pu(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Sf)/uu;return(a,c)=>{let u=a.pow(c,s),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let m=a.eql(a.sqr(p),c),g=a.cmov(u,p,m);return ga(a,g,c),g}}function pu(e){if(e<su)throw new Error("sqrt is not defined for small field");let t=e-Ee,r=0;for(;t%On===Le;)t/=On,r++;let n=On,o=qe(e);for(;Mo(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return du;let i=o.pow(n,t),s=(t+Ee)/On;return function(c,u){if(c.is0(u))return u;if(Mo(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),l=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,m=c.sqr(l);for(;!c.eql(m,c.ONE);)if(h++,m=c.sqr(m),h===p)throw new Error("Cannot find square root");let g=Ee<<BigInt(p-h-1),_=c.pow(d,g);p=h,d=c.sqr(_),l=c.mul(l,d),f=c.mul(f,_)}return f}}function Pf(e){return e%au===su?du:e%lu===cu?Cf:e%uu===Ff?Vf(e):pu(e)}var or=(e,t)=>(ae(e,t)&Ee)===Ee,Bf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Xi(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Bf.reduce((n,o)=>(n[o]="function",n),t);return nr(e,r),e}function jo(e,t,r){if(r<Le)throw new Error("invalid exponent, negatives unsupported");if(r===Le)return e.ONE;if(r===Ee)return t;let n=e.ONE,o=t;for(;r>Le;)r&Ee&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ee;return n}function nt(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function Mo(e,t){let r=(e.ORDER-Ee)/On,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function xa(e,t){t!==void 0&&Ms(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function qe(e,t,r=!1,n={}){if(e<=Le)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let l=t;l.BITS&&(o=l.BITS),l.sqrt&&(i=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(s=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:u}=xa(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:wt(c),ZERO:Le,ONE:Ee,allowedLengths:a,create:l=>ae(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return Le<=l&&l<e},is0:l=>l===Le,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ee)===Ee,neg:l=>ae(-l,e),eql:(l,f)=>l===f,sqr:l=>ae(l*l,e),add:(l,f)=>ae(l+f,e),sub:(l,f)=>ae(l-f,e),mul:(l,f)=>ae(l*f,e),pow:(l,f)=>jo(d,l,f),div:(l,f)=>ae(l*iu(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>iu(l,e),sqrt:i||(l=>(p||(p=Pf(e)),p(d,l))),toBytes:l=>r?ma(l,u):Te(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let m=new Uint8Array(u);m.set(l,r?0:m.length-l.length),l=m}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?tr(l):We(l);if(s&&(h=ae(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>nt(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function fu(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Qi(e){let t=fu(e);return t+Math.ceil(t/2)}function ba(e,t,r=!1){let n=e.length,o=fu(t),i=Qi(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?tr(e):We(e),a=ae(s,t-Ee)+Ee;return r?ma(a,o):Te(a,o)}var Zn=BigInt(0),En=BigInt(1);function Ko(e,t){let r=t.negate();return e?r:t}function ot(e,t){let r=nt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function yu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function wa(e,t){yu(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=wt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function hu(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=En);let u=t*n,p=u+Math.abs(a)-1,d=a===0,l=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:l,isNegF:f,offsetF:u}}function Uf(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function kf(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Ta=new WeakMap,gu=new WeakMap;function Na(e){return gu.get(e)||1}function mu(e){if(e!==Zn)throw new Error("invalid wNAF")}var Xn=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>Zn;)r&En&&(n=n.add(o)),o=o.double(),r>>=En;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=wa(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let u=1;u<o;u++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=wa(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=hu(n,a,s);n=c,p?i=i.add(Ko(l,r[f])):o=o.add(Ko(d,r[u]))}return mu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=wa(t,this.bits);for(let s=0;s<i.windows&&n!==Zn;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=hu(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return mu(n),o}getPrecomputes(t,r,n){let o=Ta.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ta.set(r,o))),o}cached(t,r,n){let o=Na(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Na(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){yu(r,this.bits),gu.set(t,r),Ta.delete(t)}hasCache(t){return Na(t)!==1}};function xu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>Zn||n>Zn;)r&En&&(i=i.add(o)),n&En&&(s=s.add(o)),o=o.double(),r>>=En,n>>=En;return{p1:i,p2:s}}function Qn(e,t,r,n){Uf(r,e),kf(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=rr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=wt(c),p=new Array(Number(u)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,l=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let m=0;m<i;m++){let g=n[m],_=Number(g>>BigInt(f)&u);p[_]=p[_].add(r[m])}let h=s;for(let m=p.length-1,g=s;m>0;m--)g=g.add(p[m]),h=h.add(g);if(l=l.add(h),f!==0)for(let m=0;m<c;m++)l=l.double()}return l}function _u(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Xi(t),t}else return qe(e,{isLE:r})}function es(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>Zn))throw new Error(`CURVE.${c} must be positive bigint`)}let o=_u(t.p,r.Fp,n),i=_u(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}var Lf=We;function Ir(e,t){if(Ho(e),Ho(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function qf(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function Ho(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function bu(e){if(!Ot(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?ee(e):e}function Mf(e,t,r,n){fe(e),Ho(r),t=bu(t),t.length>255&&(t=n(j(ee("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=j(t,Ir(t.length,1)),c=Ir(0,i),u=Ir(r,2),p=new Array(s),d=n(j(c,e,u,Ir(0,1),a));p[0]=n(j(d,Ir(1,1),a));for(let f=1;f<=s;f++){let h=[qf(d,p[f-1]),Ir(f+1,1),a];p[f]=n(j(...h))}return j(...p).slice(0,r)}function jf(e,t,r,n,o){if(fe(e),Ho(r),t=bu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(ee("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(Ir(r,2)).update(t).update(Ir(t.length,1)).digest()}function Oa(e,t,r){nr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!ou(r.hash))throw new Error("expected valid hash");fe(e),Ho(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=Mf(e,c,d,s);else if(a==="xof")l=jf(e,c,d,o,s);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let m=new Array(i);for(let g=0;g<i;g++){let _=p*(g+h*i),x=l.subarray(_,_+p);m[g]=ae(Lf(x),n)}f[h]=m}return f}function Ea(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=nt(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var Kf=ee("HashToScalar-");function Ra(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=Oa(i,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=Oa(i,1,c),p=n(u[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:Kf},s);return Oa(i,1,c)[0][0]}}}var wu=(e,t)=>(e+(e>=0?t:-t)/ir)/t;function Hf(e,t,r){let[[n,o],[i,s]]=t,a=wu(s*e,r),c=wu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Rn,l=p<Rn;d&&(u=-u),l&&(p=-p);let f=wt(Math.ceil(rr(r)/2))+Me;if(u<Rn||u>=f||p<Rn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Rn=BigInt(0),Me=BigInt(1),ir=BigInt(2),eo=BigInt(3),va=BigInt(4);function $o(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=de("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function $f(e,t={}){let r=es("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;nr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Wf(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(S,b,N){let{x:F,y:B}=b.toAffine(),L=n.toBytes(F);if(Nn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return j(Gf(A),L)}else return j(Uint8Array.of(4),L,n.toBytes(B))}function l(S){Rr(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,F=S.length,B=S[0],L=S.subarray(1);if(F===b&&(B===2||B===3)){let A=n.fromBytes(L);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let V=m(A),P;try{P=n.sqrt(V)}catch(te){let Q=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+Q)}p();let D=n.isOdd(P);return(B&1)===1!==D&&(P=n.neg(P)),{x:A,y:P}}else if(F===N&&B===4){let A=n.BYTES,V=n.fromBytes(L.subarray(0,A)),P=n.fromBytes(L.subarray(A,A*2));if(!g(V,P))throw new Error("bad point: is not on curve");return{x:V,y:P}}else throw new Error(`bad point: got length ${F}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function m(S){let b=n.sqr(S),N=n.mul(b,S);return n.add(n.add(N,n.mul(S,i.a)),i.b)}function g(S,b){let N=n.sqr(b),F=m(S);return n.eql(N,F)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let _=n.mul(n.pow(i.a,eo),va),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(_,x)))throw new Error("bad curve params: a or b");function y(S,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${S}`);return b}function T(S){if(!(S instanceof w))throw new Error("ProjectivePoint expected")}function E(S){if(!c||!c.basises)throw new Error("no endo");return Hf(S,c.basises,o.ORDER)}let O=vr((S,b)=>{let{X:N,Y:F,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:F};let L=S.is0();b==null&&(b=L?n.ONE:n.inv(B));let A=n.mul(N,b),V=n.mul(F,b),P=n.mul(B,b);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(P,n.ONE))throw new Error("invZ was invalid");return{x:A,y:V}}),R=vr(S=>{if(S.is0()){if(t.allowInfinityPoint&&!n.is0(S.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=S.toAffine();if(!n.isValid(b)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!g(b,N))throw new Error("bad point: equation left != right");if(!S.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function I(S,b,N,F,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=Ko(F,b),N=Ko(B,N),b.add(N)}class w{constructor(b,N,F){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",F),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:F}=b||{};if(!b||!n.isValid(N)||!n.isValid(F))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(F)?w.ZERO:new w(N,F,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Rr(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(de("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return C.createCache(this,b),N||this.multiply(eo),this}assertValidity(){R(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:F,Z:B}=this,{X:L,Y:A,Z:V}=b,P=n.eql(n.mul(N,V),n.mul(L,B)),D=n.eql(n.mul(F,V),n.mul(A,B));return P&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=i,F=n.mul(N,eo),{X:B,Y:L,Z:A}=this,V=n.ZERO,P=n.ZERO,D=n.ZERO,U=n.mul(B,B),te=n.mul(L,L),Q=n.mul(A,A),$=n.mul(B,L);return $=n.add($,$),D=n.mul(B,A),D=n.add(D,D),V=n.mul(b,D),P=n.mul(F,Q),P=n.add(V,P),V=n.sub(te,P),P=n.add(te,P),P=n.mul(V,P),V=n.mul($,V),D=n.mul(F,D),Q=n.mul(b,Q),$=n.sub(U,Q),$=n.mul(b,$),$=n.add($,D),D=n.add(U,U),U=n.add(D,U),U=n.add(U,Q),U=n.mul(U,$),P=n.add(P,U),Q=n.mul(L,A),Q=n.add(Q,Q),U=n.mul(Q,$),V=n.sub(V,U),D=n.mul(Q,te),D=n.add(D,D),D=n.add(D,D),new w(V,P,D)}add(b){T(b);let{X:N,Y:F,Z:B}=this,{X:L,Y:A,Z:V}=b,P=n.ZERO,D=n.ZERO,U=n.ZERO,te=i.a,Q=n.mul(i.b,eo),$=n.mul(N,L),se=n.mul(F,A),pe=n.mul(B,V),Se=n.add(N,F),re=n.add(L,A);Se=n.mul(Se,re),re=n.add($,se),Se=n.sub(Se,re),re=n.add(N,B);let ue=n.add(L,V);return re=n.mul(re,ue),ue=n.add($,pe),re=n.sub(re,ue),ue=n.add(F,B),P=n.add(A,V),ue=n.mul(ue,P),P=n.add(se,pe),ue=n.sub(ue,P),U=n.mul(te,re),P=n.mul(Q,pe),U=n.add(P,U),P=n.sub(se,U),U=n.add(se,U),D=n.mul(P,U),se=n.add($,$),se=n.add(se,$),pe=n.mul(te,pe),re=n.mul(Q,re),se=n.add(se,pe),pe=n.sub($,pe),pe=n.mul(te,pe),re=n.add(re,pe),$=n.mul(se,re),D=n.add(D,$),$=n.mul(ue,re),P=n.mul(Se,P),P=n.sub(P,$),$=n.mul(Se,se),U=n.mul(ue,U),U=n.add(U,$),new w(P,D,U)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let F,B,L=A=>C.cached(this,A,V=>ot(w,V));if(N){let{k1neg:A,k1:V,k2neg:P,k2:D}=E(b),{p:U,f:te}=L(V),{p:Q,f:$}=L(D);B=te.add($),F=I(N.beta,U,Q,A,P)}else{let{p:A,f:V}=L(b);F=A,B=V}return ot(w,[F,B])[0]}multiplyUnsafe(b){let{endo:N}=t,F=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Rn||F.is0())return w.ZERO;if(b===Me)return F;if(C.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:L,k2neg:A,k2:V}=E(b),{p1:P,p2:D}=xu(w,F,L,V);return I(N.beta,P,D,B,A)}else return C.unsafe(F,b)}multiplyAndAddUnsafe(b,N,F){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(F));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===Me?!0:b?b(w,this):C.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===Me?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Nn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return H(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return ot(w,b)}static msm(b,N){return Qn(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply($o(o,b))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let v=o.BITS,C=new Xn(w,t.endo?Math.ceil(v/2):v);return w.BASE.precompute(8),w}function Gf(e){return Uint8Array.of(e?2:3)}function Jf(e,t){let r=e.ORDER,n=Rn;for(let h=r-Me;h%ir===Rn;h/=ir)n+=Me;let o=n,i=ir<<o-Me-Me,s=i*ir,a=(r-Me)/s,c=(a-Me)/ir,u=s-Me,p=i,d=e.pow(t,a),l=e.pow(t,(a+Me)/ir),f=(h,m)=>{let g=d,_=e.pow(m,u),x=e.sqr(_);x=e.mul(x,m);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,_),_=e.mul(y,m),x=e.mul(y,h);let T=e.mul(x,_);y=e.pow(T,p);let E=e.eql(y,e.ONE);_=e.mul(x,l),y=e.mul(T,g),x=e.cmov(_,x,E),T=e.cmov(y,T,E);for(let O=o;O>Me;O--){let R=O-ir;R=ir<<R-Me;let I=e.pow(T,R),w=e.eql(I,e.ONE);_=e.mul(x,g),g=e.mul(g,g),I=e.mul(T,g),x=e.cmov(_,x,w),T=e.cmov(I,T,w)}return{isValid:E,value:x}};if(e.ORDER%va===eo){let h=(e.ORDER-eo)/va,m=e.sqrt(e.neg(t));f=(g,_)=>{let x=e.sqr(_),y=e.mul(g,_);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,m),O=e.mul(e.sqr(T),_),R=e.eql(O,g),I=e.cmov(E,T,R);return{isValid:R,value:I}}}return f}function Ia(e,t){Xi(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let i=Jf(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,p,d,l,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:m,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,m),h=e.cmov(h,g,m);let _=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,_);let x=nt(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Wf(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Aa(e){let{CURVE:t,curveOpts:r}=zf(e),n=$f(t,r);return Zf(e,n)}function zf(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=qe(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function Yf(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Zf(e,t){let{Fp:r,Fn:n}=t;function o(s){return ya(s,Me,n.ORDER)}let i=Yf(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>$o(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Xf=BigInt(0),ts=BigInt(1),Tu=BigInt(2),to=BigInt(3);function Qf(e){let t=[];for(;e>ts;e>>=ts)(e&ts)===Xf?t.unshift(0):(e&to)===to?(t.unshift(-1),e+=ts):t.unshift(1);return t}function Sa(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function eh(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(s==="multiplicative")p=(y,T,E,O,R,I)=>i.mul014(O,y,o.mul(T,R),o.mul(E,I));else if(s==="divisive")p=(y,T,E,O,R,I)=>i.mul034(O,o.mul(E,I),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,Tu));function l(y,T,E,O){let R=o.sqr(E),I=o.sqr(O),w=o.mulByB(o.mul(I,to)),v=o.mul(w,to),C=o.sub(o.sub(o.sqr(o.add(E,O)),I),R),S=o.sub(w,R),b=o.mul(o.sqr(T),to),N=o.neg(C);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,v),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,v),d)),o.mul(o.sqr(w),to)),O=o.mul(R,C),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,I){let w=o.sub(E,o.mul(I,O)),v=o.sub(T,o.mul(R,O)),C=o.sub(o.mul(w,R),o.mul(v,I)),S=o.neg(w),b=v;y.push([C,S,b]);let N=o.sqr(v),F=o.mul(N,v),B=o.mul(N,T),L=o.add(o.sub(F,o.mul(B,Tu)),o.mul(o.sqr(w),O));return T=o.mul(v,L),E=o.sub(o.mul(o.sub(B,L),w),o.mul(F,E)),O=o.mul(O,F),{Rx:T,Ry:E,Rz:O}}let h=Qf(a),m=vr(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,I=O,w=o.neg(O),v=R,C=I,S=o.ONE,b=[];for(let N of h){let F=[];({Rx:v,Ry:C,Rz:S}=l(F,v,C,S)),N&&({Rx:v,Ry:C,Rz:S}=f(F,v,C,S,R,N===-1?w:I)),b.push(F)}if(u){let N=b[b.length-1];u(v,C,S,R,I,f.bind(null,N))}return b});function g(y,T=!1){let E=i.ONE;if(y.length){let O=y[0][0].length;for(let R=0;R<O;R++){E=i.sqr(E);for(let[I,w,v]of y)for(let[C,S,b]of I[R])E=p(C,S,b,E,w,v)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function _(y,T=!0){let E=[];ot(t,y.map(({g1:O})=>O)),ot(r,y.map(({g2:O})=>O));for(let{g1:O,g2:R}of y){if(O.is0()||R.is0())throw new Error("pairing is not available for ZERO point");O.assertValidity(),R.assertValidity();let I=O.toAffine();E.push([m(R),I.x,I.y])}return g(E,T)}function x(y,T,E=!0){return _([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:_,calcPairingPrecomputes:m}}function Nu(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function u(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,l)=>({g1:l,g2:d}):(d,l)=>({g1:d,g2:l});return{getPublicKey(d){let l=$o(t.Point.Fn,d);return t.Point.BASE.multiply(l)},sign(d,l,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=$o(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let m=f.negate(),g=t.Point.BASE,_=u(l),x=d,y=s([p(m,_),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(Sa(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),m=l,g=f.map(a),_=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=m[T],R=_.get(O);R===void 0&&(R=[],_.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of _){let O=E.reduce((R,I)=>R.add(I));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){Sa(d),d=d.map(f=>a(f));let l=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return l.assertValidity(),l},aggregateSignatures(d){Sa(d),d=d.map(f=>c(f));let l=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return l.assertValidity(),l},hash(d,l){fe(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Ou(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Aa(e.G1),a=Object.assign(s,Ra(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Aa(e.G2),u=Object.assign(c,Ra(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=eh(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,m=Nu(p,a,u,e.G2.Signature,!1),g=Nu(p,u,a,e.G1.ShortSignature,!0),_=e.randomBytes||Bn,x=()=>{let A=Qi(r.ORDER);return ba(_(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,V){return A instanceof a.Point?A:g.hash(de("point",A),V?.DST)}function R(A,V){return A instanceof u.Point?A:m.hash(de("point",A),V?.DST)}function I(A){return m.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function v(A,V,P){let D=R(A,P),U=m.sign(D,V);return A instanceof u.Point?U:E.toBytes(U)}function C(A,V,P){let D=O(A,P),U=g.sign(D,V);return A instanceof a.Point?U:T.toBytes(U)}function S(A,V,P,D){let U=R(V,D);return m.verify(A,U,P)}function b(A,V,P,D){let U=O(V,D);return g.verify(A,U,P)}function N(A){let V=m.aggregatePublicKeys(A);return A[0]instanceof a.Point?V:V.toBytes(!0)}function F(A){let V=m.aggregateSignatures(A);return A[0]instanceof u.Point?V:E.toBytes(V)}function B(A){let V=g.aggregateSignatures(A);return A[0]instanceof a.Point?V:T.toBytes(V)}function L(A,V,P,D){let U=V.map(te=>R(te,D));return m.verifyBatch(A,U,P)}return a.Point.BASE.precompute(4),{longSignatures:m,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:L,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:I,getPublicKeyForShortSignatures:w,sign:v,signShortSignature:C,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:F,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var Eu=BigInt(0),sr=BigInt(1),je=BigInt(2),Ru=BigInt(3);function Pa(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=sr;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function Iu(e,t,r){let n=t.pow(r,(e.ORDER-sr)/Ru),o=t.pow(r,(e.ORDER-sr)/je);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),m=t.mul(t.frobeniusMap(f,1),o);return[h,m]}let s=t.pow(r,(e.ORDER**je-sr)/Ru),a=t.pow(r,(e.ORDER**je-sr)/je);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,s),t.neg(f)]}let u=l=>(f,h)=>{let m=h.toAffine(),g=l(m.x,m.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(i),d=u(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var vu=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},Fa=class{constructor(t,r={}){this.MASK=sr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=rr(o),this.BYTES=Math.ceil(rr(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,je),this.NONRESIDUE=vu(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Pa(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return vu(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Eu<=o&&o<i}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return jo(this,t,r)}invertBatch(t){return nt(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:i}=t;if(r.is0(i))return Mo(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);Mo(r,a)===-1&&(a=r.sub(a,s));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(i,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:m,im:g}=n.reim(l);return h>g||h===g&&f>m?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%je,i=r===Eu,s=n%je;return BigInt(o||i&&s)==sr}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return j(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},Ca=class{constructor(t){this.MASK=sr,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=Pa(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,u=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(u,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(u,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),je),a=o.mul(o.mul(r,n),je),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return Yn()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return jo(this,t,r)}invertBatch(t){return nt(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return j(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},Va=class{constructor(t,r){this.MASK=sr;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=Pa(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){Yn()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return jo(this,t,r)}invertBatch(t){return nt(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return j(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(i,c),c1:o.mul(s,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),u=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),u)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(p,s.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(i,u),{first:f,second:h}=o.Fp4Square(c,a),{first:m,second:g}=o.Fp4Square(s,p),_=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),je),d),c1:o.add(o.mul(o.sub(f,s),je),f),c2:o.add(o.mul(o.sub(m,a),je),m)}),c1:n.create({c0:o.add(o.mul(o.add(_,c),je),_),c1:o.add(o.mul(o.add(l,u),je),l),c2:o.add(o.mul(o.add(h,p),je),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),nu(r,o)&&(n=this.mul(n,t));return n}};function Au(e){let t=qe(e.ORDER),r=new Fa(t,e),n=new Ca(r),o=new Va(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ce=BigInt(0),rs=BigInt(1),it=BigInt(2),ns=BigInt(3),Go=BigInt(4),Ar=BigInt("0xd201000000010000"),th=rr(Ar),vn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ce,b:Go,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},rh=qe(vn.n,{modFromBytes:!0,isLE:!0}),{Fp:q,Fp2:J,Fp6:nh,Fp12:Z}=Au({ORDER:vn.p,X_LEN:th,FP2_NONRESIDUE:[rs,rs],Fp2mulByB:({c0:e,c1:t})=>{let r=q.mul(e,Go),n=q.mul(t,Go);return{c0:q.sub(r,n),c1:q.add(r,n)}},Fp12finalExponentiate:e=>{let t=Ar,r=Z.div(Z.frobeniusMap(e,6),e),n=Z.mul(Z.frobeniusMap(r,2),r),o=Z.conjugate(Z._cyclotomicExp(n,t)),i=Z.mul(Z.conjugate(Z._cyclotomicSquare(n)),o),s=Z.conjugate(Z._cyclotomicExp(i,t)),a=Z.conjugate(Z._cyclotomicExp(s,t)),c=Z.mul(Z.conjugate(Z._cyclotomicExp(a,t)),Z._cyclotomicSquare(o)),u=Z.conjugate(Z._cyclotomicExp(c,t)),p=Z.frobeniusMap(Z.mul(o,a),2),d=Z.frobeniusMap(Z.mul(s,n),3),l=Z.frobeniusMap(Z.mul(c,Z.conjugate(n)),1),f=Z.mul(Z.mul(u,Z.conjugate(i)),n);return Z.mul(Z.mul(Z.mul(p,d),l),f)}}),{G2psi:Su,G2psi2:oh}=Iu(q,J,J.div(J.ONE,J.NONRESIDUE)),Ba=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:q.ORDER,m:2,k:128,expand:"xmd",hash:Fe}),ka={p:J.ORDER,n:vn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:J.ZERO,b:J.fromBigTuple([Go,Go]),Gx:J.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:J.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},os=Jo(q.toBytes(Ce),{infinity:!0,compressed:!0});function is(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function Jo(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function ih(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return os.slice();let c=!!(a*it/o);return Jo(Te(s,n),{compressed:!0,sort:c})}else return i?j(Uint8Array.of(64),new Uint8Array(2*n-1)):j(Te(s,n),Te(a,n))}function Da(e){e.assertValidity();let{BYTES:t,ORDER:r}=q,{x:n,y:o}=e.toAffine();if(e.is0())return os.slice();let i=!!(o*it/r);return Jo(Te(n,t),{compressed:!0,sort:i})}function sh(e){let{compressed:t,infinity:r,sort:n,value:o}=is(e),{BYTES:i,ORDER:s}=q;if(o.length===48&&t){let a=We(o),c=q.create(a&wt(q.BITS));if(r){if(c!==Ce)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ce,y:Ce}}let u=q.add(q.pow(c,ns),q.create(vn.b)),p=q.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*it/s!==BigInt(n)&&(p=q.neg(p)),{x:q.create(c),y:q.create(p)}}else if(o.length===96&&!t){let a=We(o.subarray(0,i)),c=We(o.subarray(i));if(r){if(a!==Ce||c!==Ce)throw new Error("G1: non-empty point at infinity");return Wo.G1.Point.ZERO.toAffine()}return{x:q.create(a),y:q.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Fu(e){let{infinity:t,sort:r,value:n}=is(de("signatureHex",e,48)),o=q.ORDER,i=Wo.G1.Point,s=We(n);if(t)return i.ZERO;let a=q.create(s&wt(q.BITS)),c=q.add(q.pow(a,ns),q.create(vn.b)),u=q.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*it/o!==p&&(u=q.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function ah(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return j(os,Te(Ce,n));let c=!!(a.c1===Ce?a.c0*it/o:a.c1*it/o);return j(Jo(Te(s.c1,n),{compressed:!0,sort:c}),Te(s.c0,n))}else{if(i)return j(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=J.reim(s),{re:p,im:d}=J.reim(a);return j(Te(u,n),Te(c,n),Te(d,n),Te(p,n))}}function Ua(e){e.assertValidity();let{BYTES:t}=q;if(e.is0())return j(os,Te(Ce,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=J.reim(r),{re:s,im:a}=J.reim(n),u=!!((a>Ce?a*it:s*it)/q.ORDER&rs),p=o;return j(Jo(Te(i,t),{sort:u,compressed:!0}),Te(p,t))}function ch(e){let{BYTES:t,ORDER:r}=q,{compressed:n,infinity:o,sort:i,value:s}=is(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>We(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,m)=>h!==0?m+1:m,0)>0)throw new Error("invalid G2 point: compressed");return{x:J.ZERO,y:J.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=J.create({c0:q.create(u),c1:q.create(c)}),d=J.add(J.pow(p,ns),ka.b),l=J.sqrt(d),f=l.c1===Ce?l.c0*it/r:l.c1*it/r?rs:Ce;return l=i&&f>0?l:J.neg(l),{x:p,y:l}}else if(s.length===192&&!n){if(o){if(s.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:J.ZERO,y:J.ZERO}}let c=a(s,0*t,1*t),u=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:J.fromBigTuple([u,c]),y:J.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Cu(e){let{ORDER:t}=q,{infinity:r,sort:n,value:o}=is(de("signatureHex",e)),i=Wo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=We(o.slice(0,s)),c=We(o.slice(s));if(r)return i.ZERO;let u=q.create(a&wt(q.BITS)),p=q.create(c),d=J.create({c0:p,c1:u}),l=J.add(J.pow(d,ns),ka.b),f=J.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:m}=J.reim(f),g=BigInt(n),_=m>Ce&&m*it/t!==g,x=m===Ce&&h*it/t!==g;(_||x)&&(f=J.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Wo=Ou({fields:{Fp:q,Fp2:J,Fp6:nh,Fp12:Z,Fr:rh},G1:{...vn,Fp:q,htfDefaults:{...Ba,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(q.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(Ar).negate().multiplyUnsafe(Ar).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(Ar).add(t),mapToCurve:fh,fromBytes:sh,toBytes:ih,ShortSignature:{fromBytes(e){return fe(e),Fu(e)},fromHex(e){return Fu(e)},toBytes(e){return Da(e)},toRawBytes(e){return Da(e)},toHex(e){return H(Da(e))}}},G2:{...ka,Fp:J,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Ba},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:hh,isTorsionFree:(e,t)=>t.multiplyUnsafe(Ar).negate().equals(Su(e,t)),clearCofactor:(e,t)=>{let r=Ar,n=t.multiplyUnsafe(r).negate(),o=Su(e,t),i=t.double();return i=oh(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:ch,toBytes:ah,Signature:{fromBytes(e){return fe(e),Cu(e)},fromHex(e){return Cu(e)},toBytes(e){return Ua(e)},toRawBytes(e){return Ua(e)},toHex(e){return H(Ua(e))}}},params:{ateLoopSize:Ar,r:vn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Ba,hash:Fe}),lh=Ea(J,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>J.fromBigTuple(t.map(BigInt))))),uh=Ea(q,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),dh=Ia(q,{A:q.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:q.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:q.create(BigInt(11))}),ph=Ia(J,{A:J.create({c0:q.create(Ce),c1:q.create(BigInt(240))}),B:J.create({c0:q.create(BigInt(1012)),c1:q.create(BigInt(1012))}),Z:J.create({c0:q.create(BigInt(-2)),c1:q.create(BigInt(-1))})});function fh(e){let{x:t,y:r}=dh(q.create(e[0]));return uh(t,r)}function hh(e){let{x:t,y:r}=ph(J.fromBigTuple(e));return lh(t,r)}function Vu(e,t,r){let n=typeof e=="string"?e:H(e),o=typeof t=="string"?t:H(t),i=typeof r=="string"?r:H(r);return Wo.verifyShortSignature(o,i,n)}var _h=BigInt(1e6),La=e=>me(new _t(e)),ro=e=>{let r=La(e)/_h;return new Date(Number(r))};var Pu=60*1e3,yh=60,gh=24,xh=gh*yh,bh=5,wh=5,Th=30*xh,Ae;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(Ae||(Ae={}));function Nh(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var Sr=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.canisterId,t.blsVerify??Vu,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=bh,s=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(t){return An(t,this.cert.tree)}lookup_subtree(t){return cs(t,this.cert.tree)}async verify(){let t=await ss(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=Eh(r),i=j(Yo("ic-state-root"),t),s=Ve(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new xr("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Pu,u=new Date,p=u.getTime()+a,d=p-c,l=p+wh*Pu,f=ro(s),h=f.getTime()<d,m=f.getTime()>l;if((h||m)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw De.fromCode(new fn(this._maxAgeInMinutes,f,u,a,"past"));if(m)throw this.#t?.hasSyncedTime()?xe.fromCode(new Ue("System time has been synced with the IC network, but certificate is still too far in the future.")):De.fromCode(new fn(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw De.fromCode(new xr("Invalid signature"))}catch(a){throw De.fromCode(new xr("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:Th,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new xi);await r.verify();let n=t.subnet_id,o=M.fromUint8Array(n);if(!qa({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw De.fromCode(new Dn(this._canisterId,o));let s=Ve(r.lookup_path(["subnet",n,"public_key"]));if(!s)throw De.fromCode(new bi(`Could not find subnet key for subnet ID ${o.toText()}`));return s}},zo=Ne("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),Oh=96;function Eh(e){let t=zo.byteLength+Oh;if(e.byteLength!==t)throw ne.fromCode(new kn(t,e.byteLength));let r=e.slice(0,zo.byteLength);if(!bn(r,zo))throw ne.fromCode(new wi(zo,r));return e.slice(zo.byteLength)}function Ve(e){if(e.status===ze.Found&&e.value instanceof Uint8Array)return e.value}async function ss(e){switch(e[0]){case Ae.Empty:return Fe(Yo("ic-hashtree-empty"));case Ae.Pruned:return e[1];case Ae.Leaf:return Fe(j(Yo("ic-hashtree-leaf"),e[1]));case Ae.Labeled:return Fe(j(Yo("ic-hashtree-labeled"),e[1],await ss(e[2])));case Ae.Fork:return Fe(j(Yo("ic-hashtree-fork"),await ss(e[1]),await ss(e[2])));default:throw Tr}}function Yo(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return j(t,r)}function Bu(e){return typeof e[0]=="string"?ee(e[0]):e[0]}var ze;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(ze||(ze={}));var In;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(In||(In={}));var ce;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ce||(ce={}));function An(e,t){if(e.length===0)switch(t[0]){case Ae.Empty:return{status:ze.Absent};case Ae.Leaf:{if(!t[1])throw xe.fromCode(new wr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:ze.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw Tr}case Ae.Pruned:return{status:ze.Unknown};case Ae.Labeled:case Ae.Fork:return{status:ze.Error};default:throw Tr}let r=Bu(e),n=Zo(r,t);switch(n.status){case ce.Found:return An(e.slice(1),n.value);case ce.Absent:case ce.Greater:case ce.Less:return{status:ze.Absent};case ce.Unknown:return{status:ze.Unknown};default:throw Tr}}function cs(e,t){if(e.length===0)return{status:In.Found,value:t};let r=Bu(e),n=Zo(r,t);switch(n.status){case ce.Found:return cs(e.slice(1),n.value);case ce.Unknown:return{status:In.Unknown};case ce.Absent:case ce.Greater:case ce.Less:return{status:In.Absent};default:throw Tr}}function as(e){switch(e[0]){case Ae.Empty:return[];case Ae.Fork:return as(e[1]).concat(as(e[2]));default:return[e]}}function Zo(e,t){switch(t[0]){case Ae.Labeled:return Nh(e,t[1])?{status:ce.Greater}:bn(e,t[1])?{status:ce.Found,value:t[2]}:{status:ce.Less};case Ae.Fork:{let r=Zo(e,t[1]);switch(r.status){case ce.Greater:{let n=Zo(e,t[2]);return n.status===ce.Less?{status:ce.Absent}:n}case ce.Unknown:{let n=Zo(e,t[2]);return n.status===ce.Less?{status:ce.Unknown}:n}default:return r}}case Ae.Pruned:return{status:ce.Unknown};default:return{status:ce.Absent}}}function qa(e){let{canisterId:t,subnetId:r,tree:n}=e,o=An(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==ze.Found)throw ne.fromCode(new Wt(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw ne.fromCode(new Un(`Could not find canister ranges for subnet ${r.toText()}`));return Je(o.value).map(c=>[M.fromUint8Array(c[0]),M.fromUint8Array(c[1])]).some(c=>c[0].ltEq(t)&&c[1].gtEq(t))}var Ma=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=M.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=vh(c,o);return(async()=>{try{if(t.rootKey===null)throw Oe.fromCode(new Rt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await Sr.create({certificate:l.certificate,rootKey:d,canisterId:o,disableTimeVerification:n,agent:t}),h=(_,x)=>{if(x==="subnet"){let y=Rh(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ve(_.lookup_path(p))}},{path:m,data:g}=h(f,i[u]);if(!g)console.warn(`Expected to find result for path ${m}, but instead found nothing.`),typeof m=="string"?s.set(m,null):s.set(m.key,null);else switch(m){case"time":{s.set(m,ro(g));break}case"controllers":{s.set(m,Ih(g));break}case"module_hash":{s.set(m,H(g));break}case"subnet":{s.set(m,g);break}case"candid":{s.set(m,new TextDecoder().decode(g));break}default:if(typeof m!="string"&&"key"in m&&"path"in m)switch(m.decodeStrategy){case"raw":s.set(m.key,g);break;case"leb128":{s.set(m.key,La(g));break}case"cbor":{s.set(m.key,Je(g));break}case"hex":{s.set(m.key,H(g));break}case"utf-8":s.set(m.key,new TextDecoder().decode(g))}}}catch(d){if(d instanceof ht&&(d.hasCode(xr)||d.hasCode(fn)))throw d;typeof c!="string"&&"key"in c&&"path"in c?s.set(c.key,null):s.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(d),console.groupEnd()}})()});return await Promise.all(a),s},Rh=(e,t,r)=>{if(!t._isPrincipal)throw z.fromCode(new Ue("Invalid canisterId"));let n=Je(e),o=n.tree,i=n.delegation,s;if(i&&i.subnet_id?s=M.fromUint8Array(new Uint8Array(i.subnet_id)):!i&&typeof r<"u"?(s=M.selfAuthenticating(new Uint8Array(r)),i={subnet_id:s.toUint8Array(),certificate:new Uint8Array(0)}):(s=M.selfAuthenticating(M.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),i={subnet_id:s.toUint8Array(),certificate:new Uint8Array(0)}),!qa({canisterId:t,subnetId:s,tree:o}))throw De.fromCode(new Dn(t,s));let c=cs(["subnet",i.subnet_id,"node"],o);if(c.status!==In.Found)throw ne.fromCode(new Wt("Node not found",c.status));if(c.value instanceof Uint8Array)throw xe.fromCode(new wr("Invalid node tree"));let u=as(c.value),p=new Map;return u.forEach(d=>{let l=M.from(d[1]).toText(),f=An(["public_key"],d[2]);if(f.status!==ze.Found)throw ne.fromCode(new Wt("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw ne.fromCode(new kn(44,h.byteLength));p.set(l,h)}),{subnetId:M.fromUint8Array(new Uint8Array(i.subnet_id)).toText(),nodeKeys:p}},vh=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[ee("time")];case"controllers":return[ee("canister"),r,ee("controllers")];case"module_hash":return[ee("canister"),r,ee("module_hash")];case"subnet":return[ee("subnet")];case"candid":return[ee("canister"),r,ee("metadata"),ee("candid:service")];default:if("key"in e&&"path"in e)if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=e.path,o=typeof n=="string"?ee(n):n;return[ee("canister"),r,ee("metadata"),o]}else return e.path}throw xe.fromCode(new Ue(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},Ih=e=>Je(e).map(r=>M.fromUint8Array(r));var Fr=BigInt(0),Re=BigInt(1),ja=BigInt(2),Ah=BigInt(8);function Sh(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function Fh(e,t={}){let r=es("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;nr(t,{},{uvRatio:"function"});let a=ja<<BigInt(o.BYTES*8)-Re,c=g=>n.create(g),u=t.uvRatio||((g,_)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,_))}}catch{return{isValid:!1,value:Fr}}});if(!Sh(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,_,x=!1){let y=x?Re:Fr;return Zi("coordinate "+g,_,y,a),_}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=vr((g,_)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();_==null&&(_=E?Ah:n.inv(T));let O=c(x*_),R=c(y*_),I=n.mul(T,_);if(E)return{x:Fr,y:Re};if(I!==Re)throw new Error("invZ was invalid");return{x:O,y:R}}),f=vr(g=>{let{a:_,d:x}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:E,T:O}=g,R=c(y*y),I=c(T*T),w=c(E*E),v=c(w*w),C=c(R*_),S=c(w*c(C+I)),b=c(v+c(x*c(R*I)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),F=c(E*O);if(N!==F)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(_,x,y,T){this.X=p("x",_),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(_){if(_ instanceof h)throw new Error("extended point not allowed");let{x,y}=_||{};return p("x",x),p("y",y),new h(x,y,Re,c(x*y))}static fromBytes(_,x=!1){let y=n.BYTES,{a:T,d:E}=i;_=_a(Rr(_,y,"point")),Nn(x,"zip215");let O=_a(_),R=_[y-1];O[y-1]=R&-129;let I=tr(O),w=x?a:n.ORDER;Zi("point.y",I,Fr,w);let v=c(I*I),C=c(v-Re),S=c(E*v-T),{isValid:b,value:N}=u(C,S);if(!b)throw new Error("bad point: invalid y coordinate");let F=(N&Re)===Re,B=(R&128)!==0;if(!x&&N===Fr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==F&&(N=c(-N)),h.fromAffine({x:N,y:I})}static fromHex(_,x=!1){return h.fromBytes(de("point",_),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(_=8,x=!0){return m.createCache(this,_),x||this.multiply(ja),this}assertValidity(){f(this)}equals(_){d(_);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=_,I=c(x*R),w=c(E*T),v=c(y*R),C=c(O*T);return I===w&&v===C}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:_}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(ja*c(T*T)),I=c(_*E),w=x+y,v=c(c(w*w)-E-O),C=I+O,S=C-R,b=I-O,N=c(v*S),F=c(C*b),B=c(v*b),L=c(S*C);return new h(N,F,L,B)}add(_){d(_);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:I,Y:w,Z:v,T:C}=_,S=c(T*I),b=c(E*w),N=c(R*y*C),F=c(O*v),B=c((T+E)*(I+w)-S-b),L=F-N,A=F+N,V=c(b-x*S),P=c(B*L),D=c(A*V),U=c(B*V),te=c(L*A);return new h(P,D,te,U)}subtract(_){return this.add(_.negate())}multiply(_){if(!o.isValidNot0(_))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=m.cached(this,_,T=>ot(h,T));return ot(h,[x,y])[0]}multiplyUnsafe(_,x=h.ZERO){if(!o.isValid(_))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return _===Fr?h.ZERO:this.is0()||_===Re?this:m.unsafe(this,_,y=>ot(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return m.unsafe(this,i.n).is0()}toAffine(_){return l(this,_)}clearCofactor(){return s===Re?this:this.multiplyUnsafe(s)}toBytes(){let{x:_,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=_&Re?128:0,y}toHex(){return H(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(_){return ot(h,_)}static msm(_,x){return Qn(h,o,_,x)}_setWindowSize(_){this.precompute(_)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Re,c(i.Gx*i.Gy)),h.ZERO=new h(Fr,Re,Re,Fr),h.Fp=n,h.Fn=o;let m=new Xn(h,o.BITS);return h.BASE.precompute(8),h}var ls=class{constructor(t){this.ep=t}static fromBytes(t){Yn()}static fromHex(t){Yn()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return H(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function Ch(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');nr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||Bn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,v,C)=>{if(Nn(C,"phflag"),v.length||C)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(tr(w))}function d(w){let v=y.secretKey;w=de("private key",w,v);let C=de("hashed private key",t(w),2*v),S=c(C.slice(0,v)),b=C.slice(v,2*v),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:v,prefix:C,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:v,prefix:C,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...v){let C=j(...v);return p(t(u(C,de("context",w),!!n)))}function m(w,v,C={}){w=de("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(v),F=h(C.context,S,w),B=o.multiply(F).toBytes(),L=h(C.context,B,N,w),A=s.create(F+L*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let V=j(B,s.toBytes(A));return Rr(V,y.signature,"result")}let g={zip215:!0};function _(w,v,C,S=g){let{context:b,zip215:N}=S,F=y.signature;w=de("signature",w,F),v=de("message",v),C=de("publicKey",C,y.publicKey),N!==void 0&&Nn(N,"zip215"),n&&(v=n(v));let B=F/2,L=w.subarray(0,B),A=tr(w.subarray(B,F)),V,P,D;try{V=e.fromBytes(C,N),P=e.fromBytes(L,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&V.isSmallOrder())return!1;let U=h(b,P.toBytes(),V.toBytes(),v);return P.add(V.multiplyUnsafe(U)).subtract(D).clearCofactor().is0()}let x=i.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return Rr(w,y.seed,"seed")}function E(w){let v=I.randomSecretKey(w);return{secretKey:v,publicKey:f(v)}}function O(w){return Ot(w)&&w.length===s.BYTES}function R(w,v){try{return!!e.fromBytes(w,v)}catch{return!1}}let I={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:v}=e.fromBytes(w),C=y.publicKey,S=C===32;if(!S&&C!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Re+v,Re-v):i.div(v-Re,v+Re);return i.toBytes(b)},toMontgomerySecret(w){let v=y.secretKey;Rr(w,v);let C=t(w.subarray(0,v));return c(C).subarray(0,v)},randomPrivateKey:T,precompute(w=8,v=e.BASE){return v.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:m,verify:_,utils:I,Point:e,lengths:y})}function Vh(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=qe(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function Ph(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Du(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Vh(e),i=Fh(t,r),s=Ch(i,n,o);return Ph(e,s)}var Bh=BigInt(0),ar=BigInt(1),Uu=BigInt(2),mg=BigInt(3),Dh=BigInt(5),Uh=BigInt(8),no=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Xo={p:no,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Uh,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function kh(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=no,a=e*e%i*e%i,c=Tt(a,Uu,i)*a%i,u=Tt(c,ar,i)*e%i,p=Tt(u,Dh,i)*u%i,d=Tt(p,t,i)*p%i,l=Tt(d,r,i)*d%i,f=Tt(l,n,i)*l%i,h=Tt(f,o,i)*f%i,m=Tt(h,o,i)*f%i,g=Tt(m,t,i)*p%i;return{pow_p_5_8:Tt(g,Uu,i)*e%i,b2:a}}function Lh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Ka=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Ga(e,t){let r=no,n=ae(t*t*t,r),o=ae(n*n*t,r),i=kh(e*o).pow_p_5_8,s=ae(e*n*i,r),a=ae(t*s*s,r),c=s,u=ae(s*Ka,r),p=a===e,d=a===ae(-e,r),l=a===ae(-e*Ka,r);return p&&(s=c),(d||l)&&(s=u),or(s,r)&&(s=ae(-s,r)),{isValid:p||d,value:s}}var Cr=qe(Xo.p,{isLE:!0}),qh=qe(Xo.n,{isLE:!0}),Mh={...Xo,Fp:Cr,hash:cl,adjustScalarBytes:Lh,uvRatio:Ga},Ke=Du(Mh);var Ha=Ka,jh=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Kh=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Hh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),$h=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),ku=e=>Ga(ar,e),Gh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),$a=e=>Ke.Point.Fp.create(tr(e)&Gh);function Lu(e){let{d:t}=Xo,r=no,n=_=>Cr.create(_),o=n(Ha*e*e),i=n((o+ar)*Hh),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=Ga(i,a),p=n(u*e);or(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-ar)*$h-a),l=u*u,f=n((u+u)*a),h=n(d*jh),m=n(ar-l),g=n(ar+l);return new Ke.Point(n(f*g),n(m*h),n(h*g),n(f*m))}function Jh(e){fe(e,64);let t=$a(e.subarray(0,32)),r=Lu(t),n=$a(e.subarray(32,64)),o=Lu(n);return new cr(r.add(o))}var cr=class e extends ls{constructor(t){super(t)}static fromAffine(t){return new e(Ke.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Jh(de("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=Xo,o=no,i=T=>Cr.create(T),s=$a(t);if(!ru(Cr.toBytes(s),t)||or(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(ar+r*a),u=i(ar-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=ku(i(l*d)),m=i(h*u),g=i(h*m*l),_=i((s+s)*m);or(_,o)&&(_=i(-_));let x=i(c*g),y=i(_*x);if(!f||or(y,o)||x===Bh)throw new Error("invalid ristretto255 encoding 2");return new e(new Ke.Point(_,x,ar,y))}static fromHex(t){return e.fromBytes(de("ristrettoHex",t,32))}static msm(t,r){return Qn(e,Ke.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=no,s=g=>Cr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=ku(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(or(o*f,i)){let g=s(r*Ha),_=s(t*Ha);t=g,r=_,h=s(d*Kh)}else h=l;or(t*f,i)&&(r=s(-r));let m=s((n-r)*h);return or(m,i)&&(m=s(-m)),Cr.toBytes(m)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Cr.create(u),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};cr.BASE=new cr(Ke.Point.BASE);cr.ZERO=new cr(Ke.Point.ZERO);cr.Fp=Cr;cr.Fn=qh;var qu,Mu,us=class{static{qu=Symbol.iterator,Mu=Symbol.toStringTag}#e;#t;constructor(t={}){this[qu]=this.entries.bind(this),this[Mu]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([i,s])=>[i,{value:s,timestamp:o}])),this.#t=n}prune(){let t=Date.now();for(let[r,n]of this.#e.entries())t-n.timestamp>this.#t&&this.#e.delete(r);return this}set(t,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(t,n),this}get(t){let r=this.#e.get(t);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(t);return}return r.value}}clear(){this.#e.clear()}entries(){let t=this.#e.entries();return function*(){for(let[n,o]of t)yield[n,o.value]}()}values(){let t=this.#e.values();return function*(){for(let n of t)yield n.value}()}keys(){return this.#e.keys()}forEach(t,r){for(let[n,o]of this.#e.entries())t.call(r,o.value,n,this)}has(t){return this.#e.has(t)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}};var ju=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw z.fromCode(new bo("Length too long (> 4 bytes)"))},Ku=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw z.fromCode(new bo("Length too long (> 4 bytes)"))},Ja=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw z.fromCode(new mt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw z.fromCode(new mt("Length too long (> 4 bytes)"))},Wh=(e,t)=>{let r=Ja(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw z.fromCode(new mt("Length too long (> 4 bytes)"))},Qo=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Sn=Uint8Array.from([48,5,6,3,43,101,112]),bg=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),wg=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function Fn(e,t){let r=2+ju(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+ju(n)+n);return i[o++]=48,o+=Ku(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=Ku(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Cn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw z.fromCode(new mt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Ja(o,r),!bn(o.slice(r,r+t.byteLength),t))throw z.fromCode(new mt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Wh(o,r)-1;r+=Ja(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw z.fromCode(new Ti(i,s.length));return s};var ds=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return Fn(t,Sn)}static derDecode(t){let r=Cn(t,Sn);if(r.length!==this.RAW_KEY_LENGTH)throw z.fromCode(new mt("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw z.fromCode(new mt("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var Wa=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},ps=class extends Wa{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var fs=class e{#e;#t;#r;#c;#s;#u;#n;#o;#a=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#c=i,this.#o=c,this.#s=c.now(),this.#u=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#s}get currentInterval(){return this.#e}get count(){return this.#a}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#u||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var Ct;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Ct||(Ct={}));var Za=60*1e3,zh=1e6,Yh=0,Zh="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Xh="ic0.app",Qh=".ic0.app",em="icp0.io",tm=".icp0.io",rm="icp-api.io",nm=".icp-api.io",za=200,om=202,im=404;function sm(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw Oe.fromCode(new qn("Fetch implementation was not available. You appear to be in a browser context, but window.fetch was not present."));else if(typeof global<"u")if(global.fetch)e=global.fetch.bind(global);else throw Oe.fromCode(new qn("Fetch implementation was not available. You appear to be in a Node.js context, but global.fetch was not available."));else typeof self<"u"&&self.fetch&&(e=self.fetch.bind(self));if(e)return e;throw Oe.fromCode(new qn("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function am(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(window.location.protocol+"//"+e):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var lr=class e{#e;#t;#r;#c;#s;#u;#n;#o;#a;#x;#i;#d;#p;#l;get#N(){return this.#l*Za}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Yh,this.#c=!1,this.#s=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new ps,this.#f=[],this.#h=[],this.#m=new us({expirationTime:5*Za}),this.#_=!0,this.#w=(o,i)=>{if(this.#_===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=M.fromUint8Array(d).toText(),f;if(s===hr.Replied){let{reply:x}=o;f=Co({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===hr.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Co({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw xe.fromCode(new Ue(`Unknown status: ${s}`));let h=j(ia,f),m=i.nodeKeys.get(l);if(!m)throw ne.fromCode(new Vi);let g=ds.fromDer(m).rawKey;if(Ke.verify(u.signature,h,g))return o;throw De.fromCode(new Pi(l))}return o},this.config=t,this.#o=t.fetch||sm()||fetch.bind(global),this.#a=t.fetchOptions,this.#x=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#u=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ne(Zh);let r=am(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new fs({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(Qh)?this.host.hostname=Xh:this.host.hostname.endsWith(tm)?this.host.hostname=em:this.host.hostname.endsWith(nm)&&(this.host.hostname=rm),t.credentials){let{name:o,password:i}=t.credentials;this.#i=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new rt),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw z.fromCode(new mn("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw z.fromCode(new mn("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",pa(qo)),t.useQueryNonces&&this.addTransform("query",pa(qo)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#g(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw z.fromCode(new Si)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#f.findIndex(i=>(i.priority||0)<n);this.#f.splice(o>=0?o:this.#f.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw Oe.fromCode(new br);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw Oe.fromCode(new br);let s=M.from(t),a=r.effectiveCanisterId?M.from(r.effectiveCanisterId):s;await this.#g(a);let c=i.getPrincipal(),u=Ya(this.#l,this.#r),p={request_type:Ji.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:u},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:er.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(_){return Object.assign(_,{__nonce__:void 0})}d=await i.transformRequest(d);let h=ko(d.body),m=this.#p(),g=Xt(p);try{let y=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})),{responseBodyBytes:T,...E}=await this.#y({requestFn:y,backoff:m,tries:0}),O=T.byteLength>0?Je(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(_){let x;if(_ instanceof ht){if(_.hasCode(To))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(_.hasCode(mn)&&!this.#c)return await this.syncTime(s),this.call(s,r,n);_.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=_}else x=xe.fromCode(new Ue(_));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw xe.fromCode(new hn(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(f=>setTimeout(f,c));let u;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===za)u={...Je($n(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:zi(f.headers)},requestId:i};else throw ne.fromCode(new wo(f.status,f.statusText,zi(f.headers),await f.text()))}catch(f){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
53
- ${f}
54
- Retrying query.`),await this.#b({...t,tries:a+1});throw f instanceof ht?f:xo.fromCode(new No(f))}if(!this.#_)return u;let p=u.signatures?.[0]?.timestamp;if(!p)throw ne.fromCode(new Fi("Timestamp not found in query response. This suggests a malformed or malicious response."));let d=Number(BigInt(p)/BigInt(zh));if(Date.now()+this.#r-d>this.#N){if(a<this.#d)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:d}),await this.#b({...t,tries:a+1});throw De.fromCode(new Ei(this.#l,i,a))}return u}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw ne.fromCode(new hn(`Retry strategy exhausted after ${o} attempts.`));i>0&&await new Promise(p=>setTimeout(p,i));let s,a=new Uint8Array;try{s=await r(),s.status===za&&(a=$n(await s.clone().arrayBuffer()))}catch(p){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
50
+ `)}return a.encodeValue(c)}));return Z(bf,n,o,i,s)}function Tf(e,t){let r=new wt(t);if(t.byteLength<Ki.length)throw new Error("Message length smaller than magic number");let n=Vr(r,Ki.length),o=new TextDecoder().decode(n);if(o!==Ki)throw new Error("Wrong magic number: "+JSON.stringify(o));function i(l){let f=[],h=Number(ge(l));for(let m=0;m<h;m++){let x=Number(sr(l));switch(x){case Q.Opt:case Q.Vector:{let y=Number(sr(l));f.push([x,y]);break}case Q.Record:case Q.Variant:{let y=[],T=Number(ge(l)),E;for(;T--;){let O=Number(ge(l));if(O>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof E=="number"&&E>=O)throw new Error("field id collision or not sorted");E=O;let R=Number(sr(l));y.push([O,R])}f.push([x,y]);break}case Q.Func:{let y=[],T=Number(ge(l));for(;T--;)y.push(Number(sr(l)));let E=[],O=Number(ge(l));for(;O--;)E.push(Number(sr(l)));let R=[],v=Number(ge(l));for(;v--;)switch(Number(ge(l))){case 1:{R.push("query");break}case 2:{R.push("oneway");break}case 3:{R.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[y,E,R]]);break}case Q.Service:{let y=Number(ge(l)),T=[];for(;y--;){let E=Number(ge(l)),O=new TextDecoder().decode(Vr(l,E)),R=sr(l);T.push([O,R])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let _=[],g=Number(ge(l));for(let m=0;m<g;m++)_.push(Number(sr(l)));return[f,_]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(l=>nu());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return Ul;case-2:return Dl;case-3:return ql;case-4:return Ll;case-5:return Jl;case-6:return Wl;case-7:return zl;case-8:return Yl;case-9:return Kl;case-10:return Hl;case-11:return $l;case-12:return Gl;case-13:return Ml;case-14:return jl;case-15:return kl;case-16:return Bl;case-17:return Vl;case-24:return Zl;default:throw new Error("Illegal op_code: "+l)}if(l>=s.length)throw new Error("type index out of range");return c[l]}function p(l){switch(l[0]){case Q.Vector:{let f=u(l[1]);return Ql(f)}case Q.Opt:{let f=u(l[1]);return eu(f)}case Q.Record:{let f={};for(let[g,m]of l[1]){let x=`_${g}_`;f[x]=u(m)}let h=tu(f),_=h.tryAsTuple();return Array.isArray(_)?Xl(..._):h}case Q.Variant:{let f={};for(let[h,_]of l[1]){let g=`_${h}_`;f[g]=u(_)}return ru(f)}case Q.Func:{let[f,h,_]=l[1];return ou(f.map(g=>u(g)),h.map(g=>u(g)),_)}case Q.Service:{let f={},h=l[1];for(let[_,g]of h){let m=u(g);if(m instanceof lt&&(m=m.getType()),!(m instanceof In))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return iu(f)}default:throw new Error("Illegal op_code: "+l[0])}}s.forEach((l,f)=>{if(l[0]===Q.Func){let h=p(l);c[f].fill(h)}}),s.forEach((l,f)=>{if(l[0]!==Q.Func){let h=p(l);c[f].fill(h)}}),_a();let d=a.map(l=>u(l));try{let l=e.map((f,h)=>f.decodeValue(r,d[h]));for(let f=e.length;f<d.length;f++)d[f].decodeValue(r,d[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return l}finally{_a()}}var Vl=new Fo,Bl=new Bt,Nf=new $i,Dl=new Gi,Ul=new En,kl=new Ji,Ll=new Po,ql=new Vo,Ml=new Bo(32),jl=new Bo(64),Kl=new cr(8),Hl=new cr(16),$l=new cr(32),Gl=new cr(64),Jl=new Pt(8),Wl=new Pt(16),zl=new Pt(32),Yl=new Pt(64),Zl=new zi;function Xl(...e){return new Wi(e)}function Ql(e){return new Wn(e)}function eu(e){return new Br(e)}function tu(e){return new Rn(e)}function ru(e){return new zn(e)}function nu(){return new lt}function ou(e,t,r=[]){return new In(e,t,r)}function iu(e){return new Yn(e)}var Yi=class e{constructor(t=new Map){this.rels=t}copy(){let t=new Map;for(let[r,n]of this.rels.entries()){let o=new Map(n);t.set(r,o)}return new e(t)}known(t,r){return this.rels.get(t.name)?.get(r.name)}addNegative(t,r){this.addNames(t.name,r.name,!1)}add(t,r){this.addNames(t.name,r.name,!0)}display(){let t="";for(let[r,n]of this.rels)for(let[o,i]of n)t+=`${r} ${i?":<":"!<:"} ${o}
51
+ `;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}},Hi=new Yi;function _a(){Hi=new Yi}function Of(e,t){let r=new Set(e.annotations),n=new Set(t.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function fa(e){return e instanceof Br||e instanceof En||e instanceof Bt}function ga(e,t){let r=Hi.copy(),n=ar(r,e,t);return n?Hi.add(e,t):Hi.addNegative(e,t),n}function ar(e,t,r){if(t.name===r.name)return!0;let n=e.known(t,r);if(n!==void 0)return n;if(e.add(t,r),r instanceof Bt||t instanceof Fo||t instanceof Vo&&r instanceof Po)return!0;if(t instanceof Wn&&r instanceof Wn)return ar(e,t._type,r._type);if(r instanceof Br)return!0;if(t instanceof Rn&&r instanceof Rn){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[qe(i)];if(a){if(!ar(e,a,s))return!1}else if(!fa(s))return!1}return!0}if(t instanceof In&&r instanceof In){if(!Of(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!ar(e,r.argTypes[o],i))return!1}else if(!fa(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!ar(e,t.retTypes[o],i))return!1}else if(!fa(i))return!1}return!0}if(t instanceof zn&&r instanceof zn){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[qe(i)];if(!a||!ar(e,s,a))return!1}return!0}if(t instanceof Yn&&r instanceof Yn){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!ar(e,a,s))return!1}return!0}return t instanceof lt?ar(e,t.getType(),r):r instanceof lt?ar(e,t,r.getType()):!1}function Zn(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?Zn(e.buffer):new Uint8Array(e)}function An(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function xa(e){if(typeof e=="string")return su(e);if(typeof e=="number")return Pe(ie(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Pe(Zn(e));if(Array.isArray(e)){let t=e.map(xa);return Pe(K(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return Pe(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return xa(e.toHash());if(typeof e=="object")return Do(e);if(typeof e=="bigint")return Pe(ie(e))}throw Y.fromCode(new Bi(e))}var su=e=>{let t=new TextEncoder().encode(e);return Pe(t)};function lr(e){return Do(e)}function Do(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=su(s),u=xa(a);return[c,u]}).sort(([s],[a])=>Gn(s,a)),o=K(...n.map(s=>K(...s)));return Pe(o)}var ba=new TextEncoder().encode("\ric-state-root"),Uo=new TextEncoder().encode(`
52
+ ic-request`),wa=new TextEncoder().encode("\vic-response"),Ta=new TextEncoder().encode("ic-request-auth-delegation");var Dt=class{getPrincipal(){return this._principal||(this._principal=U.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=lr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(Uo,o))}}}},ot=class{getPrincipal(){return U.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var ur=class extends Error{constructor(t){super(t),this.name="DecodingError"}},cu=55799,lu=Symbol("CBOR_STOP_CODE"),Ot=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(Ot||{}),Ne=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(Ne||{}),Ef=23,Rf=255,If=65535,vf=4294967295,Af=BigInt("0xffffffffffffffff"),Nt=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(Nt||{}),Xn=!1;function Sf(e){return e==null}function uu(e,t){let r=new Uint8Array(t);return r.set(e),r}var Cf=new TextDecoder;function Ff(e){return(e&224)>>5}function Pf(e){return e&31}var qo=new Uint8Array,ko,Et=0;function du(e,t){qo=e,Et=0;let r=Sn(t);return t?.(r)??r}function Sn(e){let[t,r]=Zi();switch(t){case Ne.UnsignedInteger:return Qn(r);case Ne.NegativeInteger:return Uf(r);case Ne.ByteString:return pu(r);case Ne.TextString:return Oa(r);case Ne.Array:return Vf(r,e);case Ne.Map:return Df(r,e);case Ne.Tag:return kf(r,e);case Ne.Simple:return Bf(r)}throw new ur(`Unsupported major type: ${t}`)}function Zi(){let e=qo.at(Et);if(Sf(e))throw new ur("Provided CBOR data is empty");let t=Ff(e),r=Pf(e);return Et++,[t,r]}function Vf(e,t){let r=Qn(e);if(r===1/0){let o=[],i=Sn(t);for(;i!==lu;)o.push(t?.(i)??i),i=Sn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=Sn(t);n[o]=t?.(i)??i}return n}function Bf(e){switch(e){case Ot.False:return!1;case Ot.True:return!0;case Ot.Null:return null;case Ot.Undefined:return;case Ot.Break:return lu}throw new ur(`Unrecognized simple type: ${e.toString(2)}`)}function Df(e,t){let r=Qn(e),n={};if(r===1/0){let[o,i]=Zi();for(;o!==Ne.Simple&&i!==Ot.Break;){let s=Oa(i),a=Sn(t);n[s]=t?.(a,s)??a,[o,i]=Zi()}return n}for(let o=0;o<r;o++){let[i,s]=Zi();if(i!==Ne.TextString)throw new ur("Map keys must be text strings");let a=Oa(s),c=Sn(t);n[a]=t?.(c,a)??c}return n}function Qn(e){if(e<=Nt.Value)return e;switch(ko=new DataView(qo.buffer,qo.byteOffset+Et),e){case Nt.OneByte:return Et++,ko.getUint8(0);case Nt.TwoBytes:return Et+=2,ko.getUint16(0,Xn);case Nt.FourBytes:return Et+=4,ko.getUint32(0,Xn);case Nt.EightBytes:return Et+=8,ko.getBigUint64(0,Xn);case Nt.Indefinite:return 1/0;default:throw new ur(`Unsupported integer info: ${e.toString(2)}`)}}function Uf(e){let t=Qn(e);return typeof t=="number"?-1-t:-1n-t}function pu(e){let t=Qn(e);if(t>Number.MAX_SAFE_INTEGER)throw new ur("Byte length is too large");let r=Number(t);return Et+=r,qo.slice(Et-r,Et)}function Oa(e){let t=pu(e);return Cf.decode(t)}function kf(e,t){let r=Qn(e);if(r===cu)return Sn(t);throw new ur(`Unsupported tag: ${r}.`)}var Mo=class extends Error{constructor(t){super(t),this.name="SerializationError"}},Lf=2*1024,qf=100,Mf=new TextEncoder;function Lo(e){return e<<5}var it=new Uint8Array(Lf),Tt=new DataView(it.buffer),Te=0,Na=[];function fu(e,t){Te=0;let r=t?.(e)??e;return zf(cu,r,t),it.slice(0,Te)}function Ea(e,t){if(Te>it.length-qf&&(it=uu(it,it.length*2),Tt=new DataView(it.buffer)),e===!1||e===!0||e===null||e===void 0){Hf(e);return}if(typeof e=="number"||typeof e=="bigint"){Wf(e);return}if(typeof e=="string"){_u(e);return}if(e instanceof Uint8Array){au(e);return}if(e instanceof ArrayBuffer){au(new Uint8Array(e));return}if(Array.isArray(e)){jf(e,t);return}if(typeof e=="object"){Kf(e,t);return}throw new Mo(`Unsupported type: ${typeof e}`)}function jf(e,t){eo(Ne.Array,e.length),e.forEach((r,n)=>{Ea(t?.(r,n.toString())??r,t)})}function Kf(e,t){Na=Object.entries(e),eo(Ne.Map,Na.length),Na.forEach(([r,n])=>{_u(r),Ea(t?.(n,r)??n,t)})}function eo(e,t){if(t<=Ef){Tt.setUint8(Te++,Lo(e)|Number(t));return}if(t<=Rf){Tt.setUint8(Te++,Lo(e)|Nt.OneByte),Tt.setUint8(Te,Number(t)),Te+=1;return}if(t<=If){Tt.setUint8(Te++,Lo(e)|Nt.TwoBytes),Tt.setUint16(Te,Number(t),Xn),Te+=2;return}if(t<=vf){Tt.setUint8(Te++,Lo(e)|Nt.FourBytes),Tt.setUint32(Te,Number(t),Xn),Te+=4;return}if(t<=Af){Tt.setUint8(Te++,Lo(e)|Nt.EightBytes),Tt.setBigUint64(Te,BigInt(t),Xn),Te+=8;return}throw new Mo(`Value too large to encode: ${t}`)}function Hf(e){eo(Ne.Simple,$f(e))}function $f(e){if(e===!1)return Ot.False;if(e===!0)return Ot.True;if(e===null)return Ot.Null;if(e===void 0)return Ot.Undefined;throw new Mo(`Unrecognized simple value: ${e.toString()}`)}function hu(e,t){eo(e,t.length),Te>it.length-t.length&&(it=uu(it,it.length+t.length),Tt=new DataView(it.buffer)),it.set(t,Te),Te+=t.length}function mu(e,t){eo(e,t)}function Gf(e){mu(Ne.UnsignedInteger,e)}function Jf(e){mu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function Wf(e){e>=0?Gf(e):Jf(e)}function _u(e){hu(Ne.TextString,Mf.encode(e))}function au(e){hu(Ne.ByteString,e)}function zf(e,t,r){eo(Ne.Tag,e),Ea(t,r)}function Zf(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function jo(e){try{return fu(e,t=>U.isPrincipal(t)?t.toUint8Array():to.isExpiry(t)?t.toBigInt():Zf(t)?t.toCborValue():t)}catch(t){throw Y.fromCode(new Si(t,e))}}function Me(e){try{return du(e)}catch(t){throw Y.fromCode(new Ai(t,e))}}var Xi={encode:jo,decode:Me};var Ko=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var dr;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(dr||(dr={}));var es;(function(e){e.Call="call"})(es||(es={}));var Cn;(function(e){e.Query="query",e.ReadState="read_state"})(Cn||(Cn={}));function Ho(){let e=new ArrayBuffer(16),t=new DataView(e),r=Ko(),n=Ko(),o=Ko(),i=Ko();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var ts="__expiry__",Ra=BigInt(1e3),Xf=BigInt(1e6),Qf=BigInt(60),Ia=Qf*Ra,eh=BigInt(1)*Ia;function th(e){return e/Ra*Ra}function rh(e){return e/Ia*Ia}var to=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=rh(o),s;return i>=n+eh?s=i:s=th(o),new e(s*Xf)}toBigInt(){return this.__expiry__}toHash(){return ie(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[ts]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[ts])try{let n=BigInt(r[ts]);return new e(n)}catch(n){throw new Y(new Ao(`Not a valid BigInt: ${n}`))}throw new Y(new Ao(`The input does not contain the key ${ts}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function va(e=Ho){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===dr.Call&&(t.body.nonce=e())}}function Aa(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Ca=BigInt(0),rs=BigInt(1);function Fn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Dr(e,t,r=""){let n=At(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function yu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Ca:BigInt("0x"+e)}function Ye(e){return yu(j(e))}function pr(e){return me(e),yu(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function Fa(e,t){return Oe(e,t).reverse()}function pe(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(At(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function gu(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function Pa(e){return Uint8Array.from(e)}var Sa=e=>typeof e=="bigint"&&Ca<=e;function Va(e,t,r){return Sa(e)&&Sa(t)&&Sa(r)&&t<=e&&e<r}function ns(e,t,r,n){if(!Va(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function fr(e){let t;for(t=0;e>Ca;e>>=rs,t+=1);return t}function xu(e,t){return e>>BigInt(t)&rs}var Rt=e=>(rs<<BigInt(e))-rs;function bu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function hr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var ro=()=>{throw new Error("not implemented")};function Ur(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var je=BigInt(0),Ie=BigInt(1),Pn=BigInt(2),Tu=BigInt(3),Nu=BigInt(4),Ou=BigInt(5),nh=BigInt(7),Eu=BigInt(8),oh=BigInt(9),Ru=BigInt(16);function le(e,t){let r=e%t;return r>=je?r:t+r}function It(e,t,r){let n=e;for(;t-- >je;)n*=n,n%=r;return n}function wu(e,t){if(e===je)throw new Error("invert: expected non-zero number");if(t<=je)throw new Error("invert: expected positive modulus, got "+t);let r=le(e,t),n=t,o=je,i=Ie,s=Ie,a=je;for(;r!==je;){let u=n/r,p=n%r,d=o-s*u,l=i-a*u;n=r,r=p,o=s,i=a,s=d,a=l}if(n!==Ie)throw new Error("invert: does not exist");return le(o,t)}function Ba(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Iu(e,t){let r=(e.ORDER+Ie)/Nu,n=e.pow(t,r);return Ba(e,n,t),n}function ih(e,t){let r=(e.ORDER-Ou)/Eu,n=e.mul(t,Pn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Pn),o),a=e.mul(i,e.sub(s,e.ONE));return Ba(e,a,t),a}function sh(e){let t=Ke(e),r=vu(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+nh)/Ru;return(a,c)=>{let u=a.pow(c,s),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let _=a.eql(a.sqr(p),c),g=a.cmov(u,p,_);return Ba(a,g,c),g}}function vu(e){if(e<Tu)throw new Error("sqrt is not defined for small field");let t=e-Ie,r=0;for(;t%Pn===je;)t/=Pn,r++;let n=Pn,o=Ke(e);for(;$o(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Iu;let i=o.pow(n,t),s=(t+Ie)/Pn;return function(c,u){if(c.is0(u))return u;if($o(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),l=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,_=c.sqr(l);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===p)throw new Error("Cannot find square root");let g=Ie<<BigInt(p-h-1),m=c.pow(d,g);p=h,d=c.sqr(m),l=c.mul(l,d),f=c.mul(f,m)}return f}}function ah(e){return e%Nu===Tu?Iu:e%Eu===Ou?ih:e%Ru===oh?sh(e):vu(e)}var mr=(e,t)=>(le(e,t)&Ie)===Ie,ch=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function os(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=ch.reduce((n,o)=>(n[o]="function",n),t);return hr(e,r),e}function Go(e,t,r){if(r<je)throw new Error("invalid exponent, negatives unsupported");if(r===je)return e.ONE;if(r===Ie)return t;let n=e.ONE,o=t;for(;r>je;)r&Ie&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ie;return n}function ut(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function $o(e,t){let r=(e.ORDER-Ie)/Pn,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Da(e,t){t!==void 0&&na(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ke(e,t,r=!1,n={}){if(e<=je)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let l=t;l.BITS&&(o=l.BITS),l.sqrt&&(i=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(s=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:u}=Da(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:Rt(c),ZERO:je,ONE:Ie,allowedLengths:a,create:l=>le(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return je<=l&&l<e},is0:l=>l===je,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ie)===Ie,neg:l=>le(-l,e),eql:(l,f)=>l===f,sqr:l=>le(l*l,e),add:(l,f)=>le(l+f,e),sub:(l,f)=>le(l-f,e),mul:(l,f)=>le(l*f,e),pow:(l,f)=>Go(d,l,f),div:(l,f)=>le(l*wu(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>wu(l,e),sqrt:i||(l=>(p||(p=ah(e)),p(d,l))),toBytes:l=>r?Fa(l,u):Oe(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let _=new Uint8Array(u);_.set(l,r?0:_.length-l.length),l=_}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?pr(l):Ye(l);if(s&&(h=le(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>ut(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function Au(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function is(e){let t=Au(e);return t+Math.ceil(t/2)}function Ua(e,t,r=!1){let n=e.length,o=Au(t),i=is(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?pr(e):Ye(e),a=le(s,t-Ie)+Ie;return r?Fa(a,o):Oe(a,o)}var no=BigInt(0),Vn=BigInt(1);function Jo(e,t){let r=t.negate();return e?r:t}function dt(e,t){let r=ut(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Pu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function ka(e,t){Pu(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Rt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function Su(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=Vn);let u=t*n,p=u+Math.abs(a)-1,d=a===0,l=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:l,isNegF:f,offsetF:u}}function uh(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function dh(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var La=new WeakMap,Vu=new WeakMap;function qa(e){return Vu.get(e)||1}function Cu(e){if(e!==no)throw new Error("invalid wNAF")}var oo=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>no;)r&Vn&&(n=n.add(o)),o=o.double(),r>>=Vn;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=ka(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let u=1;u<o;u++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=ka(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=Su(n,a,s);n=c,p?i=i.add(Jo(l,r[f])):o=o.add(Jo(d,r[u]))}return Cu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=ka(t,this.bits);for(let s=0;s<i.windows&&n!==no;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Su(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return Cu(n),o}getPrecomputes(t,r,n){let o=La.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),La.set(r,o))),o}cached(t,r,n){let o=qa(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=qa(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){Pu(r,this.bits),Vu.set(t,r),La.delete(t)}hasCache(t){return qa(t)!==1}};function Bu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>no||n>no;)r&Vn&&(i=i.add(o)),n&Vn&&(s=s.add(o)),o=o.double(),r>>=Vn,n>>=Vn;return{p1:i,p2:s}}function io(e,t,r,n){uh(r,e),dh(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=fr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=Rt(c),p=new Array(Number(u)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,l=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let _=0;_<i;_++){let g=n[_],m=Number(g>>BigInt(f)&u);p[m]=p[m].add(r[_])}let h=s;for(let _=p.length-1,g=s;_>0;_--)g=g.add(p[_]),h=h.add(g);if(l=l.add(h),f!==0)for(let _=0;_<c;_++)l=l.double()}return l}function Fu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return os(t),t}else return Ke(e,{isLE:r})}function ss(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>no))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Fu(t.p,r.Fp,n),i=Fu(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}var ph=Ye;function kr(e,t){if(Wo(e),Wo(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function fh(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function Wo(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Du(e){if(!At(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?$(e):e}function hh(e,t,r,n){me(e),Wo(r),t=Du(t),t.length>255&&(t=n(K($("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=K(t,kr(t.length,1)),c=kr(0,i),u=kr(r,2),p=new Array(s),d=n(K(c,e,u,kr(0,1),a));p[0]=n(K(d,kr(1,1),a));for(let f=1;f<=s;f++){let h=[fh(d,p[f-1]),kr(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function mh(e,t,r,n,o){if(me(e),Wo(r),t=Du(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update($("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(kr(r,2)).update(t).update(kr(t.length,1)).digest()}function Ma(e,t,r){hr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!bu(r.hash))throw new Error("expected valid hash");me(e),Wo(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=hh(e,c,d,s);else if(a==="xof")l=mh(e,c,d,o,s);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let g=0;g<i;g++){let m=p*(g+h*i),x=l.subarray(m,m+p);_[g]=le(ph(x),n)}f[h]=_}return f}function ja(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=ut(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var _h=$("HashToScalar-");function Ka(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=Ma(i,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=Ma(i,1,c),p=n(u[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:_h},s);return Ma(i,1,c)[0][0]}}}var Uu=(e,t)=>(e+(e>=0?t:-t)/_r)/t;function yh(e,t,r){let[[n,o],[i,s]]=t,a=Uu(s*e,r),c=Uu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Bn,l=p<Bn;d&&(u=-u),l&&(p=-p);let f=Rt(Math.ceil(fr(r)/2))+He;if(u<Bn||u>=f||p<Bn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Bn=BigInt(0),He=BigInt(1),_r=BigInt(2),so=BigInt(3),Ha=BigInt(4);function zo(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=pe("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function gh(e,t={}){let r=ss("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;hr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=wh(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(S,b,N){let{x:C,y:B}=b.toAffine(),L=n.toBytes(C);if(Fn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return K(xh(A),L)}else return K(Uint8Array.of(4),L,n.toBytes(B))}function l(S){Dr(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,C=S.length,B=S[0],L=S.subarray(1);if(C===b&&(B===2||B===3)){let A=n.fromBytes(L);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let P=_(A),V;try{V=n.sqrt(P)}catch(te){let ee=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+ee)}p();let D=n.isOdd(V);return(B&1)===1!==D&&(V=n.neg(V)),{x:A,y:V}}else if(C===N&&B===4){let A=n.BYTES,P=n.fromBytes(L.subarray(0,A)),V=n.fromBytes(L.subarray(A,A*2));if(!g(P,V))throw new Error("bad point: is not on curve");return{x:P,y:V}}else throw new Error(`bad point: got length ${C}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(S){let b=n.sqr(S),N=n.mul(b,S);return n.add(n.add(N,n.mul(S,i.a)),i.b)}function g(S,b){let N=n.sqr(b),C=_(S);return n.eql(N,C)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,so),Ha),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function y(S,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${S}`);return b}function T(S){if(!(S instanceof w))throw new Error("ProjectivePoint expected")}function E(S){if(!c||!c.basises)throw new Error("no endo");return yh(S,c.basises,o.ORDER)}let O=Ur((S,b)=>{let{X:N,Y:C,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:C};let L=S.is0();b==null&&(b=L?n.ONE:n.inv(B));let A=n.mul(N,b),P=n.mul(C,b),V=n.mul(B,b);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(V,n.ONE))throw new Error("invZ was invalid");return{x:A,y:P}}),R=Ur(S=>{if(S.is0()){if(t.allowInfinityPoint&&!n.is0(S.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=S.toAffine();if(!n.isValid(b)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!g(b,N))throw new Error("bad point: equation left != right");if(!S.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(S,b,N,C,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=Jo(C,b),N=Jo(B,N),b.add(N)}class w{constructor(b,N,C){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",C),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:C}=b||{};if(!b||!n.isValid(N)||!n.isValid(C))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(C)?w.ZERO:new w(N,C,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Dr(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(pe("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return F.createCache(this,b),N||this.multiply(so),this}assertValidity(){R(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:P}=b,V=n.eql(n.mul(N,P),n.mul(L,B)),D=n.eql(n.mul(C,P),n.mul(A,B));return V&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=i,C=n.mul(N,so),{X:B,Y:L,Z:A}=this,P=n.ZERO,V=n.ZERO,D=n.ZERO,q=n.mul(B,B),te=n.mul(L,L),ee=n.mul(A,A),J=n.mul(B,L);return J=n.add(J,J),D=n.mul(B,A),D=n.add(D,D),P=n.mul(b,D),V=n.mul(C,ee),V=n.add(P,V),P=n.sub(te,V),V=n.add(te,V),V=n.mul(P,V),P=n.mul(J,P),D=n.mul(C,D),ee=n.mul(b,ee),J=n.sub(q,ee),J=n.mul(b,J),J=n.add(J,D),D=n.add(q,q),q=n.add(D,q),q=n.add(q,ee),q=n.mul(q,J),V=n.add(V,q),ee=n.mul(L,A),ee=n.add(ee,ee),q=n.mul(ee,J),P=n.sub(P,q),D=n.mul(ee,te),D=n.add(D,D),D=n.add(D,D),new w(P,V,D)}add(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:P}=b,V=n.ZERO,D=n.ZERO,q=n.ZERO,te=i.a,ee=n.mul(i.b,so),J=n.mul(N,L),ae=n.mul(C,A),he=n.mul(B,P),Fe=n.add(N,C),oe=n.add(L,A);Fe=n.mul(Fe,oe),oe=n.add(J,ae),Fe=n.sub(Fe,oe),oe=n.add(N,B);let re=n.add(L,P);return oe=n.mul(oe,re),re=n.add(J,he),oe=n.sub(oe,re),re=n.add(C,B),V=n.add(A,P),re=n.mul(re,V),V=n.add(ae,he),re=n.sub(re,V),q=n.mul(te,oe),V=n.mul(ee,he),q=n.add(V,q),V=n.sub(ae,q),q=n.add(ae,q),D=n.mul(V,q),ae=n.add(J,J),ae=n.add(ae,J),he=n.mul(te,he),oe=n.mul(ee,oe),ae=n.add(ae,he),he=n.sub(J,he),he=n.mul(te,he),oe=n.add(oe,he),J=n.mul(ae,oe),D=n.add(D,J),J=n.mul(re,oe),V=n.mul(Fe,V),V=n.sub(V,J),J=n.mul(Fe,ae),q=n.mul(re,q),q=n.add(q,J),new w(V,D,q)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let C,B,L=A=>F.cached(this,A,P=>dt(w,P));if(N){let{k1neg:A,k1:P,k2neg:V,k2:D}=E(b),{p:q,f:te}=L(P),{p:ee,f:J}=L(D);B=te.add(J),C=v(N.beta,q,ee,A,V)}else{let{p:A,f:P}=L(b);C=A,B=P}return dt(w,[C,B])[0]}multiplyUnsafe(b){let{endo:N}=t,C=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Bn||C.is0())return w.ZERO;if(b===He)return C;if(F.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:L,k2neg:A,k2:P}=E(b),{p1:V,p2:D}=Bu(w,C,L,P);return v(N.beta,V,D,B,A)}else return F.unsafe(C,b)}multiplyAndAddUnsafe(b,N,C){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(C));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===He?!0:b?b(w,this):F.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===He?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Fn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return j(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return dt(w,b)}static msm(b,N){return io(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(zo(o,b))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,F=new oo(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function xh(e){return Uint8Array.of(e?2:3)}function bh(e,t){let r=e.ORDER,n=Bn;for(let h=r-He;h%_r===Bn;h/=_r)n+=He;let o=n,i=_r<<o-He-He,s=i*_r,a=(r-He)/s,c=(a-He)/_r,u=s-He,p=i,d=e.pow(t,a),l=e.pow(t,(a+He)/_r),f=(h,_)=>{let g=d,m=e.pow(_,u),x=e.sqr(m);x=e.mul(x,_);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,m),m=e.mul(y,_),x=e.mul(y,h);let T=e.mul(x,m);y=e.pow(T,p);let E=e.eql(y,e.ONE);m=e.mul(x,l),y=e.mul(T,g),x=e.cmov(m,x,E),T=e.cmov(y,T,E);for(let O=o;O>He;O--){let R=O-_r;R=_r<<R-He;let v=e.pow(T,R),w=e.eql(v,e.ONE);m=e.mul(x,g),g=e.mul(g,g),v=e.mul(T,g),x=e.cmov(m,x,w),T=e.cmov(v,T,w)}return{isValid:E,value:x}};if(e.ORDER%Ha===so){let h=(e.ORDER-so)/Ha,_=e.sqrt(e.neg(t));f=(g,m)=>{let x=e.sqr(m),y=e.mul(g,m);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,_),O=e.mul(e.sqr(T),m),R=e.eql(O,g),v=e.cmov(E,T,R);return{isValid:R,value:v}}}return f}function $a(e,t){os(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let i=bh(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,p,d,l,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:_,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,_),h=e.cmov(h,g,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let x=ut(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function wh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Ga(e){let{CURVE:t,curveOpts:r}=Th(e),n=gh(t,r);return Oh(e,n)}function Th(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=Ke(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function Nh(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Oh(e,t){let{Fp:r,Fn:n}=t;function o(s){return Va(s,He,n.ORDER)}let i=Nh(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>zo(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Eh=BigInt(0),as=BigInt(1),ku=BigInt(2),ao=BigInt(3);function Rh(e){let t=[];for(;e>as;e>>=as)(e&as)===Eh?t.unshift(0):(e&ao)===ao?(t.unshift(-1),e+=as):t.unshift(1);return t}function Ja(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Ih(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(s==="multiplicative")p=(y,T,E,O,R,v)=>i.mul014(O,y,o.mul(T,R),o.mul(E,v));else if(s==="divisive")p=(y,T,E,O,R,v)=>i.mul034(O,o.mul(E,v),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,ku));function l(y,T,E,O){let R=o.sqr(E),v=o.sqr(O),w=o.mulByB(o.mul(v,ao)),I=o.mul(w,ao),F=o.sub(o.sub(o.sqr(o.add(E,O)),v),R),S=o.sub(w,R),b=o.mul(o.sqr(T),ao),N=o.neg(F);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,I),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,I),d)),o.mul(o.sqr(w),ao)),O=o.mul(R,F),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,v){let w=o.sub(E,o.mul(v,O)),I=o.sub(T,o.mul(R,O)),F=o.sub(o.mul(w,R),o.mul(I,v)),S=o.neg(w),b=I;y.push([F,S,b]);let N=o.sqr(I),C=o.mul(N,I),B=o.mul(N,T),L=o.add(o.sub(C,o.mul(B,ku)),o.mul(o.sqr(w),O));return T=o.mul(I,L),E=o.sub(o.mul(o.sub(B,L),w),o.mul(C,E)),O=o.mul(O,C),{Rx:T,Ry:E,Rz:O}}let h=Rh(a),_=Ur(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,v=O,w=o.neg(O),I=R,F=v,S=o.ONE,b=[];for(let N of h){let C=[];({Rx:I,Ry:F,Rz:S}=l(C,I,F,S)),N&&({Rx:I,Ry:F,Rz:S}=f(C,I,F,S,R,N===-1?w:v)),b.push(C)}if(u){let N=b[b.length-1];u(I,F,S,R,v,f.bind(null,N))}return b});function g(y,T=!1){let E=i.ONE;if(y.length){let O=y[0][0].length;for(let R=0;R<O;R++){E=i.sqr(E);for(let[v,w,I]of y)for(let[F,S,b]of v[R])E=p(F,S,b,E,w,I)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function m(y,T=!0){let E=[];dt(t,y.map(({g1:O})=>O)),dt(r,y.map(({g2:O})=>O));for(let{g1:O,g2:R}of y){if(O.is0()||R.is0())throw new Error("pairing is not available for ZERO point");O.assertValidity(),R.assertValidity();let v=O.toAffine();E.push([_(R),v.x,v.y])}return g(E,T)}function x(y,T,E=!0){return m([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:m,calcPairingPrecomputes:_}}function Lu(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function u(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,l)=>({g1:l,g2:d}):(d,l)=>({g1:d,g2:l});return{getPublicKey(d){let l=zo(t.Point.Fn,d);return t.Point.BASE.multiply(l)},sign(d,l,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=zo(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let _=f.negate(),g=t.Point.BASE,m=u(l),x=d,y=s([p(_,m),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(Ja(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),_=l,g=f.map(a),m=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=_[T],R=m.get(O);R===void 0&&(R=[],m.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of m){let O=E.reduce((R,v)=>R.add(v));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){Ja(d),d=d.map(f=>a(f));let l=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return l.assertValidity(),l},aggregateSignatures(d){Ja(d),d=d.map(f=>c(f));let l=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return l.assertValidity(),l},hash(d,l){me(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function qu(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Ga(e.G1),a=Object.assign(s,Ka(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Ga(e.G2),u=Object.assign(c,Ka(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Ih(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=Lu(p,a,u,e.G2.Signature,!1),g=Lu(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||jn,x=()=>{let A=is(r.ORDER);return Ua(m(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,P){return A instanceof a.Point?A:g.hash(pe("point",A),P?.DST)}function R(A,P){return A instanceof u.Point?A:_.hash(pe("point",A),P?.DST)}function v(A){return _.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function I(A,P,V){let D=R(A,V),q=_.sign(D,P);return A instanceof u.Point?q:E.toBytes(q)}function F(A,P,V){let D=O(A,V),q=g.sign(D,P);return A instanceof a.Point?q:T.toBytes(q)}function S(A,P,V,D){let q=R(P,D);return _.verify(A,q,V)}function b(A,P,V,D){let q=O(P,D);return g.verify(A,q,V)}function N(A){let P=_.aggregatePublicKeys(A);return A[0]instanceof a.Point?P:P.toBytes(!0)}function C(A){let P=_.aggregateSignatures(A);return A[0]instanceof u.Point?P:E.toBytes(P)}function B(A){let P=g.aggregateSignatures(A);return A[0]instanceof a.Point?P:T.toBytes(P)}function L(A,P,V,D){let q=P.map(te=>R(te,D));return _.verifyBatch(A,q,V)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:L,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:v,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:F,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:C,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var Mu=BigInt(0),yr=BigInt(1),$e=BigInt(2),ju=BigInt(3);function Za(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=yr;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function Hu(e,t,r){let n=t.pow(r,(e.ORDER-yr)/ju),o=t.pow(r,(e.ORDER-yr)/$e);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**$e-yr)/ju),a=t.pow(r,(e.ORDER**$e-yr)/$e);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,s),t.neg(f)]}let u=l=>(f,h)=>{let _=h.toAffine(),g=l(_.x,_.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(i),d=u(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var Ku=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},Wa=class{constructor(t,r={}){this.MASK=yr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=fr(o),this.BYTES=Math.ceil(fr(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,$e),this.NONRESIDUE=Ku(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Za(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Ku(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Mu<=o&&o<i}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return Go(this,t,r)}invertBatch(t){return ut(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:i}=t;if(r.is0(i))return $o(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);$o(r,a)===-1&&(a=r.sub(a,s));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(i,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:_,im:g}=n.reim(l);return h>g||h===g&&f>_?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%$e,i=r===Mu,s=n%$e;return BigInt(o||i&&s)==yr}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return K(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},za=class{constructor(t){this.MASK=yr,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=Za(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,u=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(u,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(u,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),$e),a=o.mul(o.mul(r,n),$e),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return ro()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return Go(this,t,r)}invertBatch(t){return ut(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return K(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},Ya=class{constructor(t,r){this.MASK=yr;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=Za(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){ro()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return Go(this,t,r)}invertBatch(t){return ut(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return K(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(i,c),c1:o.mul(s,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),u=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),u)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(p,s.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(i,u),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:g}=o.Fp4Square(s,p),m=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),$e),d),c1:o.add(o.mul(o.sub(f,s),$e),f),c2:o.add(o.mul(o.sub(_,a),$e),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),$e),m),c1:o.add(o.mul(o.add(l,u),$e),l),c2:o.add(o.mul(o.add(h,p),$e),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),xu(r,o)&&(n=this.mul(n,t));return n}};function $u(e){let t=Ke(e.ORDER),r=new Wa(t,e),n=new za(r),o=new Ya(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ve=BigInt(0),cs=BigInt(1),pt=BigInt(2),ls=BigInt(3),Yo=BigInt(4),Lr=BigInt("0xd201000000010000"),vh=fr(Lr),Dn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ve,b:Yo,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Ah=Ke(Dn.n,{modFromBytes:!0,isLE:!0}),{Fp:M,Fp2:W,Fp6:Sh,Fp12:X}=$u({ORDER:Dn.p,X_LEN:vh,FP2_NONRESIDUE:[cs,cs],Fp2mulByB:({c0:e,c1:t})=>{let r=M.mul(e,Yo),n=M.mul(t,Yo);return{c0:M.sub(r,n),c1:M.add(r,n)}},Fp12finalExponentiate:e=>{let t=Lr,r=X.div(X.frobeniusMap(e,6),e),n=X.mul(X.frobeniusMap(r,2),r),o=X.conjugate(X._cyclotomicExp(n,t)),i=X.mul(X.conjugate(X._cyclotomicSquare(n)),o),s=X.conjugate(X._cyclotomicExp(i,t)),a=X.conjugate(X._cyclotomicExp(s,t)),c=X.mul(X.conjugate(X._cyclotomicExp(a,t)),X._cyclotomicSquare(o)),u=X.conjugate(X._cyclotomicExp(c,t)),p=X.frobeniusMap(X.mul(o,a),2),d=X.frobeniusMap(X.mul(s,n),3),l=X.frobeniusMap(X.mul(c,X.conjugate(n)),1),f=X.mul(X.mul(u,X.conjugate(i)),n);return X.mul(X.mul(X.mul(p,d),l),f)}}),{G2psi:Gu,G2psi2:Ch}=Hu(M,W,W.div(W.ONE,W.NONRESIDUE)),Xa=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:M.ORDER,m:2,k:128,expand:"xmd",hash:Pe}),tc={p:W.ORDER,n:Dn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([Yo,Yo]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},us=Zo(M.toBytes(Ve),{infinity:!0,compressed:!0});function ds(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function Zo(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function Fh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return us.slice();let c=!!(a*pt/o);return Zo(Oe(s,n),{compressed:!0,sort:c})}else return i?K(Uint8Array.of(64),new Uint8Array(2*n-1)):K(Oe(s,n),Oe(a,n))}function Qa(e){e.assertValidity();let{BYTES:t,ORDER:r}=M,{x:n,y:o}=e.toAffine();if(e.is0())return us.slice();let i=!!(o*pt/r);return Zo(Oe(n,t),{compressed:!0,sort:i})}function Ph(e){let{compressed:t,infinity:r,sort:n,value:o}=ds(e),{BYTES:i,ORDER:s}=M;if(o.length===48&&t){let a=Ye(o),c=M.create(a&Rt(M.BITS));if(r){if(c!==Ve)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ve,y:Ve}}let u=M.add(M.pow(c,ls),M.create(Dn.b)),p=M.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*pt/s!==BigInt(n)&&(p=M.neg(p)),{x:M.create(c),y:M.create(p)}}else if(o.length===96&&!t){let a=Ye(o.subarray(0,i)),c=Ye(o.subarray(i));if(r){if(a!==Ve||c!==Ve)throw new Error("G1: non-empty point at infinity");return Xo.G1.Point.ZERO.toAffine()}return{x:M.create(a),y:M.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Ju(e){let{infinity:t,sort:r,value:n}=ds(pe("signatureHex",e,48)),o=M.ORDER,i=Xo.G1.Point,s=Ye(n);if(t)return i.ZERO;let a=M.create(s&Rt(M.BITS)),c=M.add(M.pow(a,ls),M.create(Dn.b)),u=M.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*pt/o!==p&&(u=M.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function Vh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return K(us,Oe(Ve,n));let c=!!(a.c1===Ve?a.c0*pt/o:a.c1*pt/o);return K(Zo(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return K(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=W.reim(s),{re:p,im:d}=W.reim(a);return K(Oe(u,n),Oe(c,n),Oe(d,n),Oe(p,n))}}function ec(e){e.assertValidity();let{BYTES:t}=M;if(e.is0())return K(us,Oe(Ve,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),u=!!((a>Ve?a*pt:s*pt)/M.ORDER&cs),p=o;return K(Zo(Oe(i,t),{sort:u,compressed:!0}),Oe(p,t))}function Bh(e){let{BYTES:t,ORDER:r}=M,{compressed:n,infinity:o,sort:i,value:s}=ds(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>Ye(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=W.create({c0:M.create(u),c1:M.create(c)}),d=W.add(W.pow(p,ls),tc.b),l=W.sqrt(d),f=l.c1===Ve?l.c0*pt/r:l.c1*pt/r?cs:Ve;return l=i&&f>0?l:W.neg(l),{x:p,y:l}}else if(s.length===192&&!n){if(o){if(s.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0*t,1*t),u=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:W.fromBigTuple([u,c]),y:W.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Wu(e){let{ORDER:t}=M,{infinity:r,sort:n,value:o}=ds(pe("signatureHex",e)),i=Xo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Ye(o.slice(0,s)),c=Ye(o.slice(s));if(r)return i.ZERO;let u=M.create(a&Rt(M.BITS)),p=M.create(c),d=W.create({c0:p,c1:u}),l=W.add(W.pow(d,ls),tc.b),f=W.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),g=BigInt(n),m=_>Ve&&_*pt/t!==g,x=_===Ve&&h*pt/t!==g;(m||x)&&(f=W.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Xo=qu({fields:{Fp:M,Fp2:W,Fp6:Sh,Fp12:X,Fr:Ah},G1:{...Dn,Fp:M,htfDefaults:{...Xa,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(M.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(Lr).negate().multiplyUnsafe(Lr).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(Lr).add(t),mapToCurve:qh,fromBytes:Ph,toBytes:Fh,ShortSignature:{fromBytes(e){return me(e),Ju(e)},fromHex(e){return Ju(e)},toBytes(e){return Qa(e)},toRawBytes(e){return Qa(e)},toHex(e){return j(Qa(e))}}},G2:{...tc,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Xa},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:Mh,isTorsionFree:(e,t)=>t.multiplyUnsafe(Lr).negate().equals(Gu(e,t)),clearCofactor:(e,t)=>{let r=Lr,n=t.multiplyUnsafe(r).negate(),o=Gu(e,t),i=t.double();return i=Ch(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:Bh,toBytes:Vh,Signature:{fromBytes(e){return me(e),Wu(e)},fromHex(e){return Wu(e)},toBytes(e){return ec(e)},toRawBytes(e){return ec(e)},toHex(e){return j(ec(e))}}},params:{ateLoopSize:Lr,r:Dn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Xa,hash:Pe}),Dh=ja(W,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>W.fromBigTuple(t.map(BigInt))))),Uh=ja(M,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),kh=$a(M,{A:M.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:M.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:M.create(BigInt(11))}),Lh=$a(W,{A:W.create({c0:M.create(Ve),c1:M.create(BigInt(240))}),B:W.create({c0:M.create(BigInt(1012)),c1:M.create(BigInt(1012))}),Z:W.create({c0:M.create(BigInt(-2)),c1:M.create(BigInt(-1))})});function qh(e){let{x:t,y:r}=kh(M.create(e[0]));return Uh(t,r)}function Mh(e){let{x:t,y:r}=Lh(W.fromBigTuple(e));return Dh(t,r)}function zu(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return Xo.verifyShortSignature(o,i,n)}var Kh=BigInt(1e6),rc=e=>ge(new wt(e)),qr=e=>{let r=rc(e)/Kh;return new Date(Number(r))};var Yu=60*1e3,Hh=60,$h=24,Gh=$h*Hh,Jh=5,Wh=5,zh=30*Gh,fe;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(fe||(fe={}));function Yh(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var st=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.principal,t.blsVerify??zu,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=Jh,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Me(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return gr(t,this.cert.tree)}lookup_subtree(t){return ti(t,this.cert.tree)}async verify(){let t=await fs(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=Xh(r),i=K(ba,t),s=ve(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new gt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Yu,u=new Date,p=u.getTime()+a,d=p-c,l=p+Wh*Yu,f=qr(s),h=f.getTime()<d,_=f.getTime()>l;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Le.fromCode(new ir(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ce.fromCode(new Re("System time has been synced with the IC network, but certificate is still too far in the future.")):Le.fromCode(new ir(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Le.fromCode(new gt("Invalid signature"))}catch(a){throw Le.fromCode(new gt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:zh,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new Ni);await r.verify();let n;if(Xu(this._principal)){let i=this._principal.canisterId;if(n=U.fromUint8Array(t.subnet_id),!nc({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Le.fromCode(new Nn(i,n))}else if(Zu(this._principal))n=this._principal.subnetId;else throw ct;let o=ve(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw Zu(this._principal)?Le.fromCode(new Oi(n)):Le.fromCode(new Ri(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(Xu(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function Zu(e){return"subnetId"in e}function Xu(e){return"canisterId"in e}var Qo=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),Zh=96;function Xh(e){let t=Qo.byteLength+Zh;if(e.byteLength!==t)throw ne.fromCode(new Kn(t,e.byteLength));let r=e.slice(0,Qo.byteLength);if(!An(r,Qo))throw ne.fromCode(new Ii(Qo,r));return e.slice(Qo.byteLength)}function ve(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function fs(e){switch(e[0]){case fe.Empty:return Pe(ps("ic-hashtree-empty"));case fe.Pruned:return e[1];case fe.Leaf:return Pe(K(ps("ic-hashtree-leaf"),e[1]));case fe.Labeled:return Pe(K(ps("ic-hashtree-labeled"),e[1],await fs(e[2])));case fe.Fork:return Pe(K(ps("ic-hashtree-fork"),await fs(e[1]),await fs(e[2])));default:throw ct}}function ps(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function Qu(e){return typeof e[0]=="string"?$(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var Mr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Mr||(Mr={}));var ue;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ue||(ue={}));function gr(e,t){if(e.length===0)switch(t[0]){case fe.Empty:return{status:Be.Absent};case fe.Leaf:{if(!t[1])throw ce.fromCode(new Fr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:Be.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw ct}case fe.Pruned:return{status:Be.Unknown};case fe.Labeled:case fe.Fork:return{status:Be.Error};default:throw ct}let r=Qu(e),n=ei(r,t);switch(n.status){case ue.Found:return gr(e.slice(1),n.value);case ue.Absent:case ue.Greater:case ue.Less:return{status:Be.Absent};case ue.Unknown:return{status:Be.Unknown};default:throw ct}}function ti(e,t){if(e.length===0)return{status:Mr.Found,value:t};let r=Qu(e),n=ei(r,t);switch(n.status){case ue.Found:return ti(e.slice(1),n.value);case ue.Unknown:return{status:Mr.Unknown};case ue.Absent:case ue.Greater:case ue.Less:return{status:Mr.Absent};default:throw ct}}function ms(e){switch(e[0]){case fe.Empty:return[];case fe.Fork:return ms(e[1]).concat(ms(e[2]));default:return[e]}}function ei(e,t){switch(t[0]){case fe.Labeled:return Yh(e,t[1])?{status:ue.Greater}:An(e,t[1])?{status:ue.Found,value:t[2]}:{status:ue.Less};case fe.Fork:{let r=ei(e,t[1]);switch(r.status){case ue.Greater:{let n=ei(e,t[2]);return n.status===ue.Less?{status:ue.Absent}:n}case ue.Unknown:{let n=ei(e,t[2]);return n.status===ue.Less?{status:ue.Unknown}:n}default:return r}}case fe.Pruned:return{status:ue.Unknown};default:return{status:ue.Absent}}}function hs(e,t){switch(t[0]){case fe.Empty|fe.Pruned:return[];case fe.Leaf:return[e];case fe.Fork:return hs(e,t[1]).concat(hs(e,t[2]));case fe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return hs(o,n)}default:throw ct}}function nc(e){let t=Qh(e),r=oc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function Qh(e){let{subnetId:t,tree:r,canisterId:n}=e,o=ti(["canister_ranges",t.toUint8Array()],r);if(o.status!==Mr.Found)return em(t,r);let i=o.value,s=tm(i);if(s.length===0)throw ne.fromCode(new Nn(n,t));s.sort(Gn);let a=rm(s,n),c=s[a];return nm(c,i)}function em(e,t){let r=gr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw ne.fromCode(new xt(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function oc(e){return Me(e).map(n=>[U.fromUint8Array(n[0]),U.fromUint8Array(n[1])])}function tm(e){let t=[];for(let r of hs([],e)){let n=r[0];if(!n)throw ne.fromCode(new gt("Path is invalid"));t.push(n)}return t}function rm(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);Gn(e[i],r)<=0?o=i:n=i+1}return n}function nm(e,t){let r=gr([e],t);if(r.status!==Be.Found)throw ne.fromCode(new xt(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function ic(e,t){return e.delegation?U.fromUint8Array(e.delegation.subnet_id):U.selfAuthenticating(t)}var ed=U.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function _s(e,t){switch(t){case"raw":return e;case"leb128":return rc(e);case"cbor":return Me(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function td(e){return Me(e).map(r=>U.fromUint8Array(r))}function rd(e,t){let r=typeof e=="string"?$(e):e;return[$("canister"),t,$("metadata"),r]}function jr(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function co(e,t){let r=ti(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==Mr.Found)throw ne.fromCode(new xt("Node not found",r.status));if(r.value instanceof Uint8Array)throw ce.fromCode(new Fr("Invalid node tree"));let n=ms(r.value),o=new Map;return n.forEach(i=>{let s=U.from(i[1]).toText(),a=gr(["public_key"],i[2]);if(a.status!==Be.Found)throw ne.fromCode(new xt("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw ne.fromCode(new Kn(44,c.byteLength));o.set(s,c)}),o}var nd=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=U.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=im(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new at);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await st.create({certificate:l.certificate,rootKey:d,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="subnet"){let y=om(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,qr(g));break}case"controllers":{s.set(_,td(g));break}case"module_hash":{s.set(_,j(g));break}case"subnet":{s.set(_,g);break}case"candid":{s.set(_,new TextDecoder().decode(g));break}default:jr(_)&&s.set(_.key,_s(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(gt)||d.hasCode(ir)))throw d;jr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},om=(e,t,r)=>{if(!t._isPrincipal)throw Y.fromCode(new Re("Invalid canisterId"));let n=Me(e),{delegation:o}=n,i;o&&o.subnet_id?i=U.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=U.selfAuthenticating(new Uint8Array(r)):i=ed;let s=co(n,i);return{subnetId:i.toText(),nodeKeys:s}},im=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"controllers":return[$("canister"),r,$("controllers")];case"module_hash":return[$("canister"),r,$("module_hash")];case"subnet":return[$("subnet")];case"candid":return[$("canister"),r,$("metadata"),$("candid:service")];default:if(jr(e))return typeof e.path=="string"||e.path instanceof Uint8Array?rd(e.path,r):e.path}throw ce.fromCode(new Re(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function od(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=U.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=sm(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new at);let d=t.rootKey,l=await t.readSubnetState(o,{paths:[p]}),f=await st.create({certificate:l.certificate,rootKey:d,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="nodeKeys"){let y=co(m.cert,o);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,qr(g));break}case"canisterRanges":{s.set(_,oc(g));break}case"publicKey":{s.set(_,g);break}case"nodeKeys":{s.set(_,g);break}default:jr(_)&&s.set(_.key,_s(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(gt)||d.hasCode(ir)))throw d;jr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function sm(e,t){let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"canisterRanges":return[$("canister_ranges"),r];case"publicKey":return[$("subnet"),r,$("public_key")];case"nodeKeys":return[$("subnet"),r,$("node")];default:if(jr(e))if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?$(e.path):e.path;return[$("subnet"),r,n]}else return e.path}throw ce.fromCode(new Re(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}var Kr=BigInt(0),Ae=BigInt(1),sc=BigInt(2),am=BigInt(8);function cm(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function lm(e,t={}){let r=ss("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;hr(t,{},{uvRatio:"function"});let a=sc<<BigInt(o.BYTES*8)-Ae,c=g=>n.create(g),u=t.uvRatio||((g,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,m))}}catch{return{isValid:!1,value:Kr}}});if(!cm(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ae:Kr;return ns("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=Ur((g,m)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();m==null&&(m=E?am:n.inv(T));let O=c(x*m),R=c(y*m),v=n.mul(T,m);if(E)return{x:Kr,y:Ae};if(v!==Ae)throw new Error("invZ was invalid");return{x:O,y:R}}),f=Ur(g=>{let{a:m,d:x}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:E,T:O}=g,R=c(y*y),v=c(T*T),w=c(E*E),I=c(w*w),F=c(R*m),S=c(w*c(F+v)),b=c(I+c(x*c(R*v)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),C=c(E*O);if(N!==C)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,x,y,T){this.X=p("x",m),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x,y}=m||{};return p("x",x),p("y",y),new h(x,y,Ae,c(x*y))}static fromBytes(m,x=!1){let y=n.BYTES,{a:T,d:E}=i;m=Pa(Dr(m,y,"point")),Fn(x,"zip215");let O=Pa(m),R=m[y-1];O[y-1]=R&-129;let v=pr(O),w=x?a:n.ORDER;ns("point.y",v,Kr,w);let I=c(v*v),F=c(I-Ae),S=c(E*I-T),{isValid:b,value:N}=u(F,S);if(!b)throw new Error("bad point: invalid y coordinate");let C=(N&Ae)===Ae,B=(R&128)!==0;if(!x&&N===Kr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==C&&(N=c(-N)),h.fromAffine({x:N,y:v})}static fromHex(m,x=!1){return h.fromBytes(pe("point",m),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,x=!0){return _.createCache(this,m),x||this.multiply(sc),this}assertValidity(){f(this)}equals(m){d(m);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=m,v=c(x*R),w=c(E*T),I=c(y*R),F=c(O*T);return v===w&&I===F}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(sc*c(T*T)),v=c(m*E),w=x+y,I=c(c(w*w)-E-O),F=v+O,S=F-R,b=v-O,N=c(I*S),C=c(F*b),B=c(I*b),L=c(S*F);return new h(N,C,L,B)}add(m){d(m);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:v,Y:w,Z:I,T:F}=m,S=c(T*v),b=c(E*w),N=c(R*y*F),C=c(O*I),B=c((T+E)*(v+w)-S-b),L=C-N,A=C+N,P=c(b-x*S),V=c(B*L),D=c(A*P),q=c(B*P),te=c(L*A);return new h(V,D,te,q)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=_.cached(this,m,T=>dt(h,T));return dt(h,[x,y])[0]}multiplyUnsafe(m,x=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===Kr?h.ZERO:this.is0()||m===Ae?this:_.unsafe(this,m,y=>dt(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return l(this,m)}clearCofactor(){return s===Ae?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=m&Ae?128:0,y}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return dt(h,m)}static msm(m,x){return io(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Ae,c(i.Gx*i.Gy)),h.ZERO=new h(Kr,Ae,Ae,Kr),h.Fp=n,h.Fn=o;let _=new oo(h,o.BITS);return h.BASE.precompute(8),h}var ys=class{constructor(t){this.ep=t}static fromBytes(t){ro()}static fromHex(t){ro()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return j(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function um(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');hr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||jn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,F)=>{if(Fn(F,"phflag"),I.length||F)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(pr(w))}function d(w){let I=y.secretKey;w=pe("private key",w,I);let F=pe("hashed private key",t(w),2*I),S=c(F.slice(0,I)),b=F.slice(I,2*I),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:I,prefix:F,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:I,prefix:F,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let F=K(...I);return p(t(u(F,pe("context",w),!!n)))}function _(w,I,F={}){w=pe("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(I),C=h(F.context,S,w),B=o.multiply(C).toBytes(),L=h(F.context,B,N,w),A=s.create(C+L*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let P=K(B,s.toBytes(A));return Dr(P,y.signature,"result")}let g={zip215:!0};function m(w,I,F,S=g){let{context:b,zip215:N}=S,C=y.signature;w=pe("signature",w,C),I=pe("message",I),F=pe("publicKey",F,y.publicKey),N!==void 0&&Fn(N,"zip215"),n&&(I=n(I));let B=C/2,L=w.subarray(0,B),A=pr(w.subarray(B,C)),P,V,D;try{P=e.fromBytes(F,N),V=e.fromBytes(L,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&P.isSmallOrder())return!1;let q=h(b,V.toBytes(),P.toBytes(),I);return V.add(P.multiplyUnsafe(q)).subtract(D).clearCofactor().is0()}let x=i.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return Dr(w,y.seed,"seed")}function E(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function O(w){return At(w)&&w.length===s.BYTES}function R(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let v={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:I}=e.fromBytes(w),F=y.publicKey,S=F===32;if(!S&&F!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Ae+I,Ae-I):i.div(I-Ae,I+Ae);return i.toBytes(b)},toMontgomerySecret(w){let I=y.secretKey;Dr(w,I);let F=t(w.subarray(0,I));return c(F).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:_,verify:m,utils:v,Point:e,lengths:y})}function dm(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=Ke(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function pm(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function id(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=dm(e),i=lm(t,r),s=um(i,n,o);return pm(e,s)}var fm=BigInt(0),xr=BigInt(1),sd=BigInt(2),lx=BigInt(3),hm=BigInt(5),mm=BigInt(8),lo=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ri={p:lo,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:mm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function _m(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=lo,a=e*e%i*e%i,c=It(a,sd,i)*a%i,u=It(c,xr,i)*e%i,p=It(u,hm,i)*u%i,d=It(p,t,i)*p%i,l=It(d,r,i)*d%i,f=It(l,n,i)*l%i,h=It(f,o,i)*f%i,_=It(h,o,i)*f%i,g=It(_,t,i)*p%i;return{pow_p_5_8:It(g,sd,i)*e%i,b2:a}}function ym(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var ac=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function uc(e,t){let r=lo,n=le(t*t*t,r),o=le(n*n*t,r),i=_m(e*o).pow_p_5_8,s=le(e*n*i,r),a=le(t*s*s,r),c=s,u=le(s*ac,r),p=a===e,d=a===le(-e,r),l=a===le(-e*ac,r);return p&&(s=c),(d||l)&&(s=u),mr(s,r)&&(s=le(-s,r)),{isValid:p||d,value:s}}var Hr=Ke(ri.p,{isLE:!0}),gm=Ke(ri.n,{isLE:!0}),xm={...ri,Fp:Hr,hash:Rl,adjustScalarBytes:ym,uvRatio:uc},Ge=id(xm);var cc=ac,bm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),wm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Tm=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Nm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),ad=e=>uc(xr,e),Om=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),lc=e=>Ge.Point.Fp.create(pr(e)&Om);function cd(e){let{d:t}=ri,r=lo,n=m=>Hr.create(m),o=n(cc*e*e),i=n((o+xr)*Tm),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=uc(i,a),p=n(u*e);mr(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-xr)*Nm-a),l=u*u,f=n((u+u)*a),h=n(d*bm),_=n(xr-l),g=n(xr+l);return new Ge.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Em(e){me(e,64);let t=lc(e.subarray(0,32)),r=cd(t),n=lc(e.subarray(32,64)),o=cd(n);return new br(r.add(o))}var br=class e extends ys{constructor(t){super(t)}static fromAffine(t){return new e(Ge.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Em(pe("ristrettoHash",t,64))}static fromBytes(t){me(t,32);let{a:r,d:n}=ri,o=lo,i=T=>Hr.create(T),s=lc(t);if(!gu(Hr.toBytes(s),t)||mr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(xr+r*a),u=i(xr-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=ad(i(l*d)),_=i(h*u),g=i(h*_*l),m=i((s+s)*_);mr(m,o)&&(m=i(-m));let x=i(c*g),y=i(m*x);if(!f||mr(y,o)||x===fm)throw new Error("invalid ristretto255 encoding 2");return new e(new Ge.Point(m,x,xr,y))}static fromHex(t){return e.fromBytes(pe("ristrettoHex",t,32))}static msm(t,r){return io(e,Ge.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=lo,s=g=>Hr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=ad(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(mr(o*f,i)){let g=s(r*cc),m=s(t*cc);t=g,r=m,h=s(d*wm)}else h=l;mr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return mr(_,i)&&(_=s(-_)),Hr.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Hr.create(u),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};br.BASE=new br(Ge.Point.BASE);br.ZERO=new br(Ge.Point.ZERO);br.Fp=Hr;br.Fn=gm;var ld,ud,gs=class{static{ld=Symbol.iterator,ud=Symbol.toStringTag}#e;#t;constructor(t={}){this[ld]=this.entries.bind(this),this[ud]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([i,s])=>[i,{value:s,timestamp:o}])),this.#t=n}prune(){let t=Date.now();for(let[r,n]of this.#e.entries())t-n.timestamp>this.#t&&this.#e.delete(r);return this}set(t,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(t,n),this}get(t){let r=this.#e.get(t);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(t);return}return r.value}}clear(){this.#e.clear()}entries(){let t=this.#e.entries();return function*(){for(let[n,o]of t)yield[n,o.value]}()}values(){let t=this.#e.values();return function*(){for(let n of t)yield n.value}()}keys(){return this.#e.keys()}forEach(t,r){for(let[n,o]of this.#e.entries())t.call(r,o.value,n,this)}has(t){return this.#e.has(t)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}};var dd=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw Y.fromCode(new Oo("Length too long (> 4 bytes)"))},pd=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw Y.fromCode(new Oo("Length too long (> 4 bytes)"))},dc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw Y.fromCode(new bt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw Y.fromCode(new bt("Length too long (> 4 bytes)"))},Rm=(e,t)=>{let r=dc(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw Y.fromCode(new bt("Length too long (> 4 bytes)"))},ni=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Un=Uint8Array.from([48,5,6,3,43,101,112]),hx=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),mx=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function kn(e,t){let r=2+dd(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+dd(n)+n);return i[o++]=48,o+=pd(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=pd(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Ln=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw Y.fromCode(new bt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=dc(o,r),!An(o.slice(r,r+t.byteLength),t))throw Y.fromCode(new bt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Rm(o,r)-1;r+=dc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw Y.fromCode(new vi(i,s.length));return s};var xs=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return kn(t,Un)}static derDecode(t){let r=Ln(t,Un);if(r.length!==this.RAW_KEY_LENGTH)throw Y.fromCode(new bt("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw Y.fromCode(new bt("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var pc=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},bs=class extends pc{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var ws=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#i=i,this.#o=c,this.#a=c.now(),this.#d=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#a}get currentInterval(){return this.#e}get count(){return this.#c}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#i),this.#c++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#c>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var Ut;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Ut||(Ut={}));var mc=60*1e3,Im=1e6,vm=0,Am="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Sm="ic0.app",Cm=".ic0.app",Fm="icp0.io",Pm=".icp0.io",Vm="icp-api.io",Bm=".icp-api.io",fc=200,Dm=202,Um=404;function km(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw ye.fromCode(new $n("Fetch implementation was not available. You appear to be in a browser context, but window.fetch was not present."));else if(typeof global<"u")if(global.fetch)e=global.fetch.bind(global);else throw ye.fromCode(new $n("Fetch implementation was not available. You appear to be in a Node.js context, but global.fetch was not available."));else typeof self<"u"&&self.fetch&&(e=self.fetch.bind(self));if(e)return e;throw ye.fromCode(new $n("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function Lm(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(window.location.protocol+"//"+e):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var wr=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c;#w;#s;#u;#f;#l;get#E(){return this.#l*mc}#h;#m;#_;#y;constructor(t={}){this.#e=null,this.#t=!1,this.#r=vm,this.#i=!1,this.#a=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new bs,this.#h=[],this.#m=[],this.#_=new gs({expirationTime:5*mc}),this.#y=!0,this.#T=(o,i)=>{if(this.#y===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=U.fromUint8Array(d).toText(),f;if(s===Rr.Replied){let{reply:x}=o;f=Do({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===Rr.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Do({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ce.fromCode(new Re(`Unknown status: ${s}`));let h=K(wa,f),_=i.get(l);if(!_)throw ne.fromCode(new Li);let g=xs.fromDer(_).rawKey;if(!Ge.verify(u.signature,h,g))throw Le.fromCode(new qi(l))}return o},this.config=t,this.#o=t.fetch||km()||fetch.bind(global),this.#c=t.fetchOptions,this.#w=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#d=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(Am);let r=Lm(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#y=t.verifyQuerySignatures),this.#u=t.retryTimes??3;let n=()=>new ws({maxIterations:this.#u});if(this.#f=t.backoffStrategy||n,this.host.hostname.endsWith(Cm)?this.host.hostname=Sm:this.host.hostname.endsWith(Pm)?this.host.hostname=Fm:this.host.hostname.endsWith(Bm)&&(this.host.hostname=Vm),t.credentials){let{name:o,password:i}=t.credentials;this.#s=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new ot),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw Y.fromCode(new Ct("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw Y.fromCode(new Ct("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",va(Ho)),t.useQueryNonces&&this.addTransform("query",va(Ho)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#p(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw Y.fromCode(new Di)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw ye.fromCode(new Cr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw ye.fromCode(new Cr);let s=U.from(t),a=r.effectiveCanisterId?U.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),u=hc(this.#l,this.#r),p={request_type:es.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:u},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(m){return Object.assign(m,{__nonce__:void 0})}d=await i.transformRequest(d);let h=jo(d.body),_=this.#f(),g=lr(p);try{let y=o?()=>{let R=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})}:()=>{let R=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})},{responseBodyBytes:T,...E}=await this.#g({requestFn:y,backoff:_,tries:0}),O=T.byteLength>0?Me(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Ro))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(Ct)&&!this.#i)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=m}else x=ce.fromCode(new Re(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),u=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${u.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ce.fromCode(new On(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let p;try{this.log.print(`fetching "${u.pathname}" with request:`,n),p=await this.#o(u,{...this.#c,...n.request,body:o})}catch(m){if(a<this.#u)return this.log.warn(`Caught exception while attempting to make query:
53
+ ${m}
54
+ Retrying query.`),await this.#b({...t,tries:a+1});throw No.fromCode(new Io(m))}let d=Aa(p.headers);if(p.status!==fc){let m=await p.text();if(fd(m))throw Y.fromCode(new Ct(m,this.#l));if(a<this.#u)return await this.#b({...t,tries:a+1});throw ne.fromCode(new Eo(p.status,p.statusText,d,m))}let f={...Me(Zn(await p.arrayBuffer())),httpDetails:{ok:p.ok,status:p.status,statusText:p.statusText,headers:d},requestId:i};if(!this.#y)return f;let h=f.signatures?.[0]?.timestamp;if(!h)throw ne.fromCode(new Ui("Timestamp not found in query response. This suggests a malformed or malicious response."));let _=Number(BigInt(h)/BigInt(Im));if(Date.now()+this.#r-_>this.#E){if(a<this.#u)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:_}),await this.syncTime(r),await this.#b({...t,tries:a+1});throw Le.fromCode(new Ci(this.#l,i,a))}return f}async#g(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw ne.fromCode(new On(`Retry strategy exhausted after ${o} attempts.`));i>0&&await new Promise(p=>setTimeout(p,i));let s,a=new Uint8Array;try{s=await r(),s.status===fc&&(a=Zn(await s.clone().arrayBuffer()))}catch(p){if(o<this.#u)return this.log.warn(`Caught exception while attempting to make request:
55
55
  ${p}
56
- Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw xo.fromCode(new No(p))}let c=zi(s.headers);if(s.status===za||s.status===om)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===im&&s.url.includes("api/v3"))throw ne.fromCode(new To);if(u.startsWith("Invalid request expiry: "))throw z.fromCode(new mn(u,this.#l));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new wo(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#p(),i=r.effectiveCanisterId?M.from(r.effectiveCanisterId):M.from(t);await this.#g(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw Oe.fromCode(new br);let c=M.from(t),u=a.getPrincipal(),p=Ya(this.#l,this.#r),d={request_type:Tn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=Xt(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:er.Query,body:d}),s=await a.transformRequest(s);let f=ko(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},m=async()=>{let _=await this.#b(h);return{requestDetails:d,..._}},g=async()=>{let _=this.#m.get(i.toString());if(_)return _;await this.fetchSubnetKeys(i.toString());let x=this.#m.get(i.toString());if(!x)throw De.fromCode(new Ci);return x};try{if(!this.#_)return await m();let[_,x]=await Promise.all([m(),g()]);try{return this.#w(_,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(i.toString());let y=await g();return this.#w(_,y)}}catch(_){let x;throw _ instanceof ht?(_.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=_):x=xe.fromCode(new Ue(_)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(t,r){await this.#g();let n=await(r??this.#n);if(!n)throw Oe.fromCode(new br);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:er.ReadState,body:{request_type:Tn.ReadState,paths:t.paths,sender:o,ingress_expiry:Ya(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#T();let i=M.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(bn(l,h))return f}}let a,c;if(o)a=o,c=Xt(a);else{c=s(r);let p=await this.#n;if(!p)throw Oe.fromCode(new br);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${i}/read_state" with request:`,a);let u=this.#p();try{let{responseBodyBytes:p}=await this.#y({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${i.toString()}/read_state`,this.host),{...this.#a,...a.request,body:ko(a.body)}),backoff:u,tries:0}),d=Je(p);return this.log.print("Read state response:",d),d}catch(p){let d;throw p instanceof ht?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},d=p):d=xe.fromCode(new Ue(p)),this.log.error(`Error while making read state: ${d.message}`,d),d}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ne.fromCode(new wr("Could not decode time from response"));let o=An(["time"],r);if(o.status!==ze.Found)throw ne.fromCode(new Wt("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw ne.fromCode(new Un("Time was not in its expected format."));let i=ro(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#s=this.#s??(async()=>{await this.#T();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??M.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new rt,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),s=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await Ma({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);s>0&&(this.#r=s-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof ht?n:xe.fromCode(new Ue(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#s.finally(()=>{this.#s=null})}async status(){let t=this.#i?{Authorization:"Basic "+btoa(this.#i)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#p(),{responseBodyBytes:n}=await this.#y({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:t,...this.#a}),tries:0});return Je(n)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#g(t){await Promise.all([this.#T(),this.#O(t)])}async#T(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw Oe.fromCode(new Rt(this.#t))}async#O(t){this.#u&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=M.from(t);await this.#g(r);let o=(await Ma({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#m.set(r.toText(),o),o}_transform(t){let r=Promise.resolve(t);if(t.endpoint===er.Call)for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#f)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function Ya(e,t){let r=e*Za;return zn.fromDeltaInMilliseconds(r,t)}var cm=300*1e3;function Hu(){return fm(um(lm(),1e3),pm(1e3,1.2),dm(cm))}function lm(){let e=!0;return async()=>e?(e=!1,!0):!1}function um(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function dm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new hn(`Request timed out after ${e} msec`,n,o))}}function pm(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function fm(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var Gu={preSignReadStateRequest:!1};function Ju(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Xa(e,t){return e!==null&&typeof e=="object"&&Ju(e,t)}function mm(e,t){return Ju(e,t)&&typeof e[t]=="function"}function $u(e){return Xa(e,"body")&&Xa(e.body,"content")&&e.body.content.request_type===Tn.ReadState&&Xa(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&mm(e.body.content.ingress_expiry,"toHash")}async function Qa(e,t,r,n={}){let o=[ee("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await _m({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw Oe.fromCode(new Rt);let c=await Sr.create({certificate:i.certificate,rootKey:e.rootKey,canisterId:t,blsVerify:n.blsVerify,agent:e}),u=Ve(c.lookup_path([...o,ee("status")])),p;switch(typeof u>"u"?p=Ct.Unknown:p=new TextDecoder().decode(u),p){case Ct.Replied:return{reply:Ve(c.lookup_path([...o,"reply"])),certificate:c};case Ct.Received:case Ct.Unknown:case Ct.Processing:{let d=n.strategy??Hu();return await d(t,r,p),Qa(e,t,r,{...n,strategy:d,request:s})}case Ct.Rejected:{let d=new Uint8Array(Ve(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ve(c.lookup_path([...o,"reject_message"]))),f=Ve(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw gr.fromCode(new Ln(r,d,l,h))}case Ct.Done:throw xe.fromCode(new Ii(r))}throw Tr}async function _m(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&$u(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!$u(o))throw z.fromCode(new Bi(o));return o}var st=Symbol.for("ic-agent-metadata"),io=class e{static agentOf(t){return t[st].config.agent}static interfaceOf(t){return t[st].service}static canisterIdOf(t){return M.from(t[st].config.canisterId)}static createActorClass(t,r){let n=t({IDL:xn});class o extends e{constructor(s){if(!s.canisterId)throw z.fromCode(new Oo(s.canisterId));let a=typeof s.canisterId=="string"?M.fromText(s.canisterId):s.canisterId;super({config:{...Wu,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(ec),r?.certificate&&u.annotations.push(zu),this[c]=gm(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw z.fromCode(new Oo(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[st]=Object.freeze(t)}};function oo(e,t){let r=xn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Wu={pollingOptions:Gu},ec="http-details",zu="certificate";function gm(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[st].config.queryTransform?.(t,a,{...e[st].config,...s})};let c=s.agent||e[st].config.agent||new lr,u=M.from(s.canisterId||e[st].config.canisterId),p=xn.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:s.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case hr.Rejected:{let f=new Ri(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},gr.fromCode(f)}case hr.Replied:return r.annotations.includes(ec)?{httpDetails:l,result:oo(r.retTypes,d.reply.arg)}:oo(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[st].config.callTransform?.(t,a,{...e[st].config,...s})};let c=s.agent||e[st].config.agent||lr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...Wu,...e[st].config,...s},l=M.from(u),f=p!==void 0?M.from(p):l,h=xn.encode(r.argTypes,a),{requestId:m,response:g,requestDetails:_}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(Kc(g.body)){if(c.rootKey==null)throw Oe.fromCode(new Rt);let R=g.body.certificate;y=await Sr.create({certificate:R,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let I=[ee("request_status"),m];switch(new TextDecoder().decode(Ve(y.lookup_path([...I,"status"])))){case"replied":x=Ve(y.lookup_path([...I,"reply"]));break;case"rejected":{let v=new Uint8Array(Ve(y.lookup_path([...I,"reject_code"])))[0],C=new TextDecoder().decode(Ve(y.lookup_path([...I,"reject_message"]))),S=Ve(y.lookup_path([...I,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new Ln(m,v,C,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},gr.fromCode(N)}}}else if(jc(g.body)){let{reject_code:R,reject_message:I,error_code:w}=g.body,v=new vi(m,R,I,w);throw v.callContext={canisterId:l,methodName:t,httpDetails:g},gr.fromCode(v)}if(g.status===202){let R={...d,blsVerify:n},I=await Qa(c,f,m,R);y=I.certificate,x=I.reply}let T=r.annotations.includes(ec),E=r.annotations.includes(zu),O={...g,requestDetails:_};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:oo(r.retTypes,x)}:E?{certificate:y,result:oo(r.retTypes,x)}:T?{httpDetails:O,result:oo(r.retTypes,x)}:oo(r.retTypes,x);{let R=new Ue(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(I=>I.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},xe.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var xm=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(xm||{}),Sx=BigInt(1e8);var k=e=>e==null,W=e=>!k(e),ti=e=>W(e)&&e!=="",so=e=>!ti(e);var bm=class extends Error{},ri=(e,t)=>{if(e==null)throw new bm(t)};var ur=e=>new Uint8Array(e),hs=e=>Array.from(e);var Zu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var Yu="abcdefghijklmnopqrstuvwxyz234567",ei=Object.create(null);for(let e=0;e<Yu.length;e++)ei[Yu[e]]=e;ei[0]=ei.o;ei[1]=ei.i;var Vr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Xu=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Fx=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var tc="__bigint__",rc="__principal__",nc="__uint8array__",Qu=(e,t)=>typeof t=="bigint"?{[tc]:`${t}`}:W(t)&&M.isPrincipal(t)?{[rc]:M.from(t).toText()}:W(t)&&t instanceof Uint8Array?{[nc]:Array.from(t)}:t,ed=(e,t)=>{let r=n=>t[n];return W(t)&&typeof t=="object"&&tc in t?BigInt(r(tc)):W(t)&&typeof t=="object"&&rc in t?M.fromText(r(rc)):W(t)&&typeof t=="object"&&nc in t?Uint8Array.from(r(nc)):t};var ie=e=>W(e)?[e]:[],ye=e=>e?.[0];var wm=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=Tm({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},Tm=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?hs(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function Nm(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function Om(e){return Fn(e,Qo)}var Em=class{constructor(e){this._cose=e,this.#e=Om(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},id=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new Em(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Vr(this.#e)}},Rm=class extends id{#e;#t;constructor({authData:e,...t}){super(t);let r=wm({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},vm=class extends id{},Im=class extends Error{},Am=class extends Error{},Sm=class extends Error{},Fm=class extends Error{},Cm=class extends Error{},Vm=class extends Error{},Pm=class extends Error{},td=class extends Error{};var Bm={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Dm=6e4,sd=()=>window.crypto.getRandomValues(new Uint8Array(16)),Um=()=>sd(),km=()=>sd(),Lm=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new Im}},ad=({appId:e})=>e?.id??Lm(),qm=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:ad({appId:e})}}),o=()=>({user:{id:km(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Um(),...n(),...o(),pubKeyCredParams:Object.values(Bm).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},Mm=(e={})=>({rpId:ad(e),allowCredentials:[],userVerification:"required"}),oc=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},Pr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Pr||{}),cd=({timeout:e})=>AbortSignal.timeout(e??Dm),jm=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...Mm(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:cd({timeout:n})}),rd=e=>{if(e.status!=="initialized")throw new Am},nd=e=>{if(k(e))throw new Sm},od=({type:e})=>{if(e!=="public-key")throw new Fm},ic=class ni extends Ft{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=ni.#r({credential:new Rm(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:qm(t),signal:cd({timeout:r})});nd(o),od(o);let{response:{attestationObject:i},rawId:s}=o;if(k(i))throw new Cm;let{authData:a}=Gi.decode(ur(i)),c=Nm(a);return new ni({...n,rawId:ur(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ni(t)}getPublicKey(){rd(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){rd(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await oc({fn:async()=>{let n=await jm({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return nd(n),od(n),n},step:0,onProgress:this.#e});return await oc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Zu({a:this.#t.credential.getCredentialId(),b:ur(n)}))throw new Vm;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:ur(n)});this.#t=ni.#r({credential:new vm({rawId:ur(n),cose:i})})},step:1,onProgress:this.#e}),await oc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(k(i))throw new td;if(k(s))throw new td;let a=Gi.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:ur(s)});if(k(a))throw new Pm;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},Km=async()=>W(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var ao=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var Pe=class e extends ao{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var oi=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var co="http://127.0.0.1:5987",ld="rdmx6-jaaaa-aaaaa-aaadq-cai";var ud=async({identity:e,container:t})=>{let n=W(t)&&t!==!1?t===!0?co:t:"https://icp-api.io",o=W(t);return await lr.create({identity:e,shouldFetchRootKey:o,host:n})};var lo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(k(this.#e)||k(this.#e[n])){let o=await ud({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var uo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(k(this.#e)||k(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await lo.getInstance().getAgent(n);return io.createActor(t,{agent:o,canisterId:r})}};function dd(e){return e!==null&&typeof e=="object"}var ii=class e{static from(t){if(typeof t=="string"){let r=Ne(t);return this.fromRaw(r)}else if(dd(t)){let r=t;if(dd(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(vt(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(vt(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=Fn(t,Sn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Cn(t,Sn);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},Nt=class e extends Ft{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Ke.utils.randomPrivateKey()),ul(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=Ke.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(ii.fromDer(Ne(r)),Ne(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(ii.fromRaw(t),r)}static fromSecretKey(t){let r=Ke.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=ii.from(t),this.#t=r}toJSON(){return[H(this.#e.toDer()),H(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Ke.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ne(a)),vt(a)));return Ke.verify(o,i,s)}};var sc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function pd(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new sc("Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto")}var Vt=class e extends Ft{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=pd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=vt(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=pd(r),o=vt(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=vt(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var ms=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return M.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function _s(e){return e instanceof Uint8Array?H(e):H(new Uint8Array(e))}function ac(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ne(e)}var Br=class{constructor(t,r,n){this.pubkey=t,this.expiration=r,this.targets=n}toCborValue(){return{pubkey:this.pubkey,expiration:this.expiration,...this.targets&&{targets:this.targets}}}toJSON(){return{expiration:this.expiration.toString(16),pubkey:_s(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Hm(e,t,r,n){let o=new Br(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...sa,...new Uint8Array(Xt({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var dr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await Hm(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:u,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new Br(ac(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return M.fromHex(d)})),signature:ac(a)}});return new this(o,ac(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:_s(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:_s(n)}}),publicKey:_s(this.publicKey)}}},pr=class extends Ft{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await Xt(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Vo,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},si=class e extends ms{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function cc(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?M.fromText(o):o)):r.push(typeof n=="string"?M.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var fd=["mousedown","mousemove","keydown","touchstart","wheel"],ai=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),fd.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,s.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);fd.forEach(r=>{document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>{r()})}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var $m=(e,t)=>t.some(r=>e instanceof r),hd,md;function Gm(){return hd||(hd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Jm(){return md||(md=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var _d=new WeakMap,uc=new WeakMap,yd=new WeakMap,lc=new WeakMap,pc=new WeakMap;function Wm(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Pt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&_d.set(r,e)}).catch(()=>{}),pc.set(t,e),t}function zm(e){if(uc.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});uc.set(e,t)}var dc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return uc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||yd.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Pt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function gd(e){dc=e(dc)}function Ym(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(ys(this),t,...r);return yd.set(n,t.sort?t.sort():[t]),Pt(n)}:Jm().includes(e)?function(...t){return e.apply(ys(this),t),Pt(_d.get(this))}:function(...t){return Pt(e.apply(ys(this),t))}}function Zm(e){return typeof e=="function"?Ym(e):(e instanceof IDBTransaction&&zm(e),$m(e,Gm())?new Proxy(e,dc):e)}function Pt(e){if(e instanceof IDBRequest)return Wm(e);if(lc.has(e))return lc.get(e);let t=Zm(e);return t!==e&&(lc.set(e,t),pc.set(t,e)),t}var ys=e=>pc.get(e);function bd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Pt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Pt(s.result),c.oldVersion,c.newVersion,Pt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var Xm=["get","getKey","getAll","getAllKeys","count"],Qm=["put","add","delete","clear"],fc=new Map;function xd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(fc.get(t))return fc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Qm.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Xm.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return fc.set(t,i),i}gd(e=>({...e,get:(t,r,n)=>xd(t,r)||e.get(t,r,n),has:(t,r)=>!!xd(t,r)||e.has(t,r)}));var wd="auth-client-db",Td="ic-keyval",e_=async(e=wd,t=Td,r)=>(globalThis.localStorage?.getItem(He)&&(globalThis.localStorage.removeItem(He),globalThis.localStorage.removeItem($e)),await bd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function t_(e,t,r){return await e.get(t,r)}async function r_(e,t,r,n){return await e.put(t,n,r)}async function n_(e,t,r){return await e.delete(t,r)}var gs=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=wd,storeName:n=Td,version:o=Nd}=t??{},i=await e_(r,n,o);return new e(i,n)}async set(t,r){return await r_(this._db,this._storeName,t,r)}async get(t){return await t_(this._db,this._storeName,t)??null}async remove(t){return await n_(this._db,this._storeName,t)}};var $e="identity",He="delegation",Od="iv",Nd=1,ci=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Bt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}gs.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(r)})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var o_=BigInt(1e9),i_=BigInt(3600),s_=o_*i_,a_="https://identity.internetcomputer.org",c_="#authorize",l_=BigInt(8)*s_,hc="ECDSA",mc="Ed25519",u_=500,xs="UserInterrupt",li=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new Bt,n=t.keyType??hc,o=null;if(t.identity)o=t.identity;else{let c=await r.get($e);if(!c)try{let u=new ci,p=await u.get(He),d=await u.get($e);p&&d&&n===hc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(He,p),await r.set($e,d),c=p,await u.remove(He),await u.remove($e))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===mc&&typeof c=="string"?o=Nt.fromJSON(c):o=await Vt.fromKeyPair(c):typeof c=="string"&&(o=Nt.fromJSON(c))}catch{}}let i=new rt,s=null;if(o)try{let c=await r.get(He);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?i=t.identity:c&&(s=dr.fromJSON(c),cc(s)?"toDer"in o?i=si.fromDelegation(o,s):i=pr.fromDelegation(o,s):(await _c(r),o=null))}catch(c){console.error(c),await _c(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=ai.create(t.idleOptions)),o||(n===mc?o=Nt.generate():(t.storage&&n===hc&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${mc}' as the key type, as it can serialize to a string`),o=await Vt.generate()),await Ed(r,o)),new e(i,o,s,r,a,t)}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new Br(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=dr.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=si.fromDelegation(i,this._chain):this._identity=pr.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=ai.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(He,JSON.stringify(this._chain.toJSON())),await Ed(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&cc(this._chain)}async login(t){let r=d_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??l_,o=new URL(r?.identityProvider?.toString()||a_);o.hash=c_,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(xs,r?.onError):setTimeout(i,u_))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await _c(this._storage),this._identity=new rt,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function _c(e){await e.remove($e),await e.remove(He),await e.remove(Od)}function d_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function p_(e){if(e instanceof Vt)return e.getKeyPair();if(e instanceof Nt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Ed(e,t){let r=p_(t);await e.set($e,r)}var Be=class e{static#e;#t;constructor(){}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await li.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new Bt().remove($e),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Bt;await Promise.all([n.set($e,r.getKeyPair()),n.set(He,JSON.stringify(t.toJSON()))])}};var yc=async e=>{await f_(),await Be.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},f_=async()=>{await Be.getInstance().logout(),Pe.getInstance().reset(),uo.getInstance().reset(),lo.getInstance().reset()};var Rd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{oi({message:"junoSignOutAuthTimer"}),await yc()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":oi({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},Pe.getInstance().subscribe(o=>{if(k(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var po=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&W(o)&&o.msg==="authClientLoginSuccess"&&ti(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var ve=class e extends ao{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var ui=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await h_({fn:e});!r||!t||ve.getInstance().get()?.syncTabs===!1||m_()},vd=async({fn:e})=>{let{createAuthClient:t}=Be.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},h_=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Be.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},m_=()=>{try{po.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var gc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var Id="juno.datastore.error.user.cannot_update";var Dt={certified:!1};var bs=()=>Be.getInstance().getAuthClient()?.getIdentity(),__=async()=>{let{getAuthClient:e,createAuthClient:t}=Be.getInstance();return(e()??await t()).getIdentity()},y_=async()=>{let e=Pe.getInstance().get();if(k(e))return null;let t=Be.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var le=e=>W(e)?e:bs()??new rt;var xc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),m=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),_=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:_,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),I=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:I,expires_at:e.Opt(e.Nat64)}),v=e.Record({version:e.Opt(e.Nat64)}),C=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),F=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:F,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),V=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),P=e.Record({delegation:e.Opt(V),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,P))}),U=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),Q=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),$=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),se=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),pe=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Se=e.Variant({Deny:e.Null,Allow:e.Null}),re=e.Record({status_code:e.Nat16,location:e.Text}),ue=e.Record({iframe:e.Opt(pe),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),Ur=e.Record({db:e.Opt(se),authentication:e.Opt(Q),storage:ue}),kt=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ye=e.Variant({OpenId:kt}),kr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Lr=e.Record({signature:e.Vec(e.Nat8),delegation:kr}),at=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),qr=e.Variant({Ok:Lr,Err:at}),Mr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),jr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Lt=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ct=e.Variant({AssetsUpgrade:jr,SegmentsDeployment:Lt}),Ze=e.Record({status:Mr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:ct}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),lt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ut=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Xe,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Kr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),dt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Hr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],["query"])})}),$r=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Hr),status_code:e.Nat16}),Gr=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),pt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Qe=e.Record({batch_id:e.Nat}),Jr=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),Wr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zr=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),Yr=e.Record({desc:e.Bool}),Zr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xr=e.Record({order:e.Opt(Yr),paginate:e.Opt(Zr)}),Qr=e.Record({proposal_id:e.Nat}),en=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qr,Ze)),items_length:e.Nat64}),tn=e.Record({include_system:e.Bool}),rn=e.Record({matcher:e.Opt(tn)}),nn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ut)),items_length:e.Nat64}),on=e.Record({stable:e.Nat64,heap:e.Nat64}),qt=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),sn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:I,expires_at:e.Opt(e.Nat64)}),an=e.Record({controller:sn,controllers:e.Vec(e.Principal)}),cn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),Mt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Ls=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Xe,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),qs=e.Record({iframe:e.Opt(pe),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),ho=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),mo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([m],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([m],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(m)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,O],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,v],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,v))],[],[]),del_rule:e.Func([C,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],["query"]),get_auth_config:e.Func([],[e.Opt(Q)],["query"]),get_config:e.Func([],[Ur],[]),get_db_config:e.Func([],[e.Opt(se)],["query"]),get_delegation:e.Func([Ye],[qr],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],["query"]),get_rule:e.Func([C,e.Text],[e.Opt(ut)],["query"]),get_storage_config:e.Func([],[ue],["query"]),http_request:e.Func([Kr],[$r],["query"]),http_request_streaming_callback:e.Func([dt],[Gr],["query"]),init_asset_upload:e.Func([pt],[Qe],[]),init_proposal:e.Func([ct],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([pt,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pt),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Jr],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Wr))],["query"]),list_docs:e.Func([e.Text,O],[zr],["query"]),list_proposals:e.Func([Xr],[en],["query"]),list_rules:e.Func([C,rn],[nn],["query"]),memory_size:e.Func([],[on],["query"]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([qt],[Q],[]),set_controllers:e.Func([an],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([cn],[se],[]),set_doc:e.Func([e.Text,e.Text,Mt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Mt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([C,e.Text,Ls],[ut],[]),set_storage_config:e.Func([qs],[ue],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([ho],[mo],[]),upload_proposal_asset_chunk:e.Func([ho],[mo],[])})},bc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),m=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),_=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:_,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),I=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:I,expires_at:e.Opt(e.Nat64)}),v=e.Record({version:e.Opt(e.Nat64)}),C=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),F=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:F,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),V=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),P=e.Record({delegation:e.Opt(V),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,P))}),U=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),Q=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),$=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),se=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),pe=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Se=e.Variant({Deny:e.Null,Allow:e.Null}),re=e.Record({status_code:e.Nat16,location:e.Text}),ue=e.Record({iframe:e.Opt(pe),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),Ur=e.Record({db:e.Opt(se),authentication:e.Opt(Q),storage:ue}),kt=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ye=e.Variant({OpenId:kt}),kr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Lr=e.Record({signature:e.Vec(e.Nat8),delegation:kr}),at=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),qr=e.Variant({Ok:Lr,Err:at}),Mr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),jr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Lt=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ct=e.Variant({AssetsUpgrade:jr,SegmentsDeployment:Lt}),Ze=e.Record({status:Mr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:ct}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),lt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ut=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Xe,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Kr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),dt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Hr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],[])})}),$r=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Hr),status_code:e.Nat16}),Gr=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),pt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Qe=e.Record({batch_id:e.Nat}),Jr=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),Wr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zr=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),Yr=e.Record({desc:e.Bool}),Zr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xr=e.Record({order:e.Opt(Yr),paginate:e.Opt(Zr)}),Qr=e.Record({proposal_id:e.Nat}),en=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qr,Ze)),items_length:e.Nat64}),tn=e.Record({include_system:e.Bool}),rn=e.Record({matcher:e.Opt(tn)}),nn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ut)),items_length:e.Nat64}),on=e.Record({stable:e.Nat64,heap:e.Nat64}),qt=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),sn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:I,expires_at:e.Opt(e.Nat64)}),an=e.Record({controller:sn,controllers:e.Vec(e.Principal)}),cn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),Mt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Ls=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Xe,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),qs=e.Record({iframe:e.Opt(pe),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),ho=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),mo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([m],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([m],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(m)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,O],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,v],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,v))],[],[]),del_rule:e.Func([C,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],[]),get_auth_config:e.Func([],[e.Opt(Q)],[]),get_config:e.Func([],[Ur],[]),get_db_config:e.Func([],[e.Opt(se)],[]),get_delegation:e.Func([Ye],[qr],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],[]),get_rule:e.Func([C,e.Text],[e.Opt(ut)],[]),get_storage_config:e.Func([],[ue],[]),http_request:e.Func([Kr],[$r],[]),http_request_streaming_callback:e.Func([dt],[Gr],[]),init_asset_upload:e.Func([pt],[Qe],[]),init_proposal:e.Func([ct],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([pt,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pt),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Jr],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Wr))],[]),list_docs:e.Func([e.Text,O],[zr],[]),list_proposals:e.Func([Xr],[en],[]),list_rules:e.Func([C,rn],[nn],[]),memory_size:e.Func([],[on],[]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([qt],[Q],[]),set_controllers:e.Func([an],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([cn],[se],[]),set_doc:e.Func([e.Text,e.Text,Mt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Mt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([C,e.Text,Ls],[ut],[]),set_storage_config:e.Func([qs],[ue],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([ho],[mo],[]),upload_proposal_asset_chunk:e.Func([ho],[mo],[])})},g_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),m=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:m,RegisterUser:e.Text}),_=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),user:e.Principal}),E=e.Variant({Heap:e.Null,Stable:e.Null}),O=e.Record({system_memory:e.Opt(E)}),R=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(O),user:e.Principal}),I=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),v=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),C=e.Record({delegation:e.Opt(v),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,C))}),b=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),N=e.Record({allowed_callers:e.Vec(e.Principal)}),F=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(S),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),B=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),L=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),A=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(B),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),D=e.Record({authentication:e.Opt(F),storage:P}),U=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Q=e.Variant({OpenId:te}),$=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),se=e.Record({signature:e.Vec(e.Nat8),delegation:$}),pe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Se=e.Variant({Ok:se,Err:pe}),re=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ue=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ur=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),kt=e.Variant({AssetsUpgrade:ue,SegmentsDeployment:Ur}),Ye=e.Record({status:re,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:kt}),kr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),Lr=e.Variant({Heap:e.Null,Stable:e.Null}),at=e.Record({memory:Lr,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),qr=e.Variant({Callback:e.Record({token:at,callback:e.Func([],[],["query"])})}),Mr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(qr),status_code:e.Nat16}),jr=e.Record({token:e.Opt(at),body:e.Vec(e.Nat8)}),Lt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),ct=e.Record({batch_id:e.Nat}),Ze=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),Xe=e.Record({field:Ze,desc:e.Bool}),lt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ut=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(lt),description:e.Opt(e.Text),created_at:e.Opt(lt)}),Kr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ut),paginate:e.Opt(Kr)}),Hr=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),$r=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),Gr=e.Record({key:Hr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,$r)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),pt=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,Gr)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Jr=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Qe,expires_at:e.Opt(e.Nat64)}),Wr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Yr=e.Record({status:zr,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),Zr=e.Record({desc:e.Bool}),Xr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Qr=e.Record({order:e.Opt(Zr),paginate:e.Opt(Xr)}),en=e.Record({proposal_id:e.Nat}),tn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(en,Ye)),items_length:e.Nat64}),rn=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),nn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),on=e.Record({controller:nn,controllers:e.Vec(e.Principal)}),qt=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),sn=e.Record({iframe:e.Opt(B),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),an=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),cn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mt=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[_],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_orbiter:e.Func([T],[e.Principal],[]),create_satellite:e.Func([R],[e.Principal],[]),del_controllers:e.Func([I],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([w],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(F)],["query"]),get_config:e.Func([],[D],["query"]),get_create_orbiter_fee:e.Func([U],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([U],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([Q],[Se],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],["query"]),get_storage_config:e.Func([],[P],["query"]),http_request:e.Func([kr],[Mr],["query"]),http_request_streaming_callback:e.Func([at],[jr],["query"]),init_proposal:e.Func([kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Lt,e.Nat],[ct],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Lt),e.Nat],[e.Vec(e.Tuple(e.Text,ct))],[]),init_user_mission_control_center:e.Func([],[p],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,dt],[pt],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Jr))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Wr))],["query"]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Yr))],["query"]),list_proposals:e.Func([Qr],[tn],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([rn],[F],[]),set_controllers:e.Func([on],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([qt,t],[],[]),set_storage_config:e.Func([sn],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([qt,an],[],[]),upload_proposal_asset_chunk:e.Func([cn],[Mt],[])})},x_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),m=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:m,RegisterUser:e.Text}),_=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),user:e.Principal}),E=e.Variant({Heap:e.Null,Stable:e.Null}),O=e.Record({system_memory:e.Opt(E)}),R=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(O),user:e.Principal}),I=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),v=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),C=e.Record({delegation:e.Opt(v),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,C))}),b=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),N=e.Record({allowed_callers:e.Vec(e.Principal)}),F=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(S),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),B=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),L=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),A=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(B),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),D=e.Record({authentication:e.Opt(F),storage:P}),U=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Q=e.Variant({OpenId:te}),$=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),se=e.Record({signature:e.Vec(e.Nat8),delegation:$}),pe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Se=e.Variant({Ok:se,Err:pe}),re=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ue=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ur=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),kt=e.Variant({AssetsUpgrade:ue,SegmentsDeployment:Ur}),Ye=e.Record({status:re,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:kt}),kr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),Lr=e.Variant({Heap:e.Null,Stable:e.Null}),at=e.Record({memory:Lr,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),qr=e.Variant({Callback:e.Record({token:at,callback:e.Func([],[],[])})}),Mr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(qr),status_code:e.Nat16}),jr=e.Record({token:e.Opt(at),body:e.Vec(e.Nat8)}),Lt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),ct=e.Record({batch_id:e.Nat}),Ze=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),Xe=e.Record({field:Ze,desc:e.Bool}),lt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ut=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(lt),description:e.Opt(e.Text),created_at:e.Opt(lt)}),Kr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ut),paginate:e.Opt(Kr)}),Hr=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),$r=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),Gr=e.Record({key:Hr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,$r)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),pt=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,Gr)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Jr=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Qe,expires_at:e.Opt(e.Nat64)}),Wr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Yr=e.Record({status:zr,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),Zr=e.Record({desc:e.Bool}),Xr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Qr=e.Record({order:e.Opt(Zr),paginate:e.Opt(Xr)}),en=e.Record({proposal_id:e.Nat}),tn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(en,Ye)),items_length:e.Nat64}),rn=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),nn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),on=e.Record({controller:nn,controllers:e.Vec(e.Principal)}),qt=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),sn=e.Record({iframe:e.Opt(B),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),an=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),cn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mt=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[_],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_orbiter:e.Func([T],[e.Principal],[]),create_satellite:e.Func([R],[e.Principal],[]),del_controllers:e.Func([I],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([w],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(F)],[]),get_config:e.Func([],[D],[]),get_create_orbiter_fee:e.Func([U],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([U],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([Q],[Se],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],[]),get_storage_config:e.Func([],[P],[]),http_request:e.Func([kr],[Mr],[]),http_request_streaming_callback:e.Func([at],[jr],[]),init_proposal:e.Func([kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Lt,e.Nat],[ct],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Lt),e.Nat],[e.Vec(e.Tuple(e.Text,ct))],[]),init_user_mission_control_center:e.Func([],[p],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,dt],[pt],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Jr))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Wr))],[]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Yr))],[]),list_proposals:e.Func([Qr],[tn],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([rn],[F],[]),set_controllers:e.Func([on],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([qt,t],[],[]),set_storage_config:e.Func([sn],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([qt,an],[],[]),upload_proposal_asset_chunk:e.Func([cn],[Mt],[])})};var b_=async({identity:e,host:t,localActor:r})=>await lr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),w_=async({agent:e,...t})=>e??await T_(t),T_=async({identity:e,container:t})=>{let r=W(t)&&t!==!1;return await b_({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var Ad=({satelliteId:e,certified:t=!1,...r})=>Fd({canisterId:e,...r,idlFactory:t?bc:xc});var Sd=({consoleId:e,certified:t=!1,...r})=>Fd({canisterId:e,...r,idlFactory:t?x_:g_}),Fd=({canisterId:e,idlFactory:t,...r})=>{if(k(e))throw new Error("No canister ID provided.");return N_({canisterId:e,idlFactory:t,...r})},N_=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await w_(n);return io.createActor(t,{agent:o,canisterId:e,...r??{}})};var Cd=({satelliteId:e,container:t})=>{let{satelliteId:r}=wc({satelliteId:e}),{container:n}=Tc({container:t});if(W(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?co:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},wc=({satelliteId:e})=>W(e)?{satelliteId:e}:ve.getInstance().get()??{satelliteId:void 0},Tc=({container:e})=>W(e)?{container:e}:ve.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>Pd({idlFactory:t?bc:xc,actorKey:`stock#${t?"update":"query"}`,...e}),Vd=({idlFactory:e,...t})=>Pd({idlFactory:e,actorKey:"extended#query",...t}),Pd=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=wc({satelliteId:e});ri(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Tc({container:t});return await uo.getInstance().getActor({satelliteId:n,container:o,...r})};var ws=class extends Error{},fr=class extends Error{},Ts=class extends Error{},Ns=class extends Error{},Os=class extends Error{},Es=class extends Error{},Rs=class extends Error{},vs=class extends Error{},Is=class extends Error{};var Bd=e=>{if(k(e))return ie();switch(e.matcher){case"equal":return ie({Equal:e.timestamp});case"greaterThan":return ie({GreaterThan:e.timestamp});case"lessThan":return ie({LessThan:e.timestamp});case"between":return ie({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Is("Invalid list matcher for timestamp",e)}},Dr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:k(e)?[]:[{key:ie(e.key),description:ie(e.description),created_at:Bd(e.createdAt),updated_at:Bd(e.updatedAt)}],paginate:ie(k(t)?void 0:{start_after:ie(t.startAfter),limit:ie(k(t.limit)?void 0:BigInt(t.limit))}),order:ie(k(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:ie(k(n)?void 0:typeof n=="string"?M.fromText(n):n)});var Dd=async e=>{let t=new Blob([JSON.stringify(e,Qu)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},As=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),ed)},Ss=()=>typeof window<"u";var Ud=async({data:e})=>{try{return await As(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Nc=async e=>{let{data:t,version:r,description:n}=e;return{description:ie(n),data:await Dd(t),version:ie(r)}},Oc=e=>{let{version:t}=e;return{version:ie(t)}},Vn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:ye(o),owner:r.toText(),data:await As(i),version:ye(n),...s}};var kd=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=ye(await n(e,t));if(!k(o))return Vn({doc:o,key:t})},Ld=async({docs:e,...t})=>{let{get_many_docs:r}=await ge(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=ye(a);i.push(W(c)?await Vn({key:s,doc:c}):void 0)}return i},qd=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,i=await Nc(t),s=await n(e,o,i);return await Vn({key:o,doc:s})},Md=async({docs:e,...t})=>{let{set_many_docs:r}=await ge(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await Nc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Vn({key:s,doc:a}));return i},jd=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,Oc(t))},Kd=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Oc(i)]);await r(n)},Hd=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,Dr(t))},$d=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await ge(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,Dr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:m,...g}=d;u.push({key:p,description:ye(h),owner:f.toText(),data:await Ud({data:l}),version:ye(m),...g})}return{items:u,items_length:s,items_page:ye(i),matches_length:a,matches_pages:ye(c)}},Gd=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,Dr(t))};var Fs=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await kd({...r,satellite:{...e,identity:n},options:t??Dt})},mT=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Ld({...r,satellite:{...e,identity:n},options:t??Dt})},Jd=async({satellite:e,...t})=>{let r=le(e?.identity);return await qd({...t,satellite:{...e,identity:r},options:{certified:!0}})},Wd=async({satellite:e,...t})=>{let r=le(e?.identity);return await Md({...t,satellite:{...e,identity:r},options:{certified:!0}})},_T=async({satellite:e,...t})=>{let r=le(e?.identity);return await jd({...t,satellite:{...e,identity:r},options:{certified:!0}})},yT=async({satellite:e,...t})=>{let r=le(e?.identity);return await Kd({...t,satellite:{...e,identity:r},options:{certified:!0}})},gT=async({satellite:e,filter:t,...r})=>{let n=le(e?.identity);return await Hd({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},xT=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await $d({...n,filter:r??{},satellite:{...e,identity:o},options:t??Dt})},bT=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await Gd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Dt})};var zd=async({provider:e})=>{let{user:t,userId:r}=await Cs();if(W(t))return t;try{return await O_({userId:r,provider:e})}catch(n){if(gc({error:n,type:Id})){let o=await Yd({userId:r});if(W(o))return o}throw n}},Cs=async()=>{let e=bs();if(k(e))throw new vs("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await Yd({userId:t});return{userId:t,user:r}},Yd=({userId:e})=>Fs({collection:"#user",key:e}),O_=({userId:e,...t})=>Jd({collection:"#user",doc:{key:e,data:t}});var Vs=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await ui({fn:async()=>{let{user:r}=await Cs();Pe.getInstance().set(r??null)},syncTabsOnSuccess:e})},Zd=async()=>{await vd({fn:async({authenticated:t})=>{let n=t?Cs:()=>Promise.resolve({user:null}),{user:o}=await n();Pe.getInstance().set(o??null)}})},Ps=async({user:e})=>{await ui({fn:async()=>{Pe.getInstance().set(e)},syncTabsOnSuccess:!0})};var Xd=()=>{try{let e=po.getInstance(),t=async()=>{await Zd(),oi({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Qd=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},ep=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()},tp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()};var rp=BigInt(144e11),np=!1,op={width:576,height:576},ip={width:424,height:576};var di="internetcomputer.org",sp="ic0.app",ap="id.ai";var cp=({width:e,height:t})=>{if(!Ss()||k(window)||k(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${i}`};var Ut=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var lp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(lp||{});var Bs=class{async signIn({options:t,authClient:r,initAuth:n}){await Ut({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Ut({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(k(r)){o(new fr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===xs){o(new Ts(i));return}o(new ws(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??rp,allowPinAuthentication:t?.allowPin??np,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Ds=class extends Bs{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=ve.getInstance().get()?.container;if(k(i)||i===!1){let p=[di,sp].includes(this.#e??di);return so(this.#e)?`https://identity.${di}`:p?`https://identity.${this.#e??di}`:`https://${this.#e}`}let s=ve.getInstance().get(),a=W(s)&&W(s?.internetIdentityId)?s.internetIdentityId:ld,{host:c,protocol:u}=new URL(i===!0?co:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:cp((()=>{try{let{hostname:i}=new URL(n);return i.includes(ap)}catch{return!1}})()?ip:op)},identityProvider:n}}};var Ec=class extends Error{},Rc=class extends Error{},vc=class extends Error{},Ic=class extends Error{},Ac=class extends Error{},Sc=class extends Error{},Fc=class extends Error{},Cc=class extends Error{},Vc=class extends Error{},Pc=class extends Error{};var up=({auth:e,identity:t})=>"satellite"in e?Ad({...e.satellite,identity:t}):Sd({...e.console,identity:t}),E_=async({actorParams:e,args:t})=>{let{authenticate:r}=await up(e);return await r(t)},R_=async({actorParams:e,args:t})=>{let{get_delegation:r}=await up(e);return await r(t)},v_=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=dr.fromDelegations(n,Uint8Array.from(r));return{identity:pr.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Bc=async({jwt:e,context:t,auth:r})=>{let n=await Vt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await I_({jwt:e,publicKey:o,context:t,auth:r});return{identity:v_({sessionKey:n,delegations:i}),data:s}},I_=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await E_({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Ac("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await A_({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=u,{pubkey:l,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new Br(Uint8Array.from(l),f,ye(h)),signature:Uint8Array.from(d)}]],data:c}},A_=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(u=>{setInterval(u,1e3*a)});let c=await R_({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:u}=c;if("NoSuchDelegation"in u||"GetCachedJwks"in u)continue;throw new Vc("Getting delegation failed",{cause:c})}return c.Ok}throw new Pc};var Dc="juno:auth:openid",Uc={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"};var dp=e=>Vr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),S_=()=>window.crypto.getRandomValues(new Uint8Array(32)),F_=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",n);return dp(ur(o))},C_=async({caller:e})=>{let t=S_();return{nonce:await F_({salt:t,caller:e}),salt:t}},pp="__caller__",fp="__salt__",hp="__state__",V_=({caller:e,state:t,salt:r})=>{let n={[pp]:e.toJSON(),[fp]:Vr(r),[hp]:t};return JSON.stringify(n)},P_=e=>{let{[pp]:t,[fp]:r,[hp]:n}=JSON.parse(e);return{caller:Nt.fromParsedJson(t),salt:Xu(r),state:n}},B_=()=>dp(window.crypto.getRandomValues(new Uint8Array(12))),mp=async()=>{let e=Nt.generate(),{nonce:t,salt:r}=await C_({caller:e}),n=B_(),o=V_({caller:e,salt:r,state:n});return sessionStorage.setItem(Dc,o),{nonce:t,state:n}},_p=()=>{let e=sessionStorage.getItem(Dc);if(k(e))throw new Rc;return P_(e)};var kc=async e=>{let t=_p();if("credentials"in e){let{credentials:{jwt:r},auth:n}=e;return await Bc({jwt:r,context:t,auth:n})}return await D_({...e,context:t})},D_=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(so(r)||!r.startsWith("#"))throw new Sc("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(so(s)||o!==s)throw new Fc("The provided state is invalid",{cause:o});if(so(i))throw new Cc;return await Bc({jwt:i,auth:e,context:t})};var yp=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=(()=>{try{return new URL(e)}catch{throw new Ec("Cannot parse authURL",{cause:e})}})();a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),ti(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},gp=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(k(i))throw new vc;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new Ic("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function Lc({google:e}){let t=await mp();if("credentials"in e){let{credentials:i}=e,{configUrl:s}=Uc;return await gp({...i,...t,configUrl:s})}let{redirect:r}=e,{authUrl:n,authScopes:o}=Uc;yp({...r,...t,authUrl:n,authScopes:o})}var U_=async()=>{let{satelliteId:e}=ve.getInstance().get()??{satelliteId:void 0};if(k(e))throw new fr("Satellite ID not set. Have you initialized the Satellite?");let t=ve.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:n,identity:o},data:{doc:i}}=await kc({redirect:null,auth:{satellite:{satelliteId:e,container:t}}});await Be.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:n});let s=await Vn({doc:i,key:o.getPrincipal().toText()});await Ps({user:s})};var xp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),k_=()=>{window.addEventListener("beforeunload",xp,{capture:!0})},L_=()=>{window.removeEventListener("beforeunload",xp,{capture:!0})},Us=async({fn:e})=>{try{return k_(),await e()}finally{L_()}};var ks=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??tp();if(k(r))throw new Os;let{redirect:n}=t;await Lc({google:{redirect:{...n??{},clientId:r}}})}};var bp=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Wd({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...W(n)&&{aaguid:hs(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var wp=(i=>(i[i.RequestingUserCredential=0]="RequestingUserCredential",i[i.FinalizingCredential=1]="FinalizingCredential",i[i.Signing=2]="Signing",i[i.FinalizingSession=3]="FinalizingSession",i[i.RetrievingUser=4]="RetrievingUser",i))(wp||{}),Tp=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(Tp||{});var fo=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=ve.getInstance().get()??{satelliteId:void 0};if(k(i))throw new fr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:m,state:g})=>{switch(m){case Pr.RequestingUserCredential:t?.({step:1,state:g});break;case Pr.FinalizingCredential:t?.({step:2,state:g});break;case Pr.Signing:t?.({step:3,state:g});break}},c=await Ut({fn:async()=>await ic.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Ut({fn:async()=>await bp({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Ut({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Ut({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=ve.getInstance().get()??{satelliteId:void 0};if(k(o))throw new fr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await Fs({collection:"#user-webauthn",key:Vr(d),options:{certified:!0},satellite:{identity:new rt,satelliteId:o}});if(k(l))throw new Es("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Cn(h,Qo)},s=({step:d,state:l})=>{switch(d){case Pr.RequestingUserCredential:t?.({step:0,state:l});break;case Pr.FinalizingCredential:t?.({step:1,state:l});break;case Pr.Signing:t?.({step:2,state:l});break}},a=await ic.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Ut({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Ut({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await Vt.generate({extractable:!1}),o=r??144e5,i=await dr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:pr.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Bt;await Promise.all([n.set($e,t.getKeyPair()),n.set(He,JSON.stringify(r.getDelegation().toJSON()))])}};var M_=async({provider:e})=>{await ui({fn:async()=>{let r=await zd({provider:e});Pe.getInstance().set(r)},syncTabsOnSuccess:!0})},j_=async e=>{if("google"in e){let{google:{options:t}}=e;await qc({fn:()=>new ks().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await qc({fn:()=>new fo().signIn({options:t,loadAuth:()=>Vs({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await qc({fn:()=>new Ds({domain:n}).signIn({options:o,authClient:Be.getInstance().getAuthClient(),initAuth:M_}),context:r});return}throw new Ns("An unknown or unsupported provider was provided for sign-in.")},qc=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Us({fn:e})};var K_=async e=>{let t=async()=>await H_(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Us({fn:t})},H_=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new fo().signUp({options:t,loadAuthWithUser:Ps});return}throw new Rs("An unknown or unsupported provider was provided for sign-up.")};var KO=e=>e?.data?.provider==="webauthn",HO=e=>e?.data?.provider==="google";var WO=async({idlFactory:e,satellite:t})=>{let r=le(t?.identity);return await Vd({idlFactory:e,...t,identity:r})};var Np=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i($_(r));o?.onInitiatedBatch();let{chunkIds:u}=await W_({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await J_({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var $_=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:ie(r),encoding_type:ie(o),description:ie(i)}),G_=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:i})=>i),headers:[...r,...o??[]]}},J_=async({commitFn:e,...t})=>{let r=G_(t);await e(r)},W_=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Ss()?new Blob([await e.arrayBuffer()]):e,i=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:i}),i++}let s=[];for await(let a of z_({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*z_({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>Y_(o)))}}var Y_=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ie(n)});var Op=async({asset:e,...t})=>{let r=await ge(t);await Np({actor:r,asset:e})},Ep=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await ge(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,Dr(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:ye(s),matches_length:a,matches_pages:ye(c)}},Rp=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,Dr(t))},vp=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),Ip=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await ge({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Ap=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,Dr(t))},Sp=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await ge(n);return o(e,t,ie(r))},Fp=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return ye(await n(e,t))},Cp=async({assets:e,...t})=>{let{get_many_assets:r}=await ge(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>ye(s))};var Vp=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var d6=e=>Pp(e),p6=e=>Pp({filename:e.data.name,...e}),Pp=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=le(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await Op({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:Bp({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...W(i)&&{token:i},name:p}},f6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)},{items:i,...s}=await Ep({collection:e,filter:t??{},satellite:o,options:n??Dt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:m,updated_at:g})=>{let _=ye(u);return{fullPath:c,description:ye(l),name:p,downloadUrl:Bp({satellite:o,assetKey:{fullPath:c,token:_}}),token:_,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:Vp(E),total_length:O}}),{}),owner:d.toText(),created_at:m,updated_at:g}});return{items:a,assets:a,...s}},h6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)};return await Rp({collection:e,satellite:o,filter:t??{},options:n??Dt})},m6=({collection:e,fullPath:t,satellite:r})=>vp({collection:e,fullPath:t,satellite:{...r,identity:le(r?.identity)},options:{certified:!0}}),_6=({collection:e,fullPath:t,token:r,satellite:n})=>Sp({collection:e,fullPath:t,token:r,satellite:{...n,identity:le(n?.identity)},options:{certified:!0}}),y6=({assets:e,satellite:t})=>Ip({assets:e,satellite:{...t,identity:le(t?.identity)},options:{certified:!0}}),g6=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:le(t?.identity)};return await Ap({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},x6=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Fp({...r,satellite:{...e,identity:n},options:t??Dt})},b6=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Cp({...r,satellite:{...e,identity:n},options:t??Dt})},Bp=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:le(r?.identity)};return`${Cd(n)}${e}${W(t)?`?token=${t}`:""}`};var Z_=e=>{let t=e?.satelliteId??Qd();ri(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??ep();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},S6=e=>X_(e),X_=async e=>{let t=Z_(e);ve.getInstance().set(t),await Vs();let r=t.workers?.auth!==void 0?Rd(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Xd();return[...W(r)?[r]:[],...W(n)?[n]:[]]},Q_=e=>Pe.getInstance().subscribe(e),F6=Q_;export{lp as AuthClientSignInProgressStep,vs as InitError,Ds as InternetIdentityProvider,Is as ListError,ws as SignInError,fr as SignInInitError,Os as SignInMissingClientIdError,Ns as SignInProviderNotSupportedError,Ts as SignInUserInterruptError,Rs as SignUpProviderNotSupportedError,wp as WebAuthnSignInProgressStep,Es as WebAuthnSignInRetrievePublicKeyError,Tp as WebAuthnSignUpProgressStep,F6 as authSubscribe,h6 as countAssets,bT as countDocs,m6 as deleteAsset,_T as deleteDoc,g6 as deleteFilteredAssets,gT as deleteFilteredDocs,y6 as deleteManyAssets,yT as deleteManyDocs,Bp as downloadUrl,x6 as getAsset,Fs as getDoc,y_ as getIdentityOnce,b6 as getManyAssets,mT as getManyDocs,WO as getSatelliteExtendedActor,U_ as handleRedirectCallback,S6 as initJuno,X_ as initSatellite,HO as isGoogleUser,Km as isWebAuthnAvailable,KO as isWebAuthnUser,f6 as listAssets,xT as listDocs,Q_ as onAuthStateChange,_6 as setAssetToken,Jd as setDoc,Wd as setManyDocs,j_ as signIn,yc as signOut,K_ as signUp,__ as unsafeIdentity,d6 as uploadBlob,p6 as uploadFile};
56
+ Retrying request.`),await this.#g({requestFn:r,backoff:n,tries:o+1});throw No.fromCode(new Io(p))}let c=Aa(s.headers);if(s.status===fc||s.status===Dm)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===Um&&s.url.includes("api/v4"))throw ne.fromCode(new Ro);if(fd(u))throw Y.fromCode(new Ct(u,this.#l));if(o<this.#u)return await this.#g({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new Eo(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?U.from(r.effectiveCanisterId):U.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw ye.fromCode(new Cr);let c=U.from(t),u=a.getPrincipal(),p=hc(this.#l,this.#r),d={request_type:Cn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=lr(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.Query,body:d}),s=await a.transformRequest(s);let f=jo(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},_=async()=>{let m=await this.#b(h);return{requestDetails:d,...m}},g=async()=>{let m=this.#_.get(i.toString());if(m)return m;await this.fetchSubnetKeys(i.toString());let x=this.#_.get(i.toString());if(!x)throw Le.fromCode(new ki);return x};try{if(!this.#y)return await _();let[m,x]=await Promise.all([_(),g()]);try{return this.#T(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#_.delete(i.toString());let y=await g();return this.#T(m,y)}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Ct)&&!this.#i)return await this.syncTime(i),this.query(t,r,n);m.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=m}else x=ce.fromCode(new Re(m));throw this.log.error(`Error while making query: ${x.message}`,x),x}}#T;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw ye.fromCode(new Cr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.ReadState,body:{request_type:Cn.ReadState,paths:t.paths,sender:o,ingress_expiry:hc(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#x();let i=U.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(An(l,h))return f}}let a,c;if(o)a=o;else{c=s(r);let p=await this.#n;if(!p)throw ye.fromCode(new Cr);a=await this.createReadStateRequest(r,p)}let u=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#N(u,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#x();let n=U.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#N(o,{subnetId:n},i)}async#N(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#g({requestFn:()=>this.#o(t,{...this.#c,...n.request,body:jo(n.body)}),backoff:i,tries:0});return Me(s)}catch(s){let a;if(s instanceof nt){if(s.hasCode(Ct)&&!this.#i){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ct;return await this.#N(t,r,n,o)}s.code.requestContext={requestId:o??lr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ce.fromCode(new Re(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Me(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ne.fromCode(new Fr("Could not decode time from response"));let o=gr(["time"],r);if(o.status!==Be.Found)throw ne.fromCode(new xt("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw ne.fromCode(new Ei("Time was not in its expected format."));let i=qr(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#a=this.#a??(async()=>{await this.#x();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??U.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new ot,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await nd({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#O(r,i)}catch(n){let o=n instanceof nt?n:ce.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#a.finally(()=>{this.#a=null})}async syncTimeWithSubnet(t){await this.#x();let r=Date.now();try{let n=e.createSync({identity:new ot,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await od({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#O(r,o)}catch(n){let o=n instanceof nt?n:ce.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#O(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#i=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#g({backoff:n,requestFn:()=>this.#o(r,{headers:t,...this.#c}),tries:0});return Me(o)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#p(t){await Promise.all([this.#x(),this.#R(t)])}async#x(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw ye.fromCode(new at(this.#t))}async#R(t){this.#d&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=U.from(t);await this.#p(r);let n=this.rootKey,o=await this.readState(r,{paths:[[$("subnet")]]}),i=await st.create({certificate:o.certificate,rootKey:n,principal:{canisterId:r},agent:this});if(!i.cert.delegation){let c=U.selfAuthenticating(n);if(!nc({canisterId:r,subnetId:c,tree:i.cert.tree}))throw Le.fromCode(new Nn(r,c))}let s=ic(i.cert,n),a=co(i.cert,s);return this.#_.set(r.toText(),a),a}async getSubnetIdFromCanister(t){let r=U.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[$("time")]]}),o=await st.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return ic(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===dr.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#i}};function hc(e,t){let r=e*mc;return to.fromDeltaInMilliseconds(r,t)}function fd(e){return e.includes("Invalid request expiry: ")}var qm=300*1e3;function hd(){return $m(jm(Mm(),1e3),Hm(1e3,1.2),Km(qm))}function Mm(){let e=!0;return async()=>e?(e=!1,!0):!1}function jm(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function Km(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new On(`Request timed out after ${e} msec`,n,o))}}function Hm(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function $m(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var _d={preSignReadStateRequest:!1};function yd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function _c(e,t){return e!==null&&typeof e=="object"&&yd(e,t)}function Jm(e,t){return yd(e,t)&&typeof e[t]=="function"}function md(e){return _c(e,"body")&&_c(e.body,"content")&&e.body.content.request_type===Cn.ReadState&&_c(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&Jm(e.body.content.ingress_expiry,"toHash")}async function yc(e,t,r,n={}){let o=[$("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await Wm({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw ye.fromCode(new at);let c=await st.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),u=ve(c.lookup_path([...o,$("status")])),p;switch(typeof u>"u"?p=Ut.Unknown:p=new TextDecoder().decode(u),p){case Ut.Replied:return{reply:ve(c.lookup_path([...o,"reply"])),certificate:c};case Ut.Received:case Ut.Unknown:case Ut.Processing:{let d=n.strategy??hd();return await d(t,r,p),yc(e,t,r,{...n,strategy:d,request:s})}case Ut.Rejected:{let d=new Uint8Array(ve(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(ve(c.lookup_path([...o,"reject_message"]))),f=ve(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Sr.fromCode(new Hn(r,d,l,h))}case Ut.Done:throw ce.fromCode(new Vi(r))}throw ct}async function Wm(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&md(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!md(o))throw Y.fromCode(new Mi(o));return o}var ft=Symbol.for("ic-agent-metadata"),po=class e{static agentOf(t){return t[ft].config.agent}static interfaceOf(t){return t[ft].service}static canisterIdOf(t){return U.from(t[ft].config.canisterId)}static createActorClass(t,r){let n=t({IDL:vn});class o extends e{constructor(s){if(!s.canisterId)throw Y.fromCode(new vo(s.canisterId));let a=typeof s.canisterId=="string"?U.fromText(s.canisterId):s.canisterId;super({config:{...gd,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(gc),r?.certificate&&u.annotations.push(xd),this[c]=Ym(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw Y.fromCode(new vo(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[ft]=Object.freeze(t)}};function uo(e,t){let r=vn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var gd={pollingOptions:_d},gc="http-details",xd="certificate";function Ym(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[ft].config.queryTransform?.(t,a,{...e[ft].config,...s})};let c=s.agent||e[ft].config.agent||new wr,u=U.from(s.canisterId||e[ft].config.canisterId),p=vn.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:s.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case Rr.Rejected:{let f=new Fi(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Sr.fromCode(f)}case Rr.Replied:return r.annotations.includes(gc)?{httpDetails:l,result:uo(r.retTypes,d.reply.arg)}:uo(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[ft].config.callTransform?.(t,a,{...e[ft].config,...s})};let c=s.agent||e[ft].config.agent||wr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...gd,...e[ft].config,...s},l=U.from(u),f=p!==void 0?U.from(p):l,h=vn.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(al(g.body)){if(c.rootKey==null)throw ye.fromCode(new at);let R=g.body.certificate;y=await st.create({certificate:R,rootKey:c.rootKey,principal:{canisterId:f},blsVerify:n,agent:c});let v=[$("request_status"),_];switch(new TextDecoder().decode(ve(y.lookup_path([...v,"status"])))){case"replied":x=ve(y.lookup_path([...v,"reply"]));break;case"rejected":{let I=new Uint8Array(ve(y.lookup_path([...v,"reject_code"])))[0],F=new TextDecoder().decode(ve(y.lookup_path([...v,"reject_message"]))),S=ve(y.lookup_path([...v,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new Hn(_,I,F,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Sr.fromCode(N)}}}else if(sl(g.body)){let{reject_code:R,reject_message:v,error_code:w}=g.body,I=new Pi(_,R,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Sr.fromCode(I)}if(g.status===202){let R={...d,blsVerify:n},v=await yc(c,f,_,R);y=v.certificate,x=v.reply}let T=r.annotations.includes(gc),E=r.annotations.includes(xd),O={...g,requestDetails:m};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:uo(r.retTypes,x)}:E?{certificate:y,result:uo(r.retTypes,x)}:T?{httpDetails:O,result:uo(r.retTypes,x)}:uo(r.retTypes,x);{let R=new Re(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(v=>v.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},ce.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var Zm=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(Zm||{}),Nb=BigInt(1e8);var k=e=>e==null,z=e=>!k(e),ii=e=>z(e)&&e!=="",fo=e=>!ii(e);var Xm=class extends Error{},si=(e,t)=>{if(e==null)throw new Xm(t)};var Tr=e=>new Uint8Array(e),Ts=e=>Array.from(e);var wd=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var bd="abcdefghijklmnopqrstuvwxyz234567",oi=Object.create(null);for(let e=0;e<bd.length;e++)oi[bd[e]]=e;oi[0]=oi.o;oi[1]=oi.i;var $r=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Td=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Ob=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var xc="__bigint__",bc="__principal__",wc="__uint8array__",Nd=(e,t)=>typeof t=="bigint"?{[xc]:`${t}`}:z(t)&&U.isPrincipal(t)?{[bc]:U.from(t).toText()}:z(t)&&t instanceof Uint8Array?{[wc]:Array.from(t)}:t,Od=(e,t)=>{let r=n=>t[n];return z(t)&&typeof t=="object"&&xc in t?BigInt(r(xc)):z(t)&&typeof t=="object"&&bc in t?U.fromText(r(bc)):z(t)&&typeof t=="object"&&wc in t?Uint8Array.from(r(wc)):t};var se=e=>z(e)?[e]:[],be=e=>e?.[0];var Qm=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=e_({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},e_=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Ts(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function t_(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function r_(e){return kn(e,ni)}var n_=class{constructor(e){this._cose=e,this.#e=r_(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},Ad=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new n_(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return $r(this.#e)}},o_=class extends Ad{#e;#t;constructor({authData:e,...t}){super(t);let r=Qm({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},i_=class extends Ad{},s_=class extends Error{},a_=class extends Error{},c_=class extends Error{},l_=class extends Error{},u_=class extends Error{},d_=class extends Error{},p_=class extends Error{},Ed=class extends Error{};var f_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},h_=6e4,Sd=()=>window.crypto.getRandomValues(new Uint8Array(16)),m_=()=>Sd(),__=()=>Sd(),y_=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new s_}},Cd=({appId:e})=>e?.id??y_(),g_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:Cd({appId:e})}}),o=()=>({user:{id:__(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:m_(),...n(),...o(),pubKeyCredParams:Object.values(f_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},x_=(e={})=>({rpId:Cd(e),allowCredentials:[],userVerification:"required"}),Tc=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},Gr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Gr||{}),Fd=({timeout:e})=>AbortSignal.timeout(e??h_),b_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...x_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:Fd({timeout:n})}),Rd=e=>{if(e.status!=="initialized")throw new a_},Id=e=>{if(k(e))throw new c_},vd=({type:e})=>{if(e!=="public-key")throw new l_},Nc=class ai extends Dt{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=ai.#r({credential:new o_(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:g_(t),signal:Fd({timeout:r})});Id(o),vd(o);let{response:{attestationObject:i},rawId:s}=o;if(k(i))throw new u_;let{authData:a}=Xi.decode(Tr(i)),c=t_(a);return new ai({...n,rawId:Tr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ai(t)}getPublicKey(){Rd(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){Rd(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Tc({fn:async()=>{let n=await b_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return Id(n),vd(n),n},step:0,onProgress:this.#e});return await Tc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!wd({a:this.#t.credential.getCredentialId(),b:Tr(n)}))throw new d_;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:Tr(n)});this.#t=ai.#r({credential:new i_({rawId:Tr(n),cose:i})})},step:1,onProgress:this.#e}),await Tc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(k(i))throw new Ed;if(k(s))throw new Ed;let a=Xi.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:Tr(s)});if(k(a))throw new p_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},w_=async()=>z(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var ho=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var De=class e extends ho{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var ci=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var mo="http://127.0.0.1:5987",Pd="rdmx6-jaaaa-aaaaa-aaadq-cai";var Vd=async({identity:e,container:t})=>{let n=z(t)&&t!==!1?t===!0?mo:t:"https://icp-api.io",o=z(t);return await wr.create({identity:e,shouldFetchRootKey:o,host:n})};var _o=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(k(this.#e)||k(this.#e[n])){let o=await Vd({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var yo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(k(this.#e)||k(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await _o.getInstance().getAgent(n);return po.createActor(t,{agent:o,canisterId:r})}};function Bd(e){return e!==null&&typeof e=="object"}var li=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}else if(Bd(t)){let r=t;if(Bd(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Ft(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(Ft(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=kn(t,Un);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Ln(t,Un);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},vt=class e extends Dt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Ge.utils.randomPrivateKey()),vl(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=Ge.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(li.fromDer(Ee(r)),Ee(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(li.fromRaw(t),r)}static fromSecretKey(t){let r=Ge.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=li.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Ge.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ee(a)),Ft(a)));return Ge.verify(o,i,s)}};var Oc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Dd(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new Oc("Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto")}var kt=class e extends Dt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=Dd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Ft(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=Dd(r),o=Ft(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=Ft(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Ns=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return U.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function Os(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function Ec(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var Jr=class{constructor(t,r,n){this.pubkey=t,this.expiration=r,this.targets=n}toCborValue(){return{pubkey:this.pubkey,expiration:this.expiration,...this.targets&&{targets:this.targets}}}toJSON(){return{expiration:this.expiration.toString(16),pubkey:Os(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function T_(e,t,r,n){let o=new Jr(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...Ta,...new Uint8Array(lr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Nr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await T_(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:u,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new Jr(Ec(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return U.fromHex(d)})),signature:Ec(a)}});return new this(o,Ec(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:Os(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:Os(n)}}),publicKey:Os(this.publicKey)}}},Or=class extends Dt{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await lr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Uo,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},ui=class e extends Ns{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Rc(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?U.fromText(o):o)):r.push(typeof n=="string"?U.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var Ud=["mousedown","mousemove","keydown","touchstart","wheel"],di=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),Ud.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,s.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Ud.forEach(r=>{document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>{r()})}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var N_=(e,t)=>t.some(r=>e instanceof r),kd,Ld;function O_(){return kd||(kd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function E_(){return Ld||(Ld=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var qd=new WeakMap,vc=new WeakMap,Md=new WeakMap,Ic=new WeakMap,Sc=new WeakMap;function R_(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Lt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&qd.set(r,e)}).catch(()=>{}),Sc.set(t,e),t}function I_(e){if(vc.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});vc.set(e,t)}var Ac={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return vc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Md.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Lt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function jd(e){Ac=e(Ac)}function v_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Es(this),t,...r);return Md.set(n,t.sort?t.sort():[t]),Lt(n)}:E_().includes(e)?function(...t){return e.apply(Es(this),t),Lt(qd.get(this))}:function(...t){return Lt(e.apply(Es(this),t))}}function A_(e){return typeof e=="function"?v_(e):(e instanceof IDBTransaction&&I_(e),N_(e,O_())?new Proxy(e,Ac):e)}function Lt(e){if(e instanceof IDBRequest)return R_(e);if(Ic.has(e))return Ic.get(e);let t=A_(e);return t!==e&&(Ic.set(e,t),Sc.set(t,e)),t}var Es=e=>Sc.get(e);function Hd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Lt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Lt(s.result),c.oldVersion,c.newVersion,Lt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var S_=["get","getKey","getAll","getAllKeys","count"],C_=["put","add","delete","clear"],Cc=new Map;function Kd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Cc.get(t))return Cc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=C_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||S_.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return Cc.set(t,i),i}jd(e=>({...e,get:(t,r,n)=>Kd(t,r)||e.get(t,r,n),has:(t,r)=>!!Kd(t,r)||e.has(t,r)}));var $d="auth-client-db",Gd="ic-keyval",F_=async(e=$d,t=Gd,r)=>(globalThis.localStorage?.getItem(Je)&&(globalThis.localStorage.removeItem(Je),globalThis.localStorage.removeItem(We)),await Hd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function P_(e,t,r){return await e.get(t,r)}async function V_(e,t,r,n){return await e.put(t,n,r)}async function B_(e,t,r){return await e.delete(t,r)}var Rs=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=$d,storeName:n=Gd,version:o=Jd}=t??{},i=await F_(r,n,o);return new e(i,n)}async set(t,r){return await V_(this._db,this._storeName,t,r)}async get(t){return await P_(this._db,this._storeName,t)??null}async remove(t){return await B_(this._db,this._storeName,t)}};var We="identity",Je="delegation",Wd="iv",Jd=1,pi=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},qt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}Rs.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(r)})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var D_=BigInt(1e9),U_=BigInt(3600),k_=D_*U_,L_="https://identity.internetcomputer.org",q_="#authorize",M_=BigInt(8)*k_,Fc="ECDSA",Pc="Ed25519",j_=500,Is="UserInterrupt",fi=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new qt,n=t.keyType??Fc,o=null;if(t.identity)o=t.identity;else{let c=await r.get(We);if(!c)try{let u=new pi,p=await u.get(Je),d=await u.get(We);p&&d&&n===Fc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(Je,p),await r.set(We,d),c=p,await u.remove(Je),await u.remove(We))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===Pc&&typeof c=="string"?o=vt.fromJSON(c):o=await kt.fromKeyPair(c):typeof c=="string"&&(o=vt.fromJSON(c))}catch{}}let i=new ot,s=null;if(o)try{let c=await r.get(Je);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?i=t.identity:c&&(s=Nr.fromJSON(c),Rc(s)?"toDer"in o?i=ui.fromDelegation(o,s):i=Or.fromDelegation(o,s):(await Vc(r),o=null))}catch(c){console.error(c),await Vc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=di.create(t.idleOptions)),o||(n===Pc?o=vt.generate():(t.storage&&n===Fc&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${Pc}' as the key type, as it can serialize to a string`),o=await kt.generate()),await zd(r,o)),new e(i,o,s,r,a,t)}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new Jr(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Nr.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=ui.fromDelegation(i,this._chain):this._identity=Or.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=di.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(Je,JSON.stringify(this._chain.toJSON())),await zd(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Rc(this._chain)}async login(t){let r=K_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??M_,o=new URL(r?.identityProvider?.toString()||L_);o.hash=q_,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Is,r?.onError):setTimeout(i,j_))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await Vc(this._storage),this._identity=new ot,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function Vc(e){await e.remove(We),await e.remove(Je),await e.remove(Wd)}function K_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function H_(e){if(e instanceof kt)return e.getKeyPair();if(e instanceof vt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function zd(e,t){let r=H_(t);await e.set(We,r)}var Ue=class e{static#e;#t;constructor(){}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await fi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new qt().remove(We),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new qt;await Promise.all([n.set(We,r.getKeyPair()),n.set(Je,JSON.stringify(t.toJSON()))])}};var Bc=async e=>{await $_(),await Ue.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},$_=async()=>{await Ue.getInstance().logout(),De.getInstance().reset(),yo.getInstance().reset(),_o.getInstance().reset()};var Yd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{ci({message:"junoSignOutAuthTimer"}),await Bc()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":ci({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},De.getInstance().subscribe(o=>{if(k(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var go=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&z(o)&&o.msg==="authClientLoginSuccess"&&ii(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Se=class e extends ho{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var hi=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await G_({fn:e});!r||!t||Se.getInstance().get()?.syncTabs===!1||J_()},Zd=async({fn:e})=>{let{createAuthClient:t}=Ue.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},G_=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ue.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},J_=()=>{try{go.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var Dc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var Xd="juno.datastore.error.user.cannot_update";var Mt={certified:!1};var vs=()=>Ue.getInstance().getAuthClient()?.getIdentity(),W_=async()=>{let{getAuthClient:e,createAuthClient:t}=Ue.getInstance();return(e()??await t()).getIdentity()},z_=async()=>{let e=De.getInstance().get();if(k(e))return null;let t=Ue.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var de=e=>z(e)?e:vs()??new ot;var Uc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(P),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,V))}),q=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ae=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),re=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Kt=e.Record({db:e.Opt(ae),authentication:e.Opt(ee),storage:re}),zr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Yr=e.Variant({OpenId:zr}),Zr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Xr=e.Record({signature:e.Vec(e.Nat8),delegation:Zr}),Ht=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:Xr,Err:Ht}),$t=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Qr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),en=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:Qr,SegmentsDeployment:en}),Qe=e.Record({status:$t,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xe}),et=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:et,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),Jt=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),ht=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),tn=e.Variant({Callback:e.Record({token:ht,callback:e.Func([],[],["query"])})}),Wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(tn),status_code:e.Nat16}),rn=e.Record({token:e.Opt(ht),body:e.Vec(e.Nat8)}),mt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),_t=e.Record({batch_id:e.Nat}),nn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),on=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),sn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),an=e.Record({desc:e.Bool}),zt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),cn=e.Record({order:e.Opt(an),paginate:e.Opt(zt)}),ln=e.Record({proposal_id:e.Nat}),Yt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(ln,Qe)),items_length:e.Nat64}),un=e.Record({include_system:e.Bool}),dn=e.Record({matcher:e.Opt(un)}),pn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),fn=e.Record({stable:e.Nat64,heap:e.Nat64}),hn=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),mn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),_n=e.Record({controller:mn,controllers:e.Vec(e.Principal)}),yn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Zt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ke=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:et,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),gn=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Xt=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),rt=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,O],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],["query"]),get_auth_config:e.Func([],[e.Opt(ee)],["query"]),get_config:e.Func([],[Kt],[]),get_db_config:e.Func([],[e.Opt(ae)],["query"]),get_delegation:e.Func([Yr],[Ze],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Qe)],["query"]),get_rule:e.Func([F,e.Text],[e.Opt(tt)],["query"]),get_storage_config:e.Func([],[re],["query"]),http_request:e.Func([Jt],[Wt],["query"]),http_request_streaming_callback:e.Func([ht],[rn],["query"]),init_asset_upload:e.Func([mt],[_t],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([mt,e.Nat],[_t],[]),init_proposal_many_assets_upload:e.Func([e.Vec(mt),e.Nat],[e.Vec(e.Tuple(e.Text,_t))],[]),list_assets:e.Func([e.Text,O],[nn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,on))],["query"]),list_docs:e.Func([e.Text,O],[sn],["query"]),list_proposals:e.Func([cn],[Yt],["query"]),list_rules:e.Func([F,dn],[pn],["query"]),memory_size:e.Func([],[fn],["query"]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([hn],[ee],[]),set_controllers:e.Func([_n],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([yn],[ae],[]),set_doc:e.Func([e.Text,e.Text,Zt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Zt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,ke],[tt],[]),set_storage_config:e.Func([gn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Xt],[rt],[]),upload_proposal_asset_chunk:e.Func([Xt],[rt],[])})},kc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(P),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,V))}),q=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ae=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),re=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Kt=e.Record({db:e.Opt(ae),authentication:e.Opt(ee),storage:re}),zr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Yr=e.Variant({OpenId:zr}),Zr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Xr=e.Record({signature:e.Vec(e.Nat8),delegation:Zr}),Ht=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:Xr,Err:Ht}),$t=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Qr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),en=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:Qr,SegmentsDeployment:en}),Qe=e.Record({status:$t,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xe}),et=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:et,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),Jt=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),ht=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),tn=e.Variant({Callback:e.Record({token:ht,callback:e.Func([],[],[])})}),Wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(tn),status_code:e.Nat16}),rn=e.Record({token:e.Opt(ht),body:e.Vec(e.Nat8)}),mt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),_t=e.Record({batch_id:e.Nat}),nn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),on=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),sn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),an=e.Record({desc:e.Bool}),zt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),cn=e.Record({order:e.Opt(an),paginate:e.Opt(zt)}),ln=e.Record({proposal_id:e.Nat}),Yt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(ln,Qe)),items_length:e.Nat64}),un=e.Record({include_system:e.Bool}),dn=e.Record({matcher:e.Opt(un)}),pn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),fn=e.Record({stable:e.Nat64,heap:e.Nat64}),hn=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),mn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),_n=e.Record({controller:mn,controllers:e.Vec(e.Principal)}),yn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Zt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ke=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:et,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),gn=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Xt=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),rt=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,O],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],[]),get_auth_config:e.Func([],[e.Opt(ee)],[]),get_config:e.Func([],[Kt],[]),get_db_config:e.Func([],[e.Opt(ae)],[]),get_delegation:e.Func([Yr],[Ze],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(Qe)],[]),get_rule:e.Func([F,e.Text],[e.Opt(tt)],[]),get_storage_config:e.Func([],[re],[]),http_request:e.Func([Jt],[Wt],[]),http_request_streaming_callback:e.Func([ht],[rn],[]),init_asset_upload:e.Func([mt],[_t],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([mt,e.Nat],[_t],[]),init_proposal_many_assets_upload:e.Func([e.Vec(mt),e.Nat],[e.Vec(e.Tuple(e.Text,_t))],[]),list_assets:e.Func([e.Text,O],[nn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,on))],[]),list_docs:e.Func([e.Text,O],[sn],[]),list_proposals:e.Func([cn],[Yt],[]),list_rules:e.Func([F,dn],[pn],[]),memory_size:e.Func([],[fn],[]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([hn],[ee],[]),set_controllers:e.Func([_n],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([yn],[ae],[]),set_doc:e.Func([e.Text,e.Text,Zt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Zt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,ke],[tt],[]),set_storage_config:e.Func([gn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Xt],[rt],[]),upload_proposal_asset_chunk:e.Func([Xt],[rt],[])})},Y_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),E=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),O=e.Variant({Heap:e.Null,Stable:e.Null}),R=e.Record({system_memory:e.Opt(O)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(R),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(F),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,S))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),C=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),L=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(L),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),q=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),ee=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),J=e.Variant({OpenId:ee}),ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),he=e.Record({signature:e.Vec(e.Nat8),delegation:ae}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:he,Err:Fe}),re=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Kt=e.Record({e12s:e.Nat64}),zr=e.Record({updated_at:e.Nat64,fee_cycles:Kt,fee_icp:e.Opt(t)}),Yr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Zr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Xr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Ht=e.Variant({AssetsUpgrade:Zr,SegmentsDeployment:Xr}),Ze=e.Record({status:Yr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Ht}),$t=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Qr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),en=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:en,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qe=e.Variant({Callback:e.Record({token:Xe,callback:e.Func([],[],["query"])})}),et=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qe),status_code:e.Nat16}),Gt=e.Record({token:e.Opt(Xe),body:e.Vec(e.Nat8)}),tt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Jt=e.Record({batch_id:e.Nat}),ht=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),tn=e.Record({field:ht,desc:e.Bool}),Wt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),rn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Wt),description:e.Opt(e.Text),created_at:e.Opt(Wt)}),mt=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),_t=e.Record({order:e.Opt(tn),owner:e.Opt(e.Principal),matcher:e.Opt(rn),paginate:e.Opt(mt)}),nn=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),on=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),sn=e.Record({key:nn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,on)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),an=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,sn)),items_length:e.Nat64}),zt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),cn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:zt,expires_at:e.Opt(e.Nat64)}),ln=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Yt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),un=e.Record({status:Yt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),dn=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),pn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),fn=e.Record({status:Yt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:pn}),hn=e.Record({desc:e.Bool}),mn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),_n=e.Record({order:e.Opt(hn),paginate:e.Opt(mn)}),yn=e.Record({proposal_id:e.Nat}),Zt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(yn,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),gn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),Xt=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:ke}),rt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Js=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),Ws=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:zt,expires_at:e.Opt(e.Nat64)}),zs=e.Record({controller:Ws,controllers:e.Vec(e.Principal)}),Ys=e.Record({fee_cycles:Kt,fee_icp:e.Opt(t)}),Zs=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),Xs=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),Qs=e.Record({iframe:e.Opt(L),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),ea=e.Record({segment_id:e.Principal,segment_kind:ke}),ta=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ra=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([E],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[q],["query"]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([J],[oe],["query"]),get_fee:e.Func([re],[zr],["query"]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],["query"]),get_rate_config:e.Func([re],[$t],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([Qr],[et],["query"]),http_request_streaming_callback:e.Func([Xe],[Gt],["query"]),init_proposal:e.Func([Ht],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[Jt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,Jt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,_t],[an],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,cn))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,ln))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,un))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(dn,fn))],["query"]),list_proposals:e.Func([_n],[Zt],["query"]),list_segments:e.Func([gn],[e.Vec(e.Tuple(Xt,rt))],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([Js],[B],[]),set_controllers:e.Func([zs],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,Ys],[],[]),set_rate_config:e.Func([re,$t],[],[]),set_segment:e.Func([Zs],[rt],[]),set_segment_metadata:e.Func([Xs],[rt],[]),set_storage_config:e.Func([Qs],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([ea],[],[]),upload_proposal_asset_chunk:e.Func([ta],[ra],[])})},Z_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),E=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),O=e.Variant({Heap:e.Null,Stable:e.Null}),R=e.Record({system_memory:e.Opt(O)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(R),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(F),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,S))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),C=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),L=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(L),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),q=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),ee=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),J=e.Variant({OpenId:ee}),ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),he=e.Record({signature:e.Vec(e.Nat8),delegation:ae}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:he,Err:Fe}),re=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Kt=e.Record({e12s:e.Nat64}),zr=e.Record({updated_at:e.Nat64,fee_cycles:Kt,fee_icp:e.Opt(t)}),Yr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Zr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Xr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Ht=e.Variant({AssetsUpgrade:Zr,SegmentsDeployment:Xr}),Ze=e.Record({status:Yr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Ht}),$t=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Qr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),en=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:en,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qe=e.Variant({Callback:e.Record({token:Xe,callback:e.Func([],[],[])})}),et=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qe),status_code:e.Nat16}),Gt=e.Record({token:e.Opt(Xe),body:e.Vec(e.Nat8)}),tt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Jt=e.Record({batch_id:e.Nat}),ht=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),tn=e.Record({field:ht,desc:e.Bool}),Wt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),rn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Wt),description:e.Opt(e.Text),created_at:e.Opt(Wt)}),mt=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),_t=e.Record({order:e.Opt(tn),owner:e.Opt(e.Principal),matcher:e.Opt(rn),paginate:e.Opt(mt)}),nn=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),on=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),sn=e.Record({key:nn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,on)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),an=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,sn)),items_length:e.Nat64}),zt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),cn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:zt,expires_at:e.Opt(e.Nat64)}),ln=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Yt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),un=e.Record({status:Yt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),dn=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),pn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),fn=e.Record({status:Yt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:pn}),hn=e.Record({desc:e.Bool}),mn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),_n=e.Record({order:e.Opt(hn),paginate:e.Opt(mn)}),yn=e.Record({proposal_id:e.Nat}),Zt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(yn,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),gn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),Xt=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:ke}),rt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Js=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),Ws=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:zt,expires_at:e.Opt(e.Nat64)}),zs=e.Record({controller:Ws,controllers:e.Vec(e.Principal)}),Ys=e.Record({fee_cycles:Kt,fee_icp:e.Opt(t)}),Zs=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),Xs=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),Qs=e.Record({iframe:e.Opt(L),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),ea=e.Record({segment_id:e.Principal,segment_kind:ke}),ta=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ra=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([E],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[q],[]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([J],[oe],[]),get_fee:e.Func([re],[zr],[]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],[]),get_rate_config:e.Func([re],[$t],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([Qr],[et],[]),http_request_streaming_callback:e.Func([Xe],[Gt],[]),init_proposal:e.Func([Ht],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[Jt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,Jt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,_t],[an],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,cn))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,ln))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,un))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(dn,fn))],[]),list_proposals:e.Func([_n],[Zt],[]),list_segments:e.Func([gn],[e.Vec(e.Tuple(Xt,rt))],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([Js],[B],[]),set_controllers:e.Func([zs],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,Ys],[],[]),set_rate_config:e.Func([re,$t],[],[]),set_segment:e.Func([Zs],[rt],[]),set_segment_metadata:e.Func([Xs],[rt],[]),set_storage_config:e.Func([Qs],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([ea],[],[]),upload_proposal_asset_chunk:e.Func([ta],[ra],[])})};var X_=async({identity:e,host:t,localActor:r})=>await wr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),Q_=async({agent:e,...t})=>e??await ey(t),ey=async({identity:e,container:t})=>{let r=z(t)&&t!==!1;return await X_({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var Qd=({satelliteId:e,certified:t=!1,...r})=>tp({canisterId:e,...r,idlFactory:t?kc:Uc});var ep=({consoleId:e,certified:t=!1,...r})=>tp({canisterId:e,...r,idlFactory:t?Z_:Y_}),tp=({canisterId:e,idlFactory:t,...r})=>{if(k(e))throw new Error("No canister ID provided.");return ty({canisterId:e,idlFactory:t,...r})},ty=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await Q_(n);return po.createActor(t,{agent:o,canisterId:e,...r??{}})};var rp=({satelliteId:e,container:t})=>{let{satelliteId:r}=Lc({satelliteId:e}),{container:n}=qc({container:t});if(z(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?mo:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Lc=({satelliteId:e})=>z(e)?{satelliteId:e}:Se.getInstance().get()??{satelliteId:void 0},qc=({container:e})=>z(e)?{container:e}:Se.getInstance().get()??{container:void 0};var we=({satellite:e,options:{certified:t}})=>op({idlFactory:t?kc:Uc,actorKey:`stock#${t?"update":"query"}`,...e}),np=({idlFactory:e,...t})=>op({idlFactory:e,actorKey:"extended#query",...t}),op=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Lc({satelliteId:e});si(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=qc({container:t});return await yo.getInstance().getActor({satelliteId:n,container:o,...r})};var As=class extends Error{},Er=class extends Error{},Ss=class extends Error{},Cs=class extends Error{},Fs=class extends Error{},Ps=class extends Error{},Vs=class extends Error{},Bs=class extends Error{},Ds=class extends Error{};var ip=e=>{if(k(e))return se();switch(e.matcher){case"equal":return se({Equal:e.timestamp});case"greaterThan":return se({GreaterThan:e.timestamp});case"lessThan":return se({LessThan:e.timestamp});case"between":return se({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Ds("Invalid list matcher for timestamp",e)}},Wr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:k(e)?[]:[{key:se(e.key),description:se(e.description),created_at:ip(e.createdAt),updated_at:ip(e.updatedAt)}],paginate:se(k(t)?void 0:{start_after:se(t.startAfter),limit:se(k(t.limit)?void 0:BigInt(t.limit))}),order:se(k(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(k(n)?void 0:typeof n=="string"?U.fromText(n):n)});var sp=async e=>{let t=new Blob([JSON.stringify(e,Nd)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Us=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),Od)},ks=()=>typeof window<"u";var ap=async({data:e})=>{try{return await Us(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Mc=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await sp(t),version:se(r)}},jc=e=>{let{version:t}=e;return{version:se(t)}},qn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:be(o),owner:r.toText(),data:await Us(i),version:be(n),...s}};var cp=async({collection:e,key:t,...r})=>{let{get_doc:n}=await we(r),o=be(await n(e,t));if(!k(o))return qn({doc:o,key:t})},lp=async({docs:e,...t})=>{let{get_many_docs:r}=await we(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=be(a);i.push(z(c)?await qn({key:s,doc:c}):void 0)}return i},up=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await we(r),{key:o}=t,i=await Mc(t),s=await n(e,o,i);return await qn({key:o,doc:s})},dp=async({docs:e,...t})=>{let{set_many_docs:r}=await we(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await Mc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await qn({key:s,doc:a}));return i},pp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await we(r),{key:o}=t;return n(e,o,jc(t))},fp=async({docs:e,...t})=>{let{del_many_docs:r}=await we(t),n=e.map(({collection:o,doc:i})=>[o,i.key,jc(i)]);await r(n)},hp=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await we(r);return n(e,Wr(t))},mp=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await we(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,Wr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:be(h),owner:f.toText(),data:await ap({data:l}),version:be(_),...g})}return{items:u,items_length:s,items_page:be(i),matches_length:a,matches_pages:be(c)}},_p=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await we(r);return n(e,Wr(t))};var Ls=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await cp({...r,satellite:{...e,identity:n},options:t??Mt})},cN=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await lp({...r,satellite:{...e,identity:n},options:t??Mt})},yp=async({satellite:e,...t})=>{let r=de(e?.identity);return await up({...t,satellite:{...e,identity:r},options:{certified:!0}})},gp=async({satellite:e,...t})=>{let r=de(e?.identity);return await dp({...t,satellite:{...e,identity:r},options:{certified:!0}})},lN=async({satellite:e,...t})=>{let r=de(e?.identity);return await pp({...t,satellite:{...e,identity:r},options:{certified:!0}})},uN=async({satellite:e,...t})=>{let r=de(e?.identity);return await fp({...t,satellite:{...e,identity:r},options:{certified:!0}})},dN=async({satellite:e,filter:t,...r})=>{let n=de(e?.identity);return await hp({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},pN=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await mp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Mt})},fN=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await _p({...n,filter:r??{},satellite:{...e,identity:o},options:t??Mt})};var xp=async({provider:e})=>{let{user:t,userId:r}=await qs();if(z(t))return t;try{return await ry({userId:r,provider:e})}catch(n){if(Dc({error:n,type:Xd})){let o=await bp({userId:r});if(z(o))return o}throw n}},qs=async()=>{let e=vs();if(k(e))throw new Bs("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await bp({userId:t});return{userId:t,user:r}},bp=({userId:e})=>Ls({collection:"#user",key:e}),ry=({userId:e,...t})=>yp({collection:"#user",doc:{key:e,data:t}});var Ms=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await hi({fn:async()=>{let{user:r}=await qs();De.getInstance().set(r??null)},syncTabsOnSuccess:e})},wp=async()=>{await Zd({fn:async({authenticated:t})=>{let n=t?qs:()=>Promise.resolve({user:null}),{user:o}=await n();De.getInstance().set(o??null)}})},js=async({user:e})=>{await hi({fn:async()=>{De.getInstance().set(e)},syncTabsOnSuccess:!0})};var Tp=()=>{try{let e=go.getInstance(),t=async()=>{await wp(),ci({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Np=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},Op=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()},Ep=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()};var Rp=BigInt(144e11),Ip=!1,vp={width:576,height:576},Ap={width:424,height:576};var mi="internetcomputer.org",Sp="ic0.app",Cp="id.ai";var Fp=({width:e,height:t})=>{if(!ks()||k(window)||k(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${i}`};var jt=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var Pp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Pp||{});var Ks=class{async signIn({options:t,authClient:r,initAuth:n}){await jt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await jt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(k(r)){o(new Er("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===Is){o(new Ss(i));return}o(new As(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Rp,allowPinAuthentication:t?.allowPin??Ip,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Hs=class extends Ks{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Se.getInstance().get()?.container;if(k(i)||i===!1){let p=[mi,Sp].includes(this.#e??mi);return fo(this.#e)?`https://identity.${mi}`:p?`https://identity.${this.#e??mi}`:`https://${this.#e}`}let s=Se.getInstance().get(),a=z(s)&&z(s?.internetIdentityId)?s.internetIdentityId:Pd,{host:c,protocol:u}=new URL(i===!0?mo:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:Fp((()=>{try{let{hostname:i}=new URL(n);return i.includes(Cp)}catch{return!1}})()?Ap:vp)},identityProvider:n}}};var Kc=class extends Error{},Hc=class extends Error{},$c=class extends Error{},Gc=class extends Error{},Jc=class extends Error{},Wc=class extends Error{},zc=class extends Error{},Yc=class extends Error{},Zc=class extends Error{},Xc=class extends Error{};var Vp=({auth:e,identity:t})=>"satellite"in e?Qd({...e.satellite,identity:t}):ep({...e.console,identity:t}),ny=async({actorParams:e,args:t})=>{let{authenticate:r}=await Vp(e);return await r(t)},oy=async({actorParams:e,args:t})=>{let{get_delegation:r}=await Vp(e);return await r(t)},iy=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Nr.fromDelegations(n,Uint8Array.from(r));return{identity:Or.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Qc=async({jwt:e,context:t,auth:r})=>{let n=await kt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await sy({jwt:e,publicKey:o,context:t,auth:r});return{identity:iy({sessionKey:n,delegations:i}),data:s}},sy=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await ny({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Jc("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await ay({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=u,{pubkey:l,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new Jr(Uint8Array.from(l),f,be(h)),signature:Uint8Array.from(d)}]],data:c}},ay=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(u=>{setInterval(u,1e3*a)});let c=await oy({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:u}=c;if("NoSuchDelegation"in u||"GetCachedJwks"in u)continue;throw new Zc("Getting delegation failed",{cause:c})}return c.Ok}throw new Xc};var el="juno:auth:openid",tl={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"};var Bp=e=>$r(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),cy=()=>window.crypto.getRandomValues(new Uint8Array(32)),ly=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",n);return Bp(Tr(o))},uy=async({caller:e})=>{let t=cy();return{nonce:await ly({salt:t,caller:e}),salt:t}},Dp="__caller__",Up="__salt__",kp="__state__",dy=({caller:e,state:t,salt:r})=>{let n={[Dp]:e.toJSON(),[Up]:$r(r),[kp]:t};return JSON.stringify(n)},py=e=>{let{[Dp]:t,[Up]:r,[kp]:n}=JSON.parse(e);return{caller:vt.fromParsedJson(t),salt:Td(r),state:n}},fy=()=>Bp(window.crypto.getRandomValues(new Uint8Array(12))),Lp=async()=>{let e=vt.generate(),{nonce:t,salt:r}=await uy({caller:e}),n=fy(),o=dy({caller:e,salt:r,state:n});return sessionStorage.setItem(el,o),{nonce:t,state:n}},qp=()=>{let e=sessionStorage.getItem(el);if(k(e))throw new Hc;return py(e)};var rl=async e=>{let t=qp();if("credentials"in e){let{credentials:{jwt:r},auth:n}=e;return await Qc({jwt:r,context:t,auth:n})}return await hy({...e,context:t})},hy=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(fo(r)||!r.startsWith("#"))throw new Wc("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(fo(s)||o!==s)throw new zc("The provided state is invalid",{cause:o});if(fo(i))throw new Yc;return await Qc({jwt:i,auth:e,context:t})};var Mp=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=(()=>{try{return new URL(e)}catch{throw new Kc("Cannot parse authURL",{cause:e})}})();a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),ii(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},jp=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(k(i))throw new $c;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new Gc("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function nl({google:e}){let t=await Lp();if("credentials"in e){let{credentials:i}=e,{configUrl:s}=tl;return await jp({...i,...t,configUrl:s})}let{redirect:r}=e,{authUrl:n,authScopes:o}=tl;Mp({...r,...t,authUrl:n,authScopes:o})}var my=async()=>{let{satelliteId:e}=Se.getInstance().get()??{satelliteId:void 0};if(k(e))throw new Er("Satellite ID not set. Have you initialized the Satellite?");let t=Se.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:n,identity:o},data:{doc:i}}=await rl({redirect:null,auth:{satellite:{satelliteId:e,container:t}}});await Ue.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:n});let s=await qn({doc:i,key:o.getPrincipal().toText()});await js({user:s})};var Kp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),_y=()=>{window.addEventListener("beforeunload",Kp,{capture:!0})},yy=()=>{window.removeEventListener("beforeunload",Kp,{capture:!0})},$s=async({fn:e})=>{try{return _y(),await e()}finally{yy()}};var Gs=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Ep();if(k(r))throw new Fs;let{redirect:n}=t;await nl({google:{redirect:{...n??{},clientId:r}}})}};var Hp=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await gp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...z(n)&&{aaguid:Ts(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var $p=(i=>(i[i.RequestingUserCredential=0]="RequestingUserCredential",i[i.FinalizingCredential=1]="FinalizingCredential",i[i.Signing=2]="Signing",i[i.FinalizingSession=3]="FinalizingSession",i[i.RetrievingUser=4]="RetrievingUser",i))($p||{}),Gp=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(Gp||{});var xo=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Se.getInstance().get()??{satelliteId:void 0};if(k(i))throw new Er("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:g})=>{switch(_){case Gr.RequestingUserCredential:t?.({step:1,state:g});break;case Gr.FinalizingCredential:t?.({step:2,state:g});break;case Gr.Signing:t?.({step:3,state:g});break}},c=await jt({fn:async()=>await Nc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await jt({fn:async()=>await Hp({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await jt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await jt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Se.getInstance().get()??{satelliteId:void 0};if(k(o))throw new Er("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await Ls({collection:"#user-webauthn",key:$r(d),options:{certified:!0},satellite:{identity:new ot,satelliteId:o}});if(k(l))throw new Ps("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Ln(h,ni)},s=({step:d,state:l})=>{switch(d){case Gr.RequestingUserCredential:t?.({step:0,state:l});break;case Gr.FinalizingCredential:t?.({step:1,state:l});break;case Gr.Signing:t?.({step:2,state:l});break}},a=await Nc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await jt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await jt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await kt.generate({extractable:!1}),o=r??144e5,i=await Nr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Or.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new qt;await Promise.all([n.set(We,t.getKeyPair()),n.set(Je,JSON.stringify(r.getDelegation().toJSON()))])}};var xy=async({provider:e})=>{await hi({fn:async()=>{let r=await xp({provider:e});De.getInstance().set(r)},syncTabsOnSuccess:!0})},by=async e=>{if("google"in e){let{google:{options:t}}=e;await ol({fn:()=>new Gs().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await ol({fn:()=>new xo().signIn({options:t,loadAuth:()=>Ms({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await ol({fn:()=>new Hs({domain:n}).signIn({options:o,authClient:Ue.getInstance().getAuthClient(),initAuth:xy}),context:r});return}throw new Cs("An unknown or unsupported provider was provided for sign-in.")},ol=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await $s({fn:e})};var wy=async e=>{let t=async()=>await Ty(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await $s({fn:t})},Ty=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new xo().signUp({options:t,loadAuthWithUser:js});return}throw new Vs("An unknown or unsupported provider was provided for sign-up.")};var D6=e=>e?.data?.provider==="webauthn",U6=e=>e?.data?.provider==="google";var M6=async({idlFactory:e,satellite:t})=>{let r=de(t?.identity);return await np({idlFactory:e,...t,identity:r})};var Jp=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(Ny(r));o?.onInitiatedBatch();let{chunkIds:u}=await Ry({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Ey({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var Ny=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:se(r),encoding_type:se(o),description:se(i)}),Oy=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:i})=>i),headers:[...r,...o??[]]}},Ey=async({commitFn:e,...t})=>{let r=Oy(t);await e(r)},Ry=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=ks()?new Blob([await e.arrayBuffer()]):e,i=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:i}),i++}let s=[];for await(let a of Iy({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*Iy({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>vy(o)))}}var vy=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var Wp=async({asset:e,...t})=>{let r=await we(t);await Jp({actor:r,asset:e})},zp=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await we(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,Wr(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:be(s),matches_length:a,matches_pages:be(c)}},Yp=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await we(r);return n(e,Wr(t))},Zp=async({collection:e,fullPath:t,...r})=>(await we(r)).del_asset(e,t),Xp=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await we({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Qp=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await we(r);return n(e,Wr(t))},ef=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await we(n);return o(e,t,se(r))},tf=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await we(r);return be(await n(e,t))},rf=async({assets:e,...t})=>{let{get_many_assets:r}=await we(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>be(s))};var nf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var o1=e=>of(e),i1=e=>of({filename:e.data.name,...e}),of=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=de(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await Wp({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:sf({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...z(i)&&{token:i},name:p}},s1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)},{items:i,...s}=await zp({collection:e,filter:t??{},satellite:o,options:n??Mt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:_,updated_at:g})=>{let m=be(u);return{fullPath:c,description:be(l),name:p,downloadUrl:sf({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:nf(E),total_length:O}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...s}},a1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)};return await Yp({collection:e,satellite:o,filter:t??{},options:n??Mt})},c1=({collection:e,fullPath:t,satellite:r})=>Zp({collection:e,fullPath:t,satellite:{...r,identity:de(r?.identity)},options:{certified:!0}}),l1=({collection:e,fullPath:t,token:r,satellite:n})=>ef({collection:e,fullPath:t,token:r,satellite:{...n,identity:de(n?.identity)},options:{certified:!0}}),u1=({assets:e,satellite:t})=>Xp({assets:e,satellite:{...t,identity:de(t?.identity)},options:{certified:!0}}),d1=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:de(t?.identity)};return await Qp({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},p1=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await tf({...r,satellite:{...e,identity:n},options:t??Mt})},f1=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await rf({...r,satellite:{...e,identity:n},options:t??Mt})},sf=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:de(r?.identity)};return`${rp(n)}${e}${z(t)?`?token=${t}`:""}`};var Ay=e=>{let t=e?.satelliteId??Np();si(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Op();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},N1=e=>Sy(e),Sy=async e=>{let t=Ay(e);Se.getInstance().set(t),await Ms();let r=t.workers?.auth!==void 0?Yd(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Tp();return[...z(r)?[r]:[],...z(n)?[n]:[]]},Cy=e=>De.getInstance().subscribe(e),O1=Cy;export{Pp as AuthClientSignInProgressStep,Bs as InitError,Hs as InternetIdentityProvider,Ds as ListError,As as SignInError,Er as SignInInitError,Fs as SignInMissingClientIdError,Cs as SignInProviderNotSupportedError,Ss as SignInUserInterruptError,Vs as SignUpProviderNotSupportedError,$p as WebAuthnSignInProgressStep,Ps as WebAuthnSignInRetrievePublicKeyError,Gp as WebAuthnSignUpProgressStep,O1 as authSubscribe,a1 as countAssets,fN as countDocs,c1 as deleteAsset,lN as deleteDoc,d1 as deleteFilteredAssets,dN as deleteFilteredDocs,u1 as deleteManyAssets,uN as deleteManyDocs,sf as downloadUrl,p1 as getAsset,Ls as getDoc,z_ as getIdentityOnce,f1 as getManyAssets,cN as getManyDocs,M6 as getSatelliteExtendedActor,my as handleRedirectCallback,N1 as initJuno,Sy as initSatellite,U6 as isGoogleUser,w_ as isWebAuthnAvailable,D6 as isWebAuthnUser,s1 as listAssets,pN as listDocs,Cy as onAuthStateChange,l1 as setAssetToken,yp as setDoc,gp as setManyDocs,by as signIn,Bc as signOut,wy as signUp,W_ as unsafeIdentity,o1 as uploadBlob,i1 as uploadFile};
57
57
  /*! Bundled license information:
58
58
 
59
59
  @noble/hashes/esm/utils.js: