@junobuild/core-standalone 5.1.0 → 5.2.0
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.
- package/dist/browser/index.js +19 -19
- package/dist/browser/index.js.map +4 -4
- package/dist/node/index.mjs +19 -19
- package/dist/node/index.mjs.map +4 -4
- package/dist/types/auth/types/provider.d.ts +2 -2
- package/dist/types/auth/types/user.d.ts +7 -0
- package/dist/types/auth/utils/user.utils.d.ts +9 -0
- package/package.json +4 -4
package/dist/node/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as topLevelCreateRequire } from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var Tf=Object.defineProperty;var Nf=(e,t)=>{for(var r in t)Tf(e,r,{get:t[r],enumerable:!0})};var gl;(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"})(gl||(gl={}));var vr;(function(e){e.Replied="replied",e.Rejected="rejected"})(vr||(vr={}));function xl(e){return e!=null&&"reject_code"in e}function bl(e){return e!=null&&"certificate"in e}var gi="abcdefghijklmnopqrstuvwxyz234567",Kn=Object.create(null);for(let e=0;e<gi.length;e++)Kn[gi[e]]=e;Kn[0]=Kn.o;Kn[1]=Kn.i;function wl(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+=gi[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?gi[r>>3]:"")}function Tl(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=Kn[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 Of=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 Nl(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Of[o]^t>>>8}return(t^-1)>>>0}import*as rr from"node:crypto";var wn=rr&&typeof rr=="object"&&"webcrypto"in rr?rr.webcrypto:rr&&typeof rr=="object"&&"randomBytes"in rr?rr:void 0;function Ft(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function fa(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function me(e,...t){if(!Ft(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 ha(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 El(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 Tn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function bi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function bt(e,t){return e<<32-t|e>>>t}var Rl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Ef=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(me(e),Rl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Ef[e[r]];return t}var nr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ol(e){if(e>=nr._0&&e<=nr._9)return e-nr._0;if(e>=nr.A&&e<=nr.F)return e-(nr.A-10);if(e>=nr.a&&e<=nr.f)return e-(nr.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Rl)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=Ol(e.charCodeAt(i)),a=Ol(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 ma(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 xi=class{};function wi(e){let t=n=>e().update(ma(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Hn(e=32){if(wn&&typeof wn.getRandomValues=="function")return wn.getRandomValues(new Uint8Array(e));if(wn&&typeof wn.randomBytes=="function")return Uint8Array.from(wn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function Rf(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 Il(e,t,r){return e&t^~e&r}function vl(e,t,r){return e&t^e&r^t&r}var To=class extends xi{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=bi(this.buffer)}update(t){ha(this),t=ma(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=bi(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){ha(this),El(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,Tn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;Rf(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=bi(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()}},or=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ir=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 Ti=BigInt(4294967295),Al=BigInt(32);function If(e,t=!1){return t?{h:Number(e&Ti),l:Number(e>>Al&Ti)}:{h:Number(e>>Al&Ti)|0,l:Number(e&Ti)|0}}function Sl(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}=If(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var _a=(e,t,r)=>e>>>r,ya=(e,t,r)=>e<<32-r|t>>>r,Nn=(e,t,r)=>e>>>r|t<<32-r,On=(e,t,r)=>e<<32-r|t>>>r,No=(e,t,r)=>e<<64-r|t>>>r-32,Oo=(e,t,r)=>e>>>r-32|t<<64-r;function Vt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Cl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Pl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Fl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Vl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Bl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Dl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Af=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]),Ar=new Uint32Array(64),Ni=class extends To{constructor(t=32){super(64,t,8,!1),this.A=or[0]|0,this.B=or[1]|0,this.C=or[2]|0,this.D=or[3]|0,this.E=or[4]|0,this.F=or[5]|0,this.G=or[6]|0,this.H=or[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)Ar[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=Ar[d-15],f=Ar[d-2],h=bt(l,7)^bt(l,18)^l>>>3,_=bt(f,17)^bt(f,19)^f>>>10;Ar[d]=_+Ar[d-7]+h+Ar[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=bt(a,6)^bt(a,11)^bt(a,25),f=p+l+Il(a,c,u)+Af[d]+Ar[d]|0,_=(bt(n,2)^bt(n,13)^bt(n,22))+vl(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(){Tn(Ar)}destroy(){this.set(0,0,0,0,0,0,0,0),Tn(this.buffer)}},ga=class extends Ni{constructor(){super(28),this.A=ir[0]|0,this.B=ir[1]|0,this.C=ir[2]|0,this.D=ir[3]|0,this.E=ir[4]|0,this.F=ir[5]|0,this.G=ir[6]|0,this.H=ir[7]|0}},Ul=Sl(["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))),Sf=Ul[0],Cf=Ul[1],Sr=new Uint32Array(80),Cr=new Uint32Array(80),xa=class extends To{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)Sr[y]=t.getUint32(r),Cr[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=Sr[y-15]|0,E=Cr[y-15]|0,O=Nn(T,E,1)^Nn(T,E,8)^_a(T,E,7),R=On(T,E,1)^On(T,E,8)^ya(T,E,7),v=Sr[y-2]|0,w=Cr[y-2]|0,I=Nn(v,w,19)^No(v,w,61)^_a(v,w,6),P=On(v,w,19)^Oo(v,w,61)^ya(v,w,6),S=Fl(R,P,Cr[y-7],Cr[y-16]),b=Vl(S,O,I,Sr[y-7],Sr[y-16]);Sr[y]=b|0,Cr[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=Nn(d,l,14)^Nn(d,l,18)^No(d,l,41),E=On(d,l,14)^On(d,l,18)^Oo(d,l,41),O=d&f^~d&_,R=l&h^~l&g,v=Bl(x,E,R,Cf[y],Cr[y]),w=Dl(v,m,T,O,Sf[y],Sr[y]),I=v|0,P=Nn(n,o,28)^No(n,o,34)^No(n,o,39),S=On(n,o,28)^Oo(n,o,34)^Oo(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}=Vt(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=Cl(I,S,N);n=Pl(C,w,P,b),o=C|0}({h:n,l:o}=Vt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Vt(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Vt(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=Vt(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=Vt(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=Vt(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=Vt(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=Vt(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(){Tn(Sr,Cr)}destroy(){Tn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ve=wi(()=>new Ni),kl=wi(()=>new ga),Ll=wi(()=>new xa);var Oi="__principal__",Pf=2,ql=4,Ff="aaaaa-aa",k=class e{static anonymous(){return new this(new Uint8Array([ql]))}static managementCanister(){return this.fromText(Ff)}static selfAuthenticating(t){let r=kl(t);return new this(new Uint8Array([...r,Pf]))}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(Oi)){let s=JSON.parse(t);Oi in s&&(r=s[Oi])}let n=r.toLowerCase().replace(/-/g,""),o=Tl(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]===ql}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,Nl(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=wl(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Oi]: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 sr;(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"})(sr||(sr={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
3
|
+
var mf=Object.defineProperty;var _f=(e,t)=>{for(var r in t)mf(e,r,{get:t[r],enumerable:!0})};var al;(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"})(al||(al={}));var Br;(function(e){e.Replied="replied",e.Rejected="rejected"})(Br||(Br={}));function cl(e){return e!=null&&"reject_code"in e}function ll(e){return e!=null&&"certificate"in e}var Ci="abcdefghijklmnopqrstuvwxyz234567",eo=Object.create(null);for(let e=0;e<Ci.length;e++)eo[Ci[e]]=e;eo[0]=eo.o;eo[1]=eo.i;function ul(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+=Ci[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?Ci[r>>3]:"")}function dl(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=eo[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 yf=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 pl(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=yf[o]^t>>>8}return(t^-1)>>>0}import*as lr from"node:crypto";var Fn=lr&&typeof lr=="object"&&"webcrypto"in lr?lr.webcrypto:lr&&typeof lr=="object"&&"randomBytes"in lr?lr:void 0;function Lt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ma(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!Lt(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 _a(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 hl(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 Vn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Vi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rt(e,t){return e<<32-t|e>>>t}var ml=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",gf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(fe(e),ml)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=gf[e[r]];return t}var ur={_0:48,_9:57,A:65,F:70,a:97,f:102};function fl(e){if(e>=ur._0&&e<=ur._9)return e-ur._0;if(e>=ur.A&&e<=ur.F)return e-(ur.A-10);if(e>=ur.a&&e<=ur.f)return e-(ur.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(ml)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=fl(e.charCodeAt(i)),a=fl(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 G(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function ya(e){return typeof e=="string"&&(e=G(e)),fe(e),e}function K(...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 Pi(e){let t=n=>e().update(ya(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function to(e=32){if(Fn&&typeof Fn.getRandomValues=="function")return Fn.getRandomValues(new Uint8Array(e));if(Fn&&typeof Fn.randomBytes=="function")return Uint8Array.from(Fn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function xf(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 _l(e,t,r){return e&t^~e&r}function yl(e,t,r){return e&t^e&r^t&r}var Do=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=Vi(this.buffer)}update(t){_a(this),t=ya(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=Vi(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){_a(this),hl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,Vn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;xf(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Vi(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()}},dr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),pr=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),gl=BigInt(32);function bf(e,t=!1){return t?{h:Number(e&Bi),l:Number(e>>gl&Bi)}:{h:Number(e>>gl&Bi)|0,l:Number(e&Bi)|0}}function xl(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}=bf(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var ga=(e,t,r)=>e>>>r,xa=(e,t,r)=>e<<32-r|t>>>r,Pn=(e,t,r)=>e>>>r|t<<32-r,Bn=(e,t,r)=>e<<32-r|t>>>r,Uo=(e,t,r)=>e<<64-r|t>>>r-32,ko=(e,t,r)=>e>>>r-32|t<<64-r;function qt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var bl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),wl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Tl=(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),El=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Tf=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]),Dr=new Uint32Array(64),Di=class extends Do{constructor(t=32){super(64,t,8,!1),this.A=dr[0]|0,this.B=dr[1]|0,this.C=dr[2]|0,this.D=dr[3]|0,this.E=dr[4]|0,this.F=dr[5]|0,this.G=dr[6]|0,this.H=dr[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)Dr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=Dr[d-15],f=Dr[d-2],h=Rt(l,7)^Rt(l,18)^l>>>3,_=Rt(f,17)^Rt(f,19)^f>>>10;Dr[d]=_+Dr[d-7]+h+Dr[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=Rt(a,6)^Rt(a,11)^Rt(a,25),f=p+l+_l(a,c,u)+Tf[d]+Dr[d]|0,_=(Rt(n,2)^Rt(n,13)^Rt(n,22))+yl(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(){Vn(Dr)}destroy(){this.set(0,0,0,0,0,0,0,0),Vn(this.buffer)}},ba=class extends Di{constructor(){super(28),this.A=pr[0]|0,this.B=pr[1]|0,this.C=pr[2]|0,this.D=pr[3]|0,this.E=pr[4]|0,this.F=pr[5]|0,this.G=pr[6]|0,this.H=pr[7]|0}},Rl=xl(["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))),Nf=Rl[0],Of=Rl[1],Ur=new Uint32Array(80),kr=new Uint32Array(80),wa=class extends Do{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)Ur[y]=t.getUint32(r),kr[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=Ur[y-15]|0,O=kr[y-15]|0,R=Pn(T,O,1)^Pn(T,O,8)^ga(T,O,7),E=Bn(T,O,1)^Bn(T,O,8)^xa(T,O,7),I=Ur[y-2]|0,w=kr[y-2]|0,v=Pn(I,w,19)^Uo(I,w,61)^ga(I,w,6),V=Bn(I,w,19)^ko(I,w,61)^xa(I,w,6),S=Tl(E,V,kr[y-7],kr[y-16]),x=Nl(S,R,v,Ur[y-7],Ur[y-16]);Ur[y]=x|0,kr[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:b}=this;for(let y=0;y<80;y++){let T=Pn(d,l,14)^Pn(d,l,18)^Uo(d,l,41),O=Bn(d,l,14)^Bn(d,l,18)^ko(d,l,41),R=d&f^~d&_,E=l&h^~l&g,I=Ol(b,O,E,Of[y],kr[y]),w=El(I,m,T,R,Nf[y],Ur[y]),v=I|0,V=Pn(n,o,28)^Uo(n,o,34)^Uo(n,o,39),S=Bn(n,o,28)^ko(n,o,34)^ko(n,o,39),x=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,b=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=qt(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=bl(v,S,N);n=wl(F,w,V,x),o=F|0}({h:n,l:o}=qt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=qt(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=qt(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=qt(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=qt(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=qt(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=qt(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:b}=qt(this.Hh|0,this.Hl|0,m|0,b|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,_,g,m,b)}roundClean(){Vn(Ur,kr)}destroy(){Vn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ve=Pi(()=>new Di),vl=Pi(()=>new ba),Il=Pi(()=>new wa);var Ui="__principal__",Ef=2,Al=4,Rf="aaaaa-aa",k=class e{static anonymous(){return new this(new Uint8Array([Al]))}static managementCanister(){return this.fromText(Rf)}static selfAuthenticating(t){let r=vl(t);return new this(new Uint8Array([...r,Ef]))}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(Ui)){let s=JSON.parse(t);Ui in s&&(r=s[Ui])}let n=r.toLowerCase().replace(/-/g,""),o=dl(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]===Al}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,pl(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=ul(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Ui]: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 fr;(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"})(fr||(fr={}));var $=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
4
4
|
Request context:
|
|
5
5
|
Request ID (hex): ${this.requestContext.requestId?j(this.requestContext.requestId):"undefined"}
|
|
6
6
|
Sender pubkey (hex): ${j(this.requestContext.senderPubKey)}
|
|
@@ -9,51 +9,51 @@ Request context:
|
|
|
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}},
|
|
12
|
+
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},ot=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}`}},hr=class extends ot{static fromCode(t){return new this(t)}},Me=class e extends hr{constructor(t){super(t,fr.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},ee=class e extends hr{constructor(t){super(t,fr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},Lr=class e extends hr{constructor(t){super(t,fr.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},Lo=class e extends hr{constructor(t){super(t,fr.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},me=class e extends hr{constructor(t){super(t,fr.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var Y=class e extends hr{constructor(t){super(t,fr.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ae=class e extends hr{constructor(t){super(t,fr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},vt=class e extends ${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+=`: ${$o(this.error)}`),`Certificate verification error: "${t}"`}},mr=class e extends ${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`}},ki=class e extends ${constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Dn=class e extends ${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()}`}},Li=class e extends ${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()}`}},It=class e extends ${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}`}},qi=class e extends ${constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Mi=class e extends ${constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},ro=class e extends ${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`}},ji=class e extends ${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)}`}},Ki=class e extends ${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}`}},At=class e extends ${constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},qo=class e extends ${constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Hi=class e extends ${constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${$o(this.error)}, input: ${j(this.input)}`}},Gi=class e extends ${constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${$o(this.error)}, input: ${this.value}`}};var Un=class e extends ${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
13
|
`;return this.requestId&&(t+=` Request ID: ${j(this.requestId)}
|
|
14
14
|
`),this.status&&(t+=` Request status: ${this.status}
|
|
15
|
-
`),t}}
|
|
15
|
+
`),t}},$i=class e extends ${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
16
|
Request ID: ${j(this.requestId)}
|
|
17
|
-
`;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},
|
|
17
|
+
`;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},no=class e extends ${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
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
|
-
`}},
|
|
22
|
+
`}},Ji=class e extends ${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
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
|
-
`}},
|
|
27
|
+
`}},Wi=class e extends ${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
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
|
-
`}},
|
|
32
|
+
`}},zi=class e extends ${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
33
|
Request ID: ${j(this.requestId)}
|
|
34
|
-
`}},
|
|
34
|
+
`}},lt=class e extends ${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.`}},Yi=class e extends ${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}`}},oo=class e extends ${constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},qr=class e extends ${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."}},Mt=class e extends ${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.`}},Zi=class e extends ${constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},Xi=class e extends ${constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}},Qi=class e extends ${constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},es=class e extends ${constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},ts=class e extends ${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 ${constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${$o(this.error)}`}},Mr=class e extends ${constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},Mo=class e extends ${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}},vo=class e extends G{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},Ao=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: ${Po(this.error)}`}},So=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.`}},Ki=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}`}},Co=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 Po(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var lt=new Error("unreachable");var Sn={};Nf(Sn,{Bool:()=>zl,BoolClass:()=>Wi,ConstructType:()=>kt,Empty:()=>Jl,EmptyClass:()=>Vo,FixedIntClass:()=>dr,FixedNatClass:()=>Ut,Float32:()=>eu,Float64:()=>tu,FloatClass:()=>Uo,Func:()=>yu,FuncClass:()=>An,Int:()=>Xl,Int16:()=>nu,Int32:()=>ou,Int64:()=>iu,Int8:()=>ru,IntClass:()=>Bo,Nat:()=>Ql,Nat16:()=>au,Nat32:()=>cu,Nat64:()=>lu,Nat8:()=>su,NatClass:()=>Do,Null:()=>Yl,NullClass:()=>In,Opt:()=>fu,OptClass:()=>Ur,PrimitiveType:()=>ze,Principal:()=>uu,PrincipalClass:()=>Zi,Rec:()=>_u,RecClass:()=>ut,Record:()=>hu,RecordClass:()=>vn,Reserved:()=>Wl,ReservedClass:()=>Lt,Service:()=>gu,ServiceClass:()=>Xn,Text:()=>Zl,TextClass:()=>zi,Tuple:()=>du,TupleClass:()=>Yi,Type:()=>zn,Unknown:()=>kf,UnknownClass:()=>Ji,Variant:()=>mu,VariantClass:()=>Zn,Vec:()=>pu,VecClass:()=>Yn,Visitor:()=>Ea,decode:()=>Uf,encode:()=>Df,resetSubtypeCache:()=>Ra,subtype:()=>va});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 Ot=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=Dt(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 Dt(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?Dt(e.buffer):new Uint8Array(e)}function Wn(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 Ml(e,t){return Wn(e,t)===0}function jl(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Vf(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 Vf(e)}function ba(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Hi(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Kl(){throw new Error("unexpected end of buffer")}function Dr(e,t){return e.byteLength<t&&Kl(),e.read(t)}function Br(e){let t=e.readUint8();return t===void 0&&Kl(),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:ba(e))+1,r=new Ot(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=Br(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:ba(e))+1,n=new Ot(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 lr(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(Dr(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 Hl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return wa(e,t)}function wa(e,t){e=BigInt(e);let r=new Ot(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 Ta(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Br(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Br(e));r=r+n*i}return r}function $l(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Ta(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 $i="DIDL",Bf=new TextEncoder().encode($i),Gl=400;function Fo(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Oa=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)}},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)}},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 zn=class{display(){return this.name}valueToString(t){return _e(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},ze=class extends zn{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){}},kt=class extends zn{checkType(t){if(t instanceof ut){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)}},Vo=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"}},Ji=class extends zn{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 ut?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"}},Wi=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),Br(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},In=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"}},Lt=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"}},zi=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=Dr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Bo=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),lr(t)}get name(){return"int"}valueToString(t){return t.toString()}},Do=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()}},Uo=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=Dr(t,this._bits/8),o=jl(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},dr=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=Hi(this._bits-1)*BigInt(-1),n=Hi(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 wa(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-9-t)}decodeValue(t,r){this.checkType(r);let n=$l(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Ut=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=Hi(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 Hl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-5-t)}decodeValue(t,r){this.checkType(r);let n=Ta(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Yn=class e extends kt{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 Ut&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Ut?this._type._bits:this._type instanceof dr?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}},jo=class e extends ${constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},Ko=class e extends ${constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${$o(this.error)}`}},Ho=class e extends ${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.`}},rs=class e extends ${constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Go=class e extends ${constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function $o(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var ut=new Error("unreachable");var Mn={};_f(Mn,{Bool:()=>kl,BoolClass:()=>as,ConstructType:()=>Ht,Empty:()=>Dl,EmptyClass:()=>Wo,FixedIntClass:()=>gr,FixedNatClass:()=>Kt,Float32:()=>Kl,Float64:()=>Hl,FloatClass:()=>Zo,Func:()=>su,FuncClass:()=>qn,Int:()=>Ml,Int16:()=>$l,Int32:()=>Jl,Int64:()=>Wl,Int8:()=>Gl,IntClass:()=>zo,Nat:()=>jl,Nat16:()=>Yl,Nat32:()=>Zl,Nat64:()=>Xl,Nat8:()=>zl,NatClass:()=>Yo,Null:()=>Ll,NullClass:()=>kn,Opt:()=>ru,OptClass:()=>Hr,PrimitiveType:()=>Xe,Principal:()=>Ql,PrincipalClass:()=>us,Rec:()=>iu,RecClass:()=>dt,Record:()=>nu,RecordClass:()=>Ln,Reserved:()=>Ul,ReservedClass:()=>Gt,Service:()=>au,ServiceClass:()=>lo,Text:()=>ql,TextClass:()=>cs,Tuple:()=>eu,TupleClass:()=>ls,Type:()=>so,Unknown:()=>Cf,UnknownClass:()=>ss,Variant:()=>ou,VariantClass:()=>co,Vec:()=>tu,VecClass:()=>ao,Visitor:()=>va,decode:()=>Sf,encode:()=>Af,resetSubtypeCache:()=>Ia,subtype:()=>Sa});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 St=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=jt(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 jt(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?jt(e.buffer):new Uint8Array(e)}function io(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 Sl(e,t){return io(e,t)===0}function Cl(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function vf(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function je(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 vf(e)}function Ta(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function ns(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Fl(){throw new Error("unexpected end of buffer")}function Kr(e,t){return e.byteLength<t&&Fl(),e.read(t)}function jr(e){let t=e.readUint8();return t===void 0&&Fl(),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:Ta(e))+1,r=new St(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 _e(e){let t=BigInt(1),r=BigInt(0),n;do n=jr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function ye(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:Ta(e))+1,n=new St(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 _r(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return _e(e);break}let n=new Uint8Array(Kr(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 Vl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return Na(e,t)}function Na(e,t){e=BigInt(e);let r=new St(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 Oa(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(jr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(jr(e));r=r+n*i}return r}function Pl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Oa(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 os="DIDL",If=new TextEncoder().encode(os),Bl=400;function Jo(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Ra=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 ye(this._idx.get(t)||0)}},va=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 so=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Xe=class extends so{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){}},Ht=class extends so{checkType(t){if(t instanceof dt){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)}},Wo=class extends Xe{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: ${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 ye(Q.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},ss=class extends so{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: ${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 dt?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"}},as=class extends Xe{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: ${he(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return ye(Q.Bool)}decodeValue(t,r){switch(this.checkType(r),jr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},kn=class extends Xe{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: ${he(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return ye(Q.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Gt=class extends Xe{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 ye(Q.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},cs=class extends Xe{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: ${he(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=ie(r.byteLength);return Z(n,r)}encodeType(){return ye(Q.Text)}decodeValue(t,r){this.checkType(r);let n=_e(t),o=Kr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},zo=class extends Xe{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: ${he(t)}`)}encodeValue(t){return ye(t)}encodeType(){return ye(Q.Int)}decodeValue(t,r){return this.checkType(r),_r(t)}get name(){return"int"}valueToString(t){return t.toString()}},Yo=class extends Xe{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: ${he(t)}`)}encodeValue(t){return ie(t)}encodeType(){return ye(Q.Nat)}decodeValue(t,r){return this.checkType(r),_e(t)}get name(){return"nat"}valueToString(t){return t.toString()}},Zo=class extends Xe{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: ${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?Q.Float32:Q.Float64;return ye(t)}decodeValue(t,r){this.checkType(r);let n=Kr(t,this._bits/8),o=Cl(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},gr=class extends Xe{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=ns(this._bits-1)*BigInt(-1),n=ns(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 Na(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-9-t)}decodeValue(t,r){this.checkType(r);let n=Pl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Kt=class extends Xe{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=ns(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 Vl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-5-t)}decodeValue(t,r){this.checkType(r);let n=Oa(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},ao=class e extends Ht{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 Kt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Kt?this._type._bits:this._type instanceof gr?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: ${
|
|
40
|
+
index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(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 St(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=ye(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(_e(t));if(this._type instanceof Kt){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 gr){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("; ")+"}"}},Hr=class e extends Ht{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: ${he(t)}
|
|
41
41
|
|
|
42
|
-
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${
|
|
42
|
+
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${he(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=ye(Q.Opt),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){if(r instanceof kn)return[];if(r instanceof Gt)return[];let n=r;if(r instanceof dt){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof e)switch(jr(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 kn||this._type instanceof e||this._type instanceof Gt)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])}`}},Ln=class e extends Ht{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)=>je(r[0])-je(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: ${
|
|
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=Jo(this._fields,r,([,o],i)=>o.encodeValue(i));return Z(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(Q.Record),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(je(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=je(this._fields[i][0]),l=je(a);if(d===l)o[u]=p.decodeValue(t,c),i++,s++;else if(l>d)if(p instanceof Hr||p instanceof Gt)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 Hr||c instanceof Gt)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[je(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 {${Jo(this._fields,r,([o,i],s)=>o+"="+i.valueToString(s)).join("; ")}}`}},ls=class e extends Ln{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: ${
|
|
46
|
+
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=Jo(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 {${Jo(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},co=class e extends Ht{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)=>je(r[0])-je(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: ${
|
|
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=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=ye(Q.Variant),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(je(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(_e(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(je(i)===je(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[je(r)]=n;return t}},dt=class e extends Ht{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: ${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 Aa(e){if(jr(e)!==1)throw new Error("Cannot decode principal");let r=Number(_e(e));return k.fromUint8Array(new Uint8Array(Kr(e,r)))}var us=class extends Xe{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: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ie(r.byteLength);return Z(new Uint8Array([1]),n,r)}encodeType(){return ye(Q.Principal)}decodeValue(t,r){return this.checkType(r),Aa(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},qn=class extends Ht{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: ${he(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=ye(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 dt?r.getType()??r:r;if(!Sa(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(jr(t)!==1)throw new Error("Cannot decode function reference");let i=Aa(t),s=Number(_e(t)),a=Kr(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")}},lo=class extends Ht{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: ${he(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=ye(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 dt?r.getType()??r:r;if(!Sa(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return Aa(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>Bl?t.substring(0,Bl-3)+"...":t}function Af(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new Ra;e.forEach(a=>a.buildTypeTable(r));let n=r.encode(),o=ie(t.length),i=Z(...e.map(a=>a.encodeType(r))),s=Z(...Jo(e,t,(a,c)=>{try{a.covariant(c)}catch(u){throw new Error(u.message+`
|
|
49
49
|
|
|
50
|
-
`)}return a.encodeValue(c)}));return Z(
|
|
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)}},
|
|
52
|
-
ic-request`),Ca=new TextEncoder().encode("\vic-response"),Pa=new TextEncoder().encode("ic-request-auth-delegation");var qt=class{getPrincipal(){return this._principal||(this._principal=k.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=pr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(Lo,o))}}}},ot=class{getPrincipal(){return k.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var fr=class extends Error{constructor(t){super(t),this.name="DecodingError"}},wu=55799,Tu=Symbol("CBOR_STOP_CODE"),It=(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))(It||{}),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||{}),qf=23,Mf=255,jf=65535,Kf=4294967295,Hf=BigInt("0xffffffffffffffff"),Rt=(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))(Rt||{}),eo=!1;function $f(e){return e==null}function Nu(e,t){let r=new Uint8Array(t);return r.set(e),r}var Gf=new TextDecoder;function Jf(e){return(e&224)>>5}function Wf(e){return e&31}var jo=new Uint8Array,qo,vt=0;function Ou(e,t){jo=e,vt=0;let r=Pn(t);return t?.(r)??r}function Pn(e){let[t,r]=Qi();switch(t){case Ne.UnsignedInteger:return to(r);case Ne.NegativeInteger:return Xf(r);case Ne.ByteString:return Eu(r);case Ne.TextString:return Va(r);case Ne.Array:return zf(r,e);case Ne.Map:return Zf(r,e);case Ne.Tag:return Qf(r,e);case Ne.Simple:return Yf(r)}throw new fr(`Unsupported major type: ${t}`)}function Qi(){let e=jo.at(vt);if($f(e))throw new fr("Provided CBOR data is empty");let t=Jf(e),r=Wf(e);return vt++,[t,r]}function zf(e,t){let r=to(e);if(r===1/0){let o=[],i=Pn(t);for(;i!==Tu;)o.push(t?.(i)??i),i=Pn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=Pn(t);n[o]=t?.(i)??i}return n}function Yf(e){switch(e){case It.False:return!1;case It.True:return!0;case It.Null:return null;case It.Undefined:return;case It.Break:return Tu}throw new fr(`Unrecognized simple type: ${e.toString(2)}`)}function Zf(e,t){let r=to(e),n={};if(r===1/0){let[o,i]=Qi();for(;o!==Ne.Simple&&i!==It.Break;){let s=Va(i),a=Pn(t);n[s]=t?.(a,s)??a,[o,i]=Qi()}return n}for(let o=0;o<r;o++){let[i,s]=Qi();if(i!==Ne.TextString)throw new fr("Map keys must be text strings");let a=Va(s),c=Pn(t);n[a]=t?.(c,a)??c}return n}function to(e){if(e<=Rt.Value)return e;switch(qo=new DataView(jo.buffer,jo.byteOffset+vt),e){case Rt.OneByte:return vt++,qo.getUint8(0);case Rt.TwoBytes:return vt+=2,qo.getUint16(0,eo);case Rt.FourBytes:return vt+=4,qo.getUint32(0,eo);case Rt.EightBytes:return vt+=8,qo.getBigUint64(0,eo);case Rt.Indefinite:return 1/0;default:throw new fr(`Unsupported integer info: ${e.toString(2)}`)}}function Xf(e){let t=to(e);return typeof t=="number"?-1-t:-1n-t}function Eu(e){let t=to(e);if(t>Number.MAX_SAFE_INTEGER)throw new fr("Byte length is too large");let r=Number(t);return vt+=r,jo.slice(vt-r,vt)}function Va(e){let t=Eu(e);return Gf.decode(t)}function Qf(e,t){let r=to(e);if(r===wu)return Pn(t);throw new fr(`Unsupported tag: ${r}.`)}var Ko=class extends Error{constructor(t){super(t),this.name="SerializationError"}},eh=2*1024,th=100,rh=new TextEncoder;function Mo(e){return e<<5}var it=new Uint8Array(eh),Et=new DataView(it.buffer),Te=0,Fa=[];function Ru(e,t){Te=0;let r=t?.(e)??e;return uh(wu,r,t),it.slice(0,Te)}function Ba(e,t){if(Te>it.length-th&&(it=Nu(it,it.length*2),Et=new DataView(it.buffer)),e===!1||e===!0||e===null||e===void 0){ih(e);return}if(typeof e=="number"||typeof e=="bigint"){lh(e);return}if(typeof e=="string"){Au(e);return}if(e instanceof Uint8Array){bu(e);return}if(e instanceof ArrayBuffer){bu(new Uint8Array(e));return}if(Array.isArray(e)){nh(e,t);return}if(typeof e=="object"){oh(e,t);return}throw new Ko(`Unsupported type: ${typeof e}`)}function nh(e,t){ro(Ne.Array,e.length),e.forEach((r,n)=>{Ba(t?.(r,n.toString())??r,t)})}function oh(e,t){Fa=Object.entries(e),ro(Ne.Map,Fa.length),Fa.forEach(([r,n])=>{Au(r),Ba(t?.(n,r)??n,t)})}function ro(e,t){if(t<=qf){Et.setUint8(Te++,Mo(e)|Number(t));return}if(t<=Mf){Et.setUint8(Te++,Mo(e)|Rt.OneByte),Et.setUint8(Te,Number(t)),Te+=1;return}if(t<=jf){Et.setUint8(Te++,Mo(e)|Rt.TwoBytes),Et.setUint16(Te,Number(t),eo),Te+=2;return}if(t<=Kf){Et.setUint8(Te++,Mo(e)|Rt.FourBytes),Et.setUint32(Te,Number(t),eo),Te+=4;return}if(t<=Hf){Et.setUint8(Te++,Mo(e)|Rt.EightBytes),Et.setBigUint64(Te,BigInt(t),eo),Te+=8;return}throw new Ko(`Value too large to encode: ${t}`)}function ih(e){ro(Ne.Simple,sh(e))}function sh(e){if(e===!1)return It.False;if(e===!0)return It.True;if(e===null)return It.Null;if(e===void 0)return It.Undefined;throw new Ko(`Unrecognized simple value: ${e.toString()}`)}function Iu(e,t){ro(e,t.length),Te>it.length-t.length&&(it=Nu(it,it.length+t.length),Et=new DataView(it.buffer)),it.set(t,Te),Te+=t.length}function vu(e,t){ro(e,t)}function ah(e){vu(Ne.UnsignedInteger,e)}function ch(e){vu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function lh(e){e>=0?ah(e):ch(e)}function Au(e){Iu(Ne.TextString,rh.encode(e))}function bu(e){Iu(Ne.ByteString,e)}function uh(e,t,r){ro(Ne.Tag,e),Ba(t,r)}function ph(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Ho(e){try{return Ru(e,t=>k.isPrincipal(t)?t.toUint8Array():no.isExpiry(t)?t.toBigInt():ph(t)?t.toCborValue():t)}catch(t){throw Y.fromCode(new Pi(t,e))}}function Me(e){try{return Ou(e)}catch(t){throw Y.fromCode(new Ci(t,e))}}var es={encode:Ho,decode:Me};var $o=()=>{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 hr;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(hr||(hr={}));var rs;(function(e){e.Call="call"})(rs||(rs={}));var Fn;(function(e){e.Query="query",e.ReadState="read_state"})(Fn||(Fn={}));function Go(){let e=new ArrayBuffer(16),t=new DataView(e),r=$o(),n=$o(),o=$o(),i=$o();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 ns="__expiry__",Da=BigInt(1e3),fh=BigInt(1e6),hh=BigInt(60),Ua=hh*Da,mh=BigInt(1)*Ua;function _h(e){return e/Da*Da}function yh(e){return e/Ua*Ua}var no=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=yh(o),s;return i>=n+mh?s=i:s=_h(o),new e(s*fh)}toBigInt(){return this.__expiry__}toHash(){return ie(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[ns]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[ns])try{let n=BigInt(r[ns]);return new e(n)}catch(n){throw new Y(new Co(`Not a valid BigInt: ${n}`))}throw new Y(new Co(`The input does not contain the key ${ns}`))}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 ka(e=Go){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===hr.Call&&(t.body.nonce=e())}}function La(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Ma=BigInt(0),os=BigInt(1);function Vn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function kr(e,t,r=""){let n=Ft(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 Su(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Ma:BigInt("0x"+e)}function Ye(e){return Su(j(e))}function mr(e){return me(e),Su(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function ja(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(Ft(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 Cu(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 Ka(e){return Uint8Array.from(e)}var qa=e=>typeof e=="bigint"&&Ma<=e;function Ha(e,t,r){return qa(e)&&qa(t)&&qa(r)&&t<=e&&e<r}function is(e,t,r,n){if(!Ha(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function _r(e){let t;for(t=0;e>Ma;e>>=os,t+=1);return t}function Pu(e,t){return e>>BigInt(t)&os}var At=e=>(os<<BigInt(e))-os;function Fu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function yr(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 oo=()=>{throw new Error("not implemented")};function Lr(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),Bn=BigInt(2),Bu=BigInt(3),Du=BigInt(4),Uu=BigInt(5),gh=BigInt(7),ku=BigInt(8),xh=BigInt(9),Lu=BigInt(16);function le(e,t){let r=e%t;return r>=je?r:t+r}function St(e,t,r){let n=e;for(;t-- >je;)n*=n,n%=r;return n}function Vu(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 $a(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function qu(e,t){let r=(e.ORDER+Ie)/Du,n=e.pow(t,r);return $a(e,n,t),n}function bh(e,t){let r=(e.ORDER-Uu)/ku,n=e.mul(t,Bn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Bn),o),a=e.mul(i,e.sub(s,e.ONE));return $a(e,a,t),a}function wh(e){let t=Ke(e),r=Mu(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+gh)/Lu;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 $a(a,g,c),g}}function Mu(e){if(e<Bu)throw new Error("sqrt is not defined for small field");let t=e-Ie,r=0;for(;t%Bn===je;)t/=Bn,r++;let n=Bn,o=Ke(e);for(;Jo(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return qu;let i=o.pow(n,t),s=(t+Ie)/Bn;return function(c,u){if(c.is0(u))return u;if(Jo(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 Th(e){return e%Du===Bu?qu:e%ku===Uu?bh:e%Lu===xh?wh(e):Mu(e)}var gr=(e,t)=>(le(e,t)&Ie)===Ie,Nh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ss(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Nh.reduce((n,o)=>(n[o]="function",n),t);return yr(e,r),e}function Wo(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 dt(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 Jo(e,t){let r=(e.ORDER-Ie)/Bn,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 Ga(e,t){t!==void 0&&fa(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}=Ga(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:At(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)=>Wo(d,l,f),div:(l,f)=>le(l*Vu(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>Vu(l,e),sqrt:i||(l=>(p||(p=Th(e)),p(d,l))),toBytes:l=>r?ja(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?mr(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=>dt(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function ju(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 as(e){let t=ju(e);return t+Math.ceil(t/2)}function Ja(e,t,r=!1){let n=e.length,o=ju(t),i=as(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?mr(e):Ye(e),a=le(s,t-Ie)+Ie;return r?ja(a,o):Oe(a,o)}var io=BigInt(0),Dn=BigInt(1);function zo(e,t){let r=t.negate();return e?r:t}function pt(e,t){let r=dt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Gu(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){Gu(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=At(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function Ku(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+=Dn);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 Eh(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 Rh(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 za=new WeakMap,Ju=new WeakMap;function Ya(e){return Ju.get(e)||1}function Hu(e){if(e!==io)throw new Error("invalid wNAF")}var so=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>io;)r&Dn&&(n=n.add(o)),o=o.double(),r>>=Dn;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}=Ku(n,a,s);n=c,p?i=i.add(zo(l,r[f])):o=o.add(zo(d,r[u]))}return Hu(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!==io;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Ku(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return Hu(n),o}getPrecomputes(t,r,n){let o=za.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),za.set(r,o))),o}cached(t,r,n){let o=Ya(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Ya(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){Gu(r,this.bits),Ju.set(t,r),za.delete(t)}hasCache(t){return Ya(t)!==1}};function Wu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>io||n>io;)r&Dn&&(i=i.add(o)),n&Dn&&(s=s.add(o)),o=o.double(),r>>=Dn,n>>=Dn;return{p1:i,p2:s}}function ao(e,t,r,n){Eh(r,e),Rh(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=_r(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=At(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 $u(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return ss(t),t}else return Ke(e,{isLE:r})}function cs(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>io))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 Ih=Ye;function qr(e,t){if(Yo(e),Yo(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 vh(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 Yo(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function zu(e){if(!Ft(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?$(e):e}function Ah(e,t,r,n){me(e),Yo(r),t=zu(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,qr(t.length,1)),c=qr(0,i),u=qr(r,2),p=new Array(s),d=n(K(c,e,u,qr(0,1),a));p[0]=n(K(d,qr(1,1),a));for(let f=1;f<=s;f++){let h=[vh(d,p[f-1]),qr(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function Sh(e,t,r,n,o){if(me(e),Yo(r),t=zu(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(qr(r,2)).update(t).update(qr(t.length,1)).digest()}function Za(e,t,r){yr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!Fu(r.hash))throw new Error("expected valid hash");me(e),Yo(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=Ah(e,c,d,s);else if(a==="xof")l=Sh(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(Ih(x),n)}f[h]=_}return f}function Xa(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]=dt(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var Ch=$("HashToScalar-");function Qa(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=Za(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=Za(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:Ch},s);return Za(i,1,c)[0][0]}}}var Yu=(e,t)=>(e+(e>=0?t:-t)/xr)/t;function Ph(e,t,r){let[[n,o],[i,s]]=t,a=Yu(s*e,r),c=Yu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Un,l=p<Un;d&&(u=-u),l&&(p=-p);let f=At(Math.ceil(_r(r)/2))+He;if(u<Un||u>=f||p<Un||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Un=BigInt(0),He=BigInt(1),xr=BigInt(2),co=BigInt(3),ec=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 Fh(e,t={}){let r=cs("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;yr(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=Dh(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(Vn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return K(Vh(A),L)}else return K(Uint8Array.of(4),L,n.toBytes(B))}function l(S){kr(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 F=_(A),V;try{V=n.sqrt(F)}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,F=n.fromBytes(L.subarray(0,A)),V=n.fromBytes(L.subarray(A,A*2));if(!g(F,V))throw new Error("bad point: is not on curve");return{x:F,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,co),ec),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 Ph(S,c.basises,o.ORDER)}let O=Lr((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),F=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:F}}),R=Lr(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=zo(C,b),N=zo(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(kr(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 P.createCache(this,b),N||this.multiply(co),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:F}=b,V=n.eql(n.mul(N,F),n.mul(L,B)),D=n.eql(n.mul(C,F),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,co),{X:B,Y:L,Z:A}=this,F=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),F=n.mul(b,D),V=n.mul(C,ee),V=n.add(F,V),F=n.sub(te,V),V=n.add(te,V),V=n.mul(F,V),F=n.mul(J,F),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),F=n.sub(F,q),D=n.mul(ee,te),D=n.add(D,D),D=n.add(D,D),new w(F,V,D)}add(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:F}=b,V=n.ZERO,D=n.ZERO,q=n.ZERO,te=i.a,ee=n.mul(i.b,co),J=n.mul(N,L),ae=n.mul(C,A),he=n.mul(B,F),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,F);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,F),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=>P.cached(this,A,F=>pt(w,F));if(N){let{k1neg:A,k1:F,k2neg:V,k2:D}=E(b),{p:q,f:te}=L(F),{p:ee,f:J}=L(D);B=te.add(J),C=v(N.beta,q,ee,A,V)}else{let{p:A,f:F}=L(b);C=A,B=F}return pt(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===Un||C.is0())return w.ZERO;if(b===He)return C;if(P.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:L,k2neg:A,k2:F}=E(b),{p1:V,p2:D}=Wu(w,C,L,F);return v(N.beta,V,D,B,A)}else return P.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):P.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 Vn(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 pt(w,b)}static msm(b,N){return ao(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,P=new so(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function Vh(e){return Uint8Array.of(e?2:3)}function Bh(e,t){let r=e.ORDER,n=Un;for(let h=r-He;h%xr===Un;h/=xr)n+=He;let o=n,i=xr<<o-He-He,s=i*xr,a=(r-He)/s,c=(a-He)/xr,u=s-He,p=i,d=e.pow(t,a),l=e.pow(t,(a+He)/xr),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-xr;R=xr<<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%ec===co){let h=(e.ORDER-co)/ec,_=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 tc(e,t){ss(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=dt(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Dh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function rc(e){let{CURVE:t,curveOpts:r}=Uh(e),n=Fh(t,r);return Lh(e,n)}function Uh(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 kh(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 Lh(e,t){let{Fp:r,Fn:n}=t;function o(s){return Ha(s,He,n.ORDER)}let i=kh(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>Zo(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var qh=BigInt(0),ls=BigInt(1),Zu=BigInt(2),lo=BigInt(3);function Mh(e){let t=[];for(;e>ls;e>>=ls)(e&ls)===qh?t.unshift(0):(e&lo)===lo?(t.unshift(-1),e+=ls):t.unshift(1);return t}function nc(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function jh(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,Zu));function l(y,T,E,O){let R=o.sqr(E),v=o.sqr(O),w=o.mulByB(o.mul(v,lo)),I=o.mul(w,lo),P=o.sub(o.sub(o.sqr(o.add(E,O)),v),R),S=o.sub(w,R),b=o.mul(o.sqr(T),lo),N=o.neg(P);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),lo)),O=o.mul(R,P),{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)),P=o.sub(o.mul(w,R),o.mul(I,v)),S=o.neg(w),b=I;y.push([P,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,Zu)),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=Mh(a),_=Lr(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,v=O,w=o.neg(O),I=R,P=v,S=o.ONE,b=[];for(let N of h){let C=[];({Rx:I,Ry:P,Rz:S}=l(C,I,P,S)),N&&({Rx:I,Ry:P,Rz:S}=f(C,I,P,S,R,N===-1?w:v)),b.push(C)}if(u){let N=b[b.length-1];u(I,P,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[P,S,b]of v[R])E=p(P,S,b,E,w,I)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function m(y,T=!0){let E=[];pt(t,y.map(({g1:O})=>O)),pt(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 Xu(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(nc(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){nc(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){nc(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=rc(e.G1),a=Object.assign(s,Qa(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=rc(e.G2),u=Object.assign(c,Qa(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=jh(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=Xu(p,a,u,e.G2.Signature,!1),g=Xu(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||Hn,x=()=>{let A=as(r.ORDER);return Ja(m(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,F){return A instanceof a.Point?A:g.hash(pe("point",A),F?.DST)}function R(A,F){return A instanceof u.Point?A:_.hash(pe("point",A),F?.DST)}function v(A){return _.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function I(A,F,V){let D=R(A,V),q=_.sign(D,F);return A instanceof u.Point?q:E.toBytes(q)}function P(A,F,V){let D=O(A,V),q=g.sign(D,F);return A instanceof a.Point?q:T.toBytes(q)}function S(A,F,V,D){let q=R(F,D);return _.verify(A,q,V)}function b(A,F,V,D){let q=O(F,D);return g.verify(A,q,V)}function N(A){let F=_.aggregatePublicKeys(A);return A[0]instanceof a.Point?F:F.toBytes(!0)}function C(A){let F=_.aggregateSignatures(A);return A[0]instanceof u.Point?F:E.toBytes(F)}function B(A){let F=g.aggregateSignatures(A);return A[0]instanceof a.Point?F:T.toBytes(F)}function L(A,F,V,D){let q=F.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:P,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:C,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var ed=BigInt(0),br=BigInt(1),$e=BigInt(2),td=BigInt(3);function ac(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=br;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function nd(e,t,r){let n=t.pow(r,(e.ORDER-br)/td),o=t.pow(r,(e.ORDER-br)/$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-br)/td),a=t.pow(r,(e.ORDER**$e-br)/$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 rd=(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]}},oc=class{constructor(t,r={}){this.MASK=br;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=_r(o),this.BYTES=Math.ceil(_r(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=rd(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=ac(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return rd(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&ed<=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 Wo(this,t,r)}invertBatch(t){return dt(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 Jo(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);Jo(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===ed,s=n%$e;return BigInt(o||i&&s)==br}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])}}},ic=class{constructor(t){this.MASK=br,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=ac(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 oo()}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 Wo(this,t,r)}invertBatch(t){return dt(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)}}},sc=class{constructor(t,r){this.MASK=br;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=ac(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){oo()}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 Wo(this,t,r)}invertBatch(t){return dt(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),Pu(r,o)&&(n=this.mul(n,t));return n}};function od(e){let t=Ke(e.ORDER),r=new oc(t,e),n=new ic(r),o=new sc(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Be=BigInt(0),us=BigInt(1),ft=BigInt(2),ds=BigInt(3),Xo=BigInt(4),Mr=BigInt("0xd201000000010000"),Kh=_r(Mr),kn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Be,b:Xo,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Hh=Ke(kn.n,{modFromBytes:!0,isLE:!0}),{Fp:M,Fp2:z,Fp6:$h,Fp12:X}=od({ORDER:kn.p,X_LEN:Kh,FP2_NONRESIDUE:[us,us],Fp2mulByB:({c0:e,c1:t})=>{let r=M.mul(e,Xo),n=M.mul(t,Xo);return{c0:M.sub(r,n),c1:M.add(r,n)}},Fp12finalExponentiate:e=>{let t=Mr,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:id,G2psi2:Gh}=nd(M,z,z.div(z.ONE,z.NONRESIDUE)),cc=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:Ve}),dc={p:z.ORDER,n:kn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:z.ZERO,b:z.fromBigTuple([Xo,Xo]),Gx:z.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:z.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},ps=Qo(M.toBytes(Be),{infinity:!0,compressed:!0});function fs(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 Qo(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 Jh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return ps.slice();let c=!!(a*ft/o);return Qo(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 lc(e){e.assertValidity();let{BYTES:t,ORDER:r}=M,{x:n,y:o}=e.toAffine();if(e.is0())return ps.slice();let i=!!(o*ft/r);return Qo(Oe(n,t),{compressed:!0,sort:i})}function Wh(e){let{compressed:t,infinity:r,sort:n,value:o}=fs(e),{BYTES:i,ORDER:s}=M;if(o.length===48&&t){let a=Ye(o),c=M.create(a&At(M.BITS));if(r){if(c!==Be)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Be,y:Be}}let u=M.add(M.pow(c,ds),M.create(kn.b)),p=M.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*ft/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!==Be||c!==Be)throw new Error("G1: non-empty point at infinity");return ei.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 sd(e){let{infinity:t,sort:r,value:n}=fs(pe("signatureHex",e,48)),o=M.ORDER,i=ei.G1.Point,s=Ye(n);if(t)return i.ZERO;let a=M.create(s&At(M.BITS)),c=M.add(M.pow(a,ds),M.create(kn.b)),u=M.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*ft/o!==p&&(u=M.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function zh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return K(ps,Oe(Be,n));let c=!!(a.c1===Be?a.c0*ft/o:a.c1*ft/o);return K(Qo(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}=z.reim(s),{re:p,im:d}=z.reim(a);return K(Oe(u,n),Oe(c,n),Oe(d,n),Oe(p,n))}}function uc(e){e.assertValidity();let{BYTES:t}=M;if(e.is0())return K(ps,Oe(Be,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=z.reim(r),{re:s,im:a}=z.reim(n),u=!!((a>Be?a*ft:s*ft)/M.ORDER&us),p=o;return K(Qo(Oe(i,t),{sort:u,compressed:!0}),Oe(p,t))}function Yh(e){let{BYTES:t,ORDER:r}=M,{compressed:n,infinity:o,sort:i,value:s}=fs(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:z.ZERO,y:z.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=z.create({c0:M.create(u),c1:M.create(c)}),d=z.add(z.pow(p,ds),dc.b),l=z.sqrt(d),f=l.c1===Be?l.c0*ft/r:l.c1*ft/r?us:Be;return l=i&&f>0?l:z.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:z.ZERO,y:z.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:z.fromBigTuple([u,c]),y:z.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function ad(e){let{ORDER:t}=M,{infinity:r,sort:n,value:o}=fs(pe("signatureHex",e)),i=ei.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&At(M.BITS)),p=M.create(c),d=z.create({c0:p,c1:u}),l=z.add(z.pow(d,ds),dc.b),f=z.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=z.reim(f),g=BigInt(n),m=_>Be&&_*ft/t!==g,x=_===Be&&h*ft/t!==g;(m||x)&&(f=z.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var ei=Qu({fields:{Fp:M,Fp2:z,Fp6:$h,Fp12:X,Fr:Hh},G1:{...kn,Fp:M,htfDefaults:{...cc,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(Mr).negate().multiplyUnsafe(Mr).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(Mr).add(t),mapToCurve:tm,fromBytes:Wh,toBytes:Jh,ShortSignature:{fromBytes(e){return me(e),sd(e)},fromHex(e){return sd(e)},toBytes(e){return lc(e)},toRawBytes(e){return lc(e)},toHex(e){return j(lc(e))}}},G2:{...dc,Fp:z,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...cc},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:rm,isTorsionFree:(e,t)=>t.multiplyUnsafe(Mr).negate().equals(id(e,t)),clearCofactor:(e,t)=>{let r=Mr,n=t.multiplyUnsafe(r).negate(),o=id(e,t),i=t.double();return i=Gh(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:Yh,toBytes:zh,Signature:{fromBytes(e){return me(e),ad(e)},fromHex(e){return ad(e)},toBytes(e){return uc(e)},toRawBytes(e){return uc(e)},toHex(e){return j(uc(e))}}},params:{ateLoopSize:Mr,r:kn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:cc,hash:Ve}),Zh=Xa(z,[[["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=>z.fromBigTuple(t.map(BigInt))))),Xh=Xa(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)))),Qh=tc(M,{A:M.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:M.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:M.create(BigInt(11))}),em=tc(z,{A:z.create({c0:M.create(Be),c1:M.create(BigInt(240))}),B:z.create({c0:M.create(BigInt(1012)),c1:M.create(BigInt(1012))}),Z:z.create({c0:M.create(BigInt(-2)),c1:M.create(BigInt(-1))})});function tm(e){let{x:t,y:r}=Qh(M.create(e[0]));return Xh(t,r)}function rm(e){let{x:t,y:r}=em(z.fromBigTuple(e));return Zh(t,r)}function cd(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 ei.verifyShortSignature(o,i,n)}var om=BigInt(1e6),pc=e=>ge(new Ot(e)),jr=e=>{let r=pc(e)/om;return new Date(Number(r))};var ld=60*1e3,im=60,sm=24,am=sm*im,cm=5,lm=5,um=30*am,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 dm(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??cd,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=cm,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 wr(t,this.cert.tree)}lookup_subtree(t){return ni(t,this.cert.tree)}async verify(){let t=await ms(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=fm(r),i=K(Sa,t),s=ve(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new wt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*ld,u=new Date,p=u.getTime()+a,d=p-c,l=p+lm*ld,f=jr(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 cr(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 cr(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Le.fromCode(new wt("Invalid signature"))}catch(a){throw Le.fromCode(new wt("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:um,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new Ei);await r.verify();let n;if(dd(this._principal)){let i=this._principal.canisterId;if(n=k.fromUint8Array(t.subnet_id),!fc({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Le.fromCode(new En(i,n))}else if(ud(this._principal))n=this._principal.subnetId;else throw lt;let o=ve(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw ud(this._principal)?Le.fromCode(new Ri(n)):Le.fromCode(new vi(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(dd(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function ud(e){return"subnetId"in e}function dd(e){return"canisterId"in e}var ti=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),pm=96;function fm(e){let t=ti.byteLength+pm;if(e.byteLength!==t)throw ne.fromCode(new $n(t,e.byteLength));let r=e.slice(0,ti.byteLength);if(!Cn(r,ti))throw ne.fromCode(new Ai(ti,r));return e.slice(ti.byteLength)}function ve(e){if(e.status===De.Found&&e.value instanceof Uint8Array)return e.value}async function ms(e){switch(e[0]){case fe.Empty:return Ve(hs("ic-hashtree-empty"));case fe.Pruned:return e[1];case fe.Leaf:return Ve(K(hs("ic-hashtree-leaf"),e[1]));case fe.Labeled:return Ve(K(hs("ic-hashtree-labeled"),e[1],await ms(e[2])));case fe.Fork:return Ve(K(hs("ic-hashtree-fork"),await ms(e[1]),await ms(e[2])));default:throw lt}}function hs(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function pd(e){return typeof e[0]=="string"?$(e[0]):e[0]}var De;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(De||(De={}));var Kr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Kr||(Kr={}));var ue;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ue||(ue={}));function wr(e,t){if(e.length===0)switch(t[0]){case fe.Empty:return{status:De.Absent};case fe.Leaf:{if(!t[1])throw ce.fromCode(new Vr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:De.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw lt}case fe.Pruned:return{status:De.Unknown};case fe.Labeled:case fe.Fork:return{status:De.Error};default:throw lt}let r=pd(e),n=ri(r,t);switch(n.status){case ue.Found:return wr(e.slice(1),n.value);case ue.Absent:case ue.Greater:case ue.Less:return{status:De.Absent};case ue.Unknown:return{status:De.Unknown};default:throw lt}}function ni(e,t){if(e.length===0)return{status:Kr.Found,value:t};let r=pd(e),n=ri(r,t);switch(n.status){case ue.Found:return ni(e.slice(1),n.value);case ue.Unknown:return{status:Kr.Unknown};case ue.Absent:case ue.Greater:case ue.Less:return{status:Kr.Absent};default:throw lt}}function ys(e){switch(e[0]){case fe.Empty:return[];case fe.Fork:return ys(e[1]).concat(ys(e[2]));default:return[e]}}function ri(e,t){switch(t[0]){case fe.Labeled:return dm(e,t[1])?{status:ue.Greater}:Cn(e,t[1])?{status:ue.Found,value:t[2]}:{status:ue.Less};case fe.Fork:{let r=ri(e,t[1]);switch(r.status){case ue.Greater:{let n=ri(e,t[2]);return n.status===ue.Less?{status:ue.Absent}:n}case ue.Unknown:{let n=ri(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 _s(e,t){switch(t[0]){case fe.Empty|fe.Pruned:return[];case fe.Leaf:return[e];case fe.Fork:return _s(e,t[1]).concat(_s(e,t[2]));case fe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return _s(o,n)}default:throw lt}}function fc(e){let t=hm(e),r=hc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function hm(e){let{subnetId:t,tree:r,canisterId:n}=e,o=ni(["canister_ranges",t.toUint8Array()],r);if(o.status!==Kr.Found)return mm(t,r);let i=o.value,s=_m(i);if(s.length===0)throw ne.fromCode(new En(n,t));s.sort(Wn);let a=ym(s,n),c=s[a];return gm(c,i)}function mm(e,t){let r=wr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==De.Found)throw ne.fromCode(new Tt(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function hc(e){return Me(e).map(n=>[k.fromUint8Array(n[0]),k.fromUint8Array(n[1])])}function _m(e){let t=[];for(let r of _s([],e)){let n=r[0];if(!n)throw ne.fromCode(new wt("Path is invalid"));t.push(n)}return t}function ym(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);Wn(e[i],r)<=0?o=i:n=i+1}return n}function gm(e,t){let r=wr([e],t);if(r.status!==De.Found)throw ne.fromCode(new Tt(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function mc(e,t){return e.delegation?k.fromUint8Array(e.delegation.subnet_id):k.selfAuthenticating(t)}var fd=k.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function gs(e,t){switch(t){case"raw":return e;case"leb128":return pc(e);case"cbor":return Me(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function hd(e){return Me(e).map(r=>k.fromUint8Array(r))}function md(e,t){let r=typeof e=="string"?$(e):e;return[$("canister"),t,$("metadata"),r]}function Hr(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function uo(e,t){let r=ni(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==Kr.Found)throw ne.fromCode(new Tt("Node not found",r.status));if(r.value instanceof Uint8Array)throw ce.fromCode(new Vr("Invalid node tree"));let n=ys(r.value),o=new Map;return n.forEach(i=>{let s=k.from(i[1]).toText(),a=wr(["public_key"],i[2]);if(a.status!==De.Found)throw ne.fromCode(new Tt("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw ne.fromCode(new $n(44,c.byteLength));o.set(s,c)}),o}var _d=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=k.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=bm(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new ct);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=xm(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(_,jr(g));break}case"controllers":{s.set(_,hd(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:Hr(_)&&s.set(_.key,gs(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(wt)||d.hasCode(cr)))throw d;Hr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},xm=(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=k.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=k.selfAuthenticating(new Uint8Array(r)):i=fd;let s=uo(n,i);return{subnetId:i.toText(),nodeKeys:s}},bm=(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(Hr(e))return typeof e.path=="string"||e.path instanceof Uint8Array?md(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 yd(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=k.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=wm(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new ct);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=uo(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(_,jr(g));break}case"canisterRanges":{s.set(_,hc(g));break}case"publicKey":{s.set(_,g);break}case"nodeKeys":{s.set(_,g);break}default:Hr(_)&&s.set(_.key,gs(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(wt)||d.hasCode(cr)))throw d;Hr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function wm(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(Hr(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 $r=BigInt(0),Ae=BigInt(1),_c=BigInt(2),Tm=BigInt(8);function Nm(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 Om(e,t={}){let r=cs("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;yr(t,{},{uvRatio:"function"});let a=_c<<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:$r}}});if(!Nm(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ae:$r;return is("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=Lr((g,m)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();m==null&&(m=E?Tm:n.inv(T));let O=c(x*m),R=c(y*m),v=n.mul(T,m);if(E)return{x:$r,y:Ae};if(v!==Ae)throw new Error("invZ was invalid");return{x:O,y:R}}),f=Lr(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),P=c(R*m),S=c(w*c(P+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=Ka(kr(m,y,"point")),Vn(x,"zip215");let O=Ka(m),R=m[y-1];O[y-1]=R&-129;let v=mr(O),w=x?a:n.ORDER;is("point.y",v,$r,w);let I=c(v*v),P=c(I-Ae),S=c(E*I-T),{isValid:b,value:N}=u(P,S);if(!b)throw new Error("bad point: invalid y coordinate");let C=(N&Ae)===Ae,B=(R&128)!==0;if(!x&&N===$r&&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(_c),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),P=c(O*T);return v===w&&I===P}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(_c*c(T*T)),v=c(m*E),w=x+y,I=c(c(w*w)-E-O),P=v+O,S=P-R,b=v-O,N=c(I*S),C=c(P*b),B=c(I*b),L=c(S*P);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:P}=m,S=c(T*v),b=c(E*w),N=c(R*y*P),C=c(O*I),B=c((T+E)*(v+w)-S-b),L=C-N,A=C+N,F=c(b-x*S),V=c(B*L),D=c(A*F),q=c(B*F),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=>pt(h,T));return pt(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===$r?h.ZERO:this.is0()||m===Ae?this:_.unsafe(this,m,y=>pt(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 pt(h,m)}static msm(m,x){return ao(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($r,Ae,Ae,$r),h.Fp=n,h.Fn=o;let _=new so(h,o.BITS);return h.BASE.precompute(8),h}var xs=class{constructor(t){this.ep=t}static fromBytes(t){oo()}static fromHex(t){oo()}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 Em(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');yr(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||Hn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,P)=>{if(Vn(P,"phflag"),I.length||P)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(mr(w))}function d(w){let I=y.secretKey;w=pe("private key",w,I);let P=pe("hashed private key",t(w),2*I),S=c(P.slice(0,I)),b=P.slice(I,2*I),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:I,prefix:P,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:I,prefix:P,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let P=K(...I);return p(t(u(P,pe("context",w),!!n)))}function _(w,I,P={}){w=pe("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(I),C=h(P.context,S,w),B=o.multiply(C).toBytes(),L=h(P.context,B,N,w),A=s.create(C+L*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let F=K(B,s.toBytes(A));return kr(F,y.signature,"result")}let g={zip215:!0};function m(w,I,P,S=g){let{context:b,zip215:N}=S,C=y.signature;w=pe("signature",w,C),I=pe("message",I),P=pe("publicKey",P,y.publicKey),N!==void 0&&Vn(N,"zip215"),n&&(I=n(I));let B=C/2,L=w.subarray(0,B),A=mr(w.subarray(B,C)),F,V,D;try{F=e.fromBytes(P,N),V=e.fromBytes(L,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&F.isSmallOrder())return!1;let q=h(b,V.toBytes(),F.toBytes(),I);return V.add(F.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 kr(w,y.seed,"seed")}function E(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function O(w){return Ft(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),P=y.publicKey,S=P===32;if(!S&&P!==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;kr(w,I);let P=t(w.subarray(0,I));return c(P).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 Rm(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 Im(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function gd(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Rm(e),i=Om(t,r),s=Em(i,n,o);return Im(e,s)}var vm=BigInt(0),Tr=BigInt(1),xd=BigInt(2),Vx=BigInt(3),Am=BigInt(5),Sm=BigInt(8),po=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),oi={p:po,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Sm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Cm(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=po,a=e*e%i*e%i,c=St(a,xd,i)*a%i,u=St(c,Tr,i)*e%i,p=St(u,Am,i)*u%i,d=St(p,t,i)*p%i,l=St(d,r,i)*d%i,f=St(l,n,i)*l%i,h=St(f,o,i)*f%i,_=St(h,o,i)*f%i,g=St(_,t,i)*p%i;return{pow_p_5_8:St(g,xd,i)*e%i,b2:a}}function Pm(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var yc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function bc(e,t){let r=po,n=le(t*t*t,r),o=le(n*n*t,r),i=Cm(e*o).pow_p_5_8,s=le(e*n*i,r),a=le(t*s*s,r),c=s,u=le(s*yc,r),p=a===e,d=a===le(-e,r),l=a===le(-e*yc,r);return p&&(s=c),(d||l)&&(s=u),gr(s,r)&&(s=le(-s,r)),{isValid:p||d,value:s}}var Gr=Ke(oi.p,{isLE:!0}),Fm=Ke(oi.n,{isLE:!0}),Vm={...oi,Fp:Gr,hash:Ll,adjustScalarBytes:Pm,uvRatio:bc},Ge=gd(Vm);var gc=yc,Bm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Dm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Um=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),km=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),bd=e=>bc(Tr,e),Lm=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),xc=e=>Ge.Point.Fp.create(mr(e)&Lm);function wd(e){let{d:t}=oi,r=po,n=m=>Gr.create(m),o=n(gc*e*e),i=n((o+Tr)*Um),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=bc(i,a),p=n(u*e);gr(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-Tr)*km-a),l=u*u,f=n((u+u)*a),h=n(d*Bm),_=n(Tr-l),g=n(Tr+l);return new Ge.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function qm(e){me(e,64);let t=xc(e.subarray(0,32)),r=wd(t),n=xc(e.subarray(32,64)),o=wd(n);return new Nr(r.add(o))}var Nr=class e extends xs{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 qm(pe("ristrettoHash",t,64))}static fromBytes(t){me(t,32);let{a:r,d:n}=oi,o=po,i=T=>Gr.create(T),s=xc(t);if(!Cu(Gr.toBytes(s),t)||gr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(Tr+r*a),u=i(Tr-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=bd(i(l*d)),_=i(h*u),g=i(h*_*l),m=i((s+s)*_);gr(m,o)&&(m=i(-m));let x=i(c*g),y=i(m*x);if(!f||gr(y,o)||x===vm)throw new Error("invalid ristretto255 encoding 2");return new e(new Ge.Point(m,x,Tr,y))}static fromHex(t){return e.fromBytes(pe("ristrettoHex",t,32))}static msm(t,r){return ao(e,Ge.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=po,s=g=>Gr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=bd(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(gr(o*f,i)){let g=s(r*gc),m=s(t*gc);t=g,r=m,h=s(d*Dm)}else h=l;gr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return gr(_,i)&&(_=s(-_)),Gr.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Gr.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)}};Nr.BASE=new Nr(Ge.Point.BASE);Nr.ZERO=new Nr(Ge.Point.ZERO);Nr.Fp=Gr;Nr.Fn=Fm;var Td,Nd,bs=class{static{Td=Symbol.iterator,Nd=Symbol.toStringTag}#e;#t;constructor(t={}){this[Td]=this.entries.bind(this),this[Nd]="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 Od=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 Ro("Length too long (> 4 bytes)"))},Ed=(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 Ro("Length too long (> 4 bytes)"))},wc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw Y.fromCode(new Nt("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 Nt("Length too long (> 4 bytes)"))},Mm=(e,t)=>{let r=wc(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 Nt("Length too long (> 4 bytes)"))},ii=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Ln=Uint8Array.from([48,5,6,3,43,101,112]),Lx=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),qx=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 qn(e,t){let r=2+Od(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+Od(n)+n);return i[o++]=48,o+=Ed(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=Ed(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Mn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw Y.fromCode(new Nt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=wc(o,r),!Cn(o.slice(r,r+t.byteLength),t))throw Y.fromCode(new Nt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Mm(o,r)-1;r+=wc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw Y.fromCode(new Si(i,s.length));return s};var ws=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 qn(t,Ln)}static derDecode(t){let r=Mn(t,Ln);if(r.length!==this.RAW_KEY_LENGTH)throw Y.fromCode(new Nt("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 Nt("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 Tc=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))}},Ts=class extends Tc{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 Ns=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 Mt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Mt||(Mt={}));var Ec=60*1e3,jm=1e6,Km=0,Hm="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var $m="ic0.app",Gm=".ic0.app",Jm="icp0.io",Wm=".icp0.io",zm="icp-api.io",Ym=".icp-api.io",Nc=200,Zm=202,Xm=404;function Qm(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw ye.fromCode(new Jn("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 Jn("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 Jn("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function e_(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 Or=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c;#w;#s;#u;#f;#l;get#E(){return this.#l*Ec}#h;#m;#_;#y;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Km,this.#i=!1,this.#a=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new Ts,this.#h=[],this.#m=[],this.#_=new bs({expirationTime:5*Ec}),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=k.fromUint8Array(d).toText(),f;if(s===vr.Replied){let{reply:x}=o;f=ko({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===vr.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=ko({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(Ca,f),_=i.get(l);if(!_)throw ne.fromCode(new Mi);let g=ws.fromDer(_).rawKey;if(!Ge.verify(u.signature,h,g))throw Le.fromCode(new ji(l))}return o},this.config=t,this.#o=t.fetch||Qm()||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(Hm);let r=e_(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#y=t.verifyQuerySignatures),this.#u=t.retryTimes??3;let n=()=>new Ns({maxIterations:this.#u});if(this.#f=t.backoffStrategy||n,this.host.hostname.endsWith(Gm)?this.host.hostname=$m:this.host.hostname.endsWith(Wm)?this.host.hostname=Jm:this.host.hostname.endsWith(Ym)&&(this.host.hostname=zm),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 Bt("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw Y.fromCode(new Bt("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",ka(Go)),t.useQueryNonces&&this.addTransform("query",ka(Go)),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 ki)}}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 Fr);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 Fr);let s=k.from(t),a=r.effectiveCanisterId?k.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),u=Oc(this.#l,this.#r),p={request_type:rs.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:hr.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=Ho(d.body),_=this.#f(),g=pr(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(vo))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(Bt)&&!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 Rn(`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:
|
|
50
|
+
`)}return a.encodeValue(c)}));return Z(If,n,o,i,s)}function Sf(e,t){let r=new St(t);if(t.byteLength<os.length)throw new Error("Message length smaller than magic number");let n=Kr(r,os.length),o=new TextDecoder().decode(n);if(o!==os)throw new Error("Wrong magic number: "+JSON.stringify(o));function i(l){let f=[],h=Number(_e(l));for(let m=0;m<h;m++){let b=Number(_r(l));switch(b){case Q.Opt:case Q.Vector:{let y=Number(_r(l));f.push([b,y]);break}case Q.Record:case Q.Variant:{let y=[],T=Number(_e(l)),O;for(;T--;){let R=Number(_e(l));if(R>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof O=="number"&&O>=R)throw new Error("field id collision or not sorted");O=R;let E=Number(_r(l));y.push([R,E])}f.push([b,y]);break}case Q.Func:{let y=[],T=Number(_e(l));for(;T--;)y.push(Number(_r(l)));let O=[],R=Number(_e(l));for(;R--;)O.push(Number(_r(l)));let E=[],I=Number(_e(l));for(;I--;)switch(Number(_e(l))){case 1:{E.push("query");break}case 2:{E.push("oneway");break}case 3:{E.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([b,[y,O,E]]);break}case Q.Service:{let y=Number(_e(l)),T=[];for(;y--;){let O=Number(_e(l)),R=new TextDecoder().decode(Kr(l,O)),E=_r(l);T.push([R,E])}f.push([b,T]);break}default:throw new Error("Illegal op_code: "+b)}}let _=[],g=Number(_e(l));for(let m=0;m<g;m++)_.push(Number(_r(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=>iu());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return Ll;case-2:return kl;case-3:return jl;case-4:return Ml;case-5:return zl;case-6:return Yl;case-7:return Zl;case-8:return Xl;case-9:return Gl;case-10:return $l;case-11:return Jl;case-12:return Wl;case-13:return Kl;case-14:return Hl;case-15:return ql;case-16:return Ul;case-17:return Dl;case-24:return Ql;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 tu(f)}case Q.Opt:{let f=u(l[1]);return ru(f)}case Q.Record:{let f={};for(let[g,m]of l[1]){let b=`_${g}_`;f[b]=u(m)}let h=nu(f),_=h.tryAsTuple();return Array.isArray(_)?eu(..._):h}case Q.Variant:{let f={};for(let[h,_]of l[1]){let g=`_${h}_`;f[g]=u(_)}return ou(f)}case Q.Func:{let[f,h,_]=l[1];return su(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 dt&&(m=m.getType()),!(m instanceof qn))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return au(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)}}),Ia();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{Ia()}}var Dl=new Wo,Ul=new Gt,Cf=new ss,kl=new as,Ll=new kn,ql=new cs,Ml=new zo,jl=new Yo,Kl=new Zo(32),Hl=new Zo(64),Gl=new gr(8),$l=new gr(16),Jl=new gr(32),Wl=new gr(64),zl=new Kt(8),Yl=new Kt(16),Zl=new Kt(32),Xl=new Kt(64),Ql=new us;function eu(...e){return new ls(e)}function tu(e){return new ao(e)}function ru(e){return new Hr(e)}function nu(e){return new Ln(e)}function ou(e){return new co(e)}function iu(){return new dt}function su(e,t,r=[]){return new qn(e,t,r)}function au(e){return new lo(e)}var ds=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)}},is=new ds;function Ia(){is=new ds}function Ff(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 Ea(e){return e instanceof Hr||e instanceof kn||e instanceof Gt}function Sa(e,t){let r=is.copy(),n=yr(r,e,t);return n?is.add(e,t):is.addNegative(e,t),n}function yr(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 Gt||t instanceof Wo||t instanceof Yo&&r instanceof zo)return!0;if(t instanceof ao&&r instanceof ao)return yr(e,t._type,r._type);if(r instanceof Hr)return!0;if(t instanceof Ln&&r instanceof Ln){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[je(i)];if(a){if(!yr(e,a,s))return!1}else if(!Ea(s))return!1}return!0}if(t instanceof qn&&r instanceof qn){if(!Ff(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!yr(e,r.argTypes[o],i))return!1}else if(!Ea(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!yr(e,t.retTypes[o],i))return!1}else if(!Ea(i))return!1}return!0}if(t instanceof co&&r instanceof co){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[je(i)];if(!a||!yr(e,s,a))return!1}return!0}if(t instanceof lo&&r instanceof lo){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!yr(e,a,s))return!1}return!0}return t instanceof dt?yr(e,t.getType(),r):r instanceof dt?yr(e,t,r.getType()):!1}function uo(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?uo(e.buffer):new Uint8Array(e)}function jn(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 Ca(e){if(typeof e=="string")return cu(e);if(typeof e=="number")return Ve(ie(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Ve(uo(e));if(Array.isArray(e)){let t=e.map(Ca);return Ve(K(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return Ve(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Ca(e.toHash());if(typeof e=="object")return Xo(e);if(typeof e=="bigint")return Ve(ie(e))}throw Y.fromCode(new Yi(e))}var cu=e=>{let t=new TextEncoder().encode(e);return Ve(t)};function xr(e){return Xo(e)}function Xo(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=cu(s),u=Ca(a);return[c,u]}).sort(([s],[a])=>io(s,a)),o=K(...n.map(s=>K(...s)));return Ve(o)}var Fa=new TextEncoder().encode("\ric-state-root"),Qo=new TextEncoder().encode(`
|
|
52
|
+
ic-request`),Va=new TextEncoder().encode("\vic-response"),Pa=new TextEncoder().encode("ic-request-auth-delegation");var $t=class{getPrincipal(){return this._principal||(this._principal=k.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=xr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(Qo,o))}}}},it=class{getPrincipal(){return k.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var br=class extends Error{constructor(t){super(t),this.name="DecodingError"}},uu=55799,du=Symbol("CBOR_STOP_CODE"),Vt=(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))(Vt||{}),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||{}),Vf=23,Pf=255,Bf=65535,Df=4294967295,Uf=BigInt("0xffffffffffffffff"),Ft=(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))(Ft||{}),po=!1;function kf(e){return e==null}function pu(e,t){let r=new Uint8Array(t);return r.set(e),r}var Lf=new TextDecoder;function qf(e){return(e&224)>>5}function Mf(e){return e&31}var ri=new Uint8Array,ei,Pt=0;function fu(e,t){ri=e,Pt=0;let r=Kn(t);return t?.(r)??r}function Kn(e){let[t,r]=ps();switch(t){case Ne.UnsignedInteger:return fo(r);case Ne.NegativeInteger:return Gf(r);case Ne.ByteString:return hu(r);case Ne.TextString:return Da(r);case Ne.Array:return jf(r,e);case Ne.Map:return Hf(r,e);case Ne.Tag:return $f(r,e);case Ne.Simple:return Kf(r)}throw new br(`Unsupported major type: ${t}`)}function ps(){let e=ri.at(Pt);if(kf(e))throw new br("Provided CBOR data is empty");let t=qf(e),r=Mf(e);return Pt++,[t,r]}function jf(e,t){let r=fo(e);if(r===1/0){let o=[],i=Kn(t);for(;i!==du;)o.push(t?.(i)??i),i=Kn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=Kn(t);n[o]=t?.(i)??i}return n}function Kf(e){switch(e){case Vt.False:return!1;case Vt.True:return!0;case Vt.Null:return null;case Vt.Undefined:return;case Vt.Break:return du}throw new br(`Unrecognized simple type: ${e.toString(2)}`)}function Hf(e,t){let r=fo(e),n={};if(r===1/0){let[o,i]=ps();for(;o!==Ne.Simple&&i!==Vt.Break;){let s=Da(i),a=Kn(t);n[s]=t?.(a,s)??a,[o,i]=ps()}return n}for(let o=0;o<r;o++){let[i,s]=ps();if(i!==Ne.TextString)throw new br("Map keys must be text strings");let a=Da(s),c=Kn(t);n[a]=t?.(c,a)??c}return n}function fo(e){if(e<=Ft.Value)return e;switch(ei=new DataView(ri.buffer,ri.byteOffset+Pt),e){case Ft.OneByte:return Pt++,ei.getUint8(0);case Ft.TwoBytes:return Pt+=2,ei.getUint16(0,po);case Ft.FourBytes:return Pt+=4,ei.getUint32(0,po);case Ft.EightBytes:return Pt+=8,ei.getBigUint64(0,po);case Ft.Indefinite:return 1/0;default:throw new br(`Unsupported integer info: ${e.toString(2)}`)}}function Gf(e){let t=fo(e);return typeof t=="number"?-1-t:-1n-t}function hu(e){let t=fo(e);if(t>Number.MAX_SAFE_INTEGER)throw new br("Byte length is too large");let r=Number(t);return Pt+=r,ri.slice(Pt-r,Pt)}function Da(e){let t=hu(e);return Lf.decode(t)}function $f(e,t){let r=fo(e);if(r===uu)return Kn(t);throw new br(`Unsupported tag: ${r}.`)}var ni=class extends Error{constructor(t){super(t),this.name="SerializationError"}},Jf=2*1024,Wf=100,zf=new TextEncoder;function ti(e){return e<<5}var st=new Uint8Array(Jf),Ct=new DataView(st.buffer),Te=0,Ba=[];function mu(e,t){Te=0;let r=t?.(e)??e;return nh(uu,r,t),st.slice(0,Te)}function Ua(e,t){if(Te>st.length-Wf&&(st=pu(st,st.length*2),Ct=new DataView(st.buffer)),e===!1||e===!0||e===null||e===void 0){Xf(e);return}if(typeof e=="number"||typeof e=="bigint"){rh(e);return}if(typeof e=="string"){gu(e);return}if(e instanceof Uint8Array){lu(e);return}if(e instanceof ArrayBuffer){lu(new Uint8Array(e));return}if(Array.isArray(e)){Yf(e,t);return}if(typeof e=="object"){Zf(e,t);return}throw new ni(`Unsupported type: ${typeof e}`)}function Yf(e,t){ho(Ne.Array,e.length),e.forEach((r,n)=>{Ua(t?.(r,n.toString())??r,t)})}function Zf(e,t){Ba=Object.entries(e),ho(Ne.Map,Ba.length),Ba.forEach(([r,n])=>{gu(r),Ua(t?.(n,r)??n,t)})}function ho(e,t){if(t<=Vf){Ct.setUint8(Te++,ti(e)|Number(t));return}if(t<=Pf){Ct.setUint8(Te++,ti(e)|Ft.OneByte),Ct.setUint8(Te,Number(t)),Te+=1;return}if(t<=Bf){Ct.setUint8(Te++,ti(e)|Ft.TwoBytes),Ct.setUint16(Te,Number(t),po),Te+=2;return}if(t<=Df){Ct.setUint8(Te++,ti(e)|Ft.FourBytes),Ct.setUint32(Te,Number(t),po),Te+=4;return}if(t<=Uf){Ct.setUint8(Te++,ti(e)|Ft.EightBytes),Ct.setBigUint64(Te,BigInt(t),po),Te+=8;return}throw new ni(`Value too large to encode: ${t}`)}function Xf(e){ho(Ne.Simple,Qf(e))}function Qf(e){if(e===!1)return Vt.False;if(e===!0)return Vt.True;if(e===null)return Vt.Null;if(e===void 0)return Vt.Undefined;throw new ni(`Unrecognized simple value: ${e.toString()}`)}function _u(e,t){ho(e,t.length),Te>st.length-t.length&&(st=pu(st,st.length+t.length),Ct=new DataView(st.buffer)),st.set(t,Te),Te+=t.length}function yu(e,t){ho(e,t)}function eh(e){yu(Ne.UnsignedInteger,e)}function th(e){yu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function rh(e){e>=0?eh(e):th(e)}function gu(e){_u(Ne.TextString,zf.encode(e))}function lu(e){_u(Ne.ByteString,e)}function nh(e,t,r){ho(Ne.Tag,e),Ua(t,r)}function ih(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function oi(e){try{return mu(e,t=>k.isPrincipal(t)?t.toUint8Array():mo.isExpiry(t)?t.toBigInt():ih(t)?t.toCborValue():t)}catch(t){throw Y.fromCode(new Gi(t,e))}}function Ke(e){try{return fu(e)}catch(t){throw Y.fromCode(new Hi(t,e))}}var fs={encode:oi,decode:Ke};var ii=()=>{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 wr;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(wr||(wr={}));var ms;(function(e){e.Call="call"})(ms||(ms={}));var Hn;(function(e){e.Query="query",e.ReadState="read_state"})(Hn||(Hn={}));function si(){let e=new ArrayBuffer(16),t=new DataView(e),r=ii(),n=ii(),o=ii(),i=ii();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 _s="__expiry__",ka=BigInt(1e3),sh=BigInt(1e6),ah=BigInt(60),La=ah*ka,ch=BigInt(1)*La;function lh(e){return e/ka*ka}function uh(e){return e/La*La}var mo=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=uh(o),s;return i>=n+ch?s=i:s=lh(o),new e(s*sh)}toBigInt(){return this.__expiry__}toHash(){return ie(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[_s]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[_s])try{let n=BigInt(r[_s]);return new e(n)}catch(n){throw new Y(new Go(`Not a valid BigInt: ${n}`))}throw new Y(new Go(`The input does not contain the key ${_s}`))}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 qa(e=si){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===wr.Call&&(t.body.nonce=e())}}function Ma(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Ka=BigInt(0),ys=BigInt(1);function Gn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Gr(e,t,r=""){let n=Lt(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 xu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Ka:BigInt("0x"+e)}function Qe(e){return xu(j(e))}function Tr(e){return fe(e),xu(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function Ha(e,t){return Oe(e,t).reverse()}function de(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(Lt(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 bu(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 Ga(e){return Uint8Array.from(e)}var ja=e=>typeof e=="bigint"&&Ka<=e;function $a(e,t,r){return ja(e)&&ja(t)&&ja(r)&&t<=e&&e<r}function gs(e,t,r,n){if(!$a(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Nr(e){let t;for(t=0;e>Ka;e>>=ys,t+=1);return t}function wu(e,t){return e>>BigInt(t)&ys}var Bt=e=>(ys<<BigInt(e))-ys;function Tu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Or(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 _o=()=>{throw new Error("not implemented")};function $r(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 He=BigInt(0),ve=BigInt(1),$n=BigInt(2),Ou=BigInt(3),Eu=BigInt(4),Ru=BigInt(5),dh=BigInt(7),vu=BigInt(8),ph=BigInt(9),Iu=BigInt(16);function ce(e,t){let r=e%t;return r>=He?r:t+r}function Dt(e,t,r){let n=e;for(;t-- >He;)n*=n,n%=r;return n}function Nu(e,t){if(e===He)throw new Error("invert: expected non-zero number");if(t<=He)throw new Error("invert: expected positive modulus, got "+t);let r=ce(e,t),n=t,o=He,i=ve,s=ve,a=He;for(;r!==He;){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!==ve)throw new Error("invert: does not exist");return ce(o,t)}function Ja(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Au(e,t){let r=(e.ORDER+ve)/Eu,n=e.pow(t,r);return Ja(e,n,t),n}function fh(e,t){let r=(e.ORDER-Ru)/vu,n=e.mul(t,$n),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,$n),o),a=e.mul(i,e.sub(s,e.ONE));return Ja(e,a,t),a}function hh(e){let t=Ge(e),r=Su(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+dh)/Iu;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 Ja(a,g,c),g}}function Su(e){if(e<Ou)throw new Error("sqrt is not defined for small field");let t=e-ve,r=0;for(;t%$n===He;)t/=$n,r++;let n=$n,o=Ge(e);for(;ai(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Au;let i=o.pow(n,t),s=(t+ve)/$n;return function(c,u){if(c.is0(u))return u;if(ai(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=ve<<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 mh(e){return e%Eu===Ou?Au:e%vu===Ru?fh:e%Iu===ph?hh(e):Su(e)}var Er=(e,t)=>(ce(e,t)&ve)===ve,_h=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function xs(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=_h.reduce((n,o)=>(n[o]="function",n),t);return Or(e,r),e}function ci(e,t,r){if(r<He)throw new Error("invalid exponent, negatives unsupported");if(r===He)return e.ONE;if(r===ve)return t;let n=e.ONE,o=t;for(;r>He;)r&ve&&(n=e.mul(n,o)),o=e.sqr(o),r>>=ve;return n}function pt(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 ai(e,t){let r=(e.ORDER-ve)/$n,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 Wa(e,t){t!==void 0&&ma(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ge(e,t,r=!1,n={}){if(e<=He)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}=Wa(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:Bt(c),ZERO:He,ONE:ve,allowedLengths:a,create:l=>ce(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return He<=l&&l<e},is0:l=>l===He,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&ve)===ve,neg:l=>ce(-l,e),eql:(l,f)=>l===f,sqr:l=>ce(l*l,e),add:(l,f)=>ce(l+f,e),sub:(l,f)=>ce(l-f,e),mul:(l,f)=>ce(l*f,e),pow:(l,f)=>ci(d,l,f),div:(l,f)=>ce(l*Nu(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>Nu(l,e),sqrt:i||(l=>(p||(p=mh(e)),p(d,l))),toBytes:l=>r?Ha(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?Tr(l):Qe(l);if(s&&(h=ce(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>pt(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function Cu(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 bs(e){let t=Cu(e);return t+Math.ceil(t/2)}function za(e,t,r=!1){let n=e.length,o=Cu(t),i=bs(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Tr(e):Qe(e),a=ce(s,t-ve)+ve;return r?Ha(a,o):Oe(a,o)}var yo=BigInt(0),Jn=BigInt(1);function li(e,t){let r=t.negate();return e?r:t}function ft(e,t){let r=pt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Bu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ya(e,t){Bu(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Bt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function Fu(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+=Jn);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 gh(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 xh(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 Za=new WeakMap,Du=new WeakMap;function Xa(e){return Du.get(e)||1}function Vu(e){if(e!==yo)throw new Error("invalid wNAF")}var go=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>yo;)r&Jn&&(n=n.add(o)),o=o.double(),r>>=Jn;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Ya(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=Ya(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=Fu(n,a,s);n=c,p?i=i.add(li(l,r[f])):o=o.add(li(d,r[u]))}return Vu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=Ya(t,this.bits);for(let s=0;s<i.windows&&n!==yo;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Fu(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return Vu(n),o}getPrecomputes(t,r,n){let o=Za.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Za.set(r,o))),o}cached(t,r,n){let o=Xa(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Xa(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){Bu(r,this.bits),Du.set(t,r),Za.delete(t)}hasCache(t){return Xa(t)!==1}};function Uu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>yo||n>yo;)r&Jn&&(i=i.add(o)),n&Jn&&(s=s.add(o)),o=o.double(),r>>=Jn,n>>=Jn;return{p1:i,p2:s}}function xo(e,t,r,n){gh(r,e),xh(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=Nr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=Bt(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 Pu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return xs(t),t}else return Ge(e,{isLE:r})}function ws(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>yo))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Pu(t.p,r.Fp,n),i=Pu(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 bh=Qe;function Jr(e,t){if(ui(e),ui(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 wh(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 ui(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function ku(e){if(!Lt(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?G(e):e}function Th(e,t,r,n){fe(e),ui(r),t=ku(t),t.length>255&&(t=n(K(G("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,Jr(t.length,1)),c=Jr(0,i),u=Jr(r,2),p=new Array(s),d=n(K(c,e,u,Jr(0,1),a));p[0]=n(K(d,Jr(1,1),a));for(let f=1;f<=s;f++){let h=[wh(d,p[f-1]),Jr(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function Nh(e,t,r,n,o){if(fe(e),ui(r),t=ku(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(G("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(Jr(r,2)).update(t).update(Jr(t.length,1)).digest()}function Qa(e,t,r){Or(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!Tu(r.hash))throw new Error("expected valid hash");fe(e),ui(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=Th(e,c,d,s);else if(a==="xof")l=Nh(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),b=l.subarray(m,m+p);_[g]=ce(bh(b),n)}f[h]=_}return f}function ec(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]=pt(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var Oh=G("HashToScalar-");function tc(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=Qa(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=Qa(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:Oh},s);return Qa(i,1,c)[0][0]}}}var Lu=(e,t)=>(e+(e>=0?t:-t)/Rr)/t;function Eh(e,t,r){let[[n,o],[i,s]]=t,a=Lu(s*e,r),c=Lu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Wn,l=p<Wn;d&&(u=-u),l&&(p=-p);let f=Bt(Math.ceil(Nr(r)/2))+$e;if(u<Wn||u>=f||p<Wn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Wn=BigInt(0),$e=BigInt(1),Rr=BigInt(2),bo=BigInt(3),rc=BigInt(4);function di(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 Rh(e,t={}){let r=ws("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;Or(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=Ah(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(S,x,N){let{x:F,y:B}=x.toAffine(),L=n.toBytes(F);if(Gn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return K(vh(A),L)}else return K(Uint8Array.of(4),L,n.toBytes(B))}function l(S){Gr(S,void 0,"Point");let{publicKey:x,publicKeyUncompressed:N}=u,F=S.length,B=S[0],L=S.subarray(1);if(F===x&&(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 C=_(A),P;try{P=n.sqrt(C)}catch(te){let re=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+re)}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,C=n.fromBytes(L.subarray(0,A)),P=n.fromBytes(L.subarray(A,A*2));if(!g(C,P))throw new Error("bad point: is not on curve");return{x:C,y:P}}else throw new Error(`bad point: got length ${F}, expected compressed=${x} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(S){let x=n.sqr(S),N=n.mul(x,S);return n.add(n.add(N,n.mul(S,i.a)),i.b)}function g(S,x){let N=n.sqr(x),F=_(S);return n.eql(N,F)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,bo),rc),b=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,b)))throw new Error("bad curve params: a or b");function y(S,x,N=!1){if(!n.isValid(x)||N&&n.is0(x))throw new Error(`bad point coordinate ${S}`);return x}function T(S){if(!(S instanceof w))throw new Error("ProjectivePoint expected")}function O(S){if(!c||!c.basises)throw new Error("no endo");return Eh(S,c.basises,o.ORDER)}let R=$r((S,x)=>{let{X:N,Y:F,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:F};let L=S.is0();x==null&&(x=L?n.ONE:n.inv(B));let A=n.mul(N,x),C=n.mul(F,x),P=n.mul(B,x);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:C}}),E=$r(S=>{if(S.is0()){if(t.allowInfinityPoint&&!n.is0(S.Y))return;throw new Error("bad point: ZERO")}let{x,y:N}=S.toAffine();if(!n.isValid(x)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!g(x,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,x,N,F,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),x=li(F,x),N=li(B,N),x.add(N)}class w{constructor(x,N,F){this.X=y("x",x),this.Y=y("y",N,!0),this.Z=y("z",F),Object.freeze(this)}static CURVE(){return i}static fromAffine(x){let{x:N,y:F}=x||{};if(!x||!n.isValid(N)||!n.isValid(F))throw new Error("invalid affine point");if(x 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(x){let N=w.fromAffine(h(Gr(x,void 0,"point")));return N.assertValidity(),N}static fromHex(x){return w.fromBytes(de("pointHex",x))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(x=8,N=!0){return V.createCache(this,x),N||this.multiply(bo),this}assertValidity(){E(this)}hasEvenY(){let{y:x}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(x)}equals(x){T(x);let{X:N,Y:F,Z:B}=this,{X:L,Y:A,Z:C}=x,P=n.eql(n.mul(N,C),n.mul(L,B)),D=n.eql(n.mul(F,C),n.mul(A,B));return P&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:x,b:N}=i,F=n.mul(N,bo),{X:B,Y:L,Z:A}=this,C=n.ZERO,P=n.ZERO,D=n.ZERO,M=n.mul(B,B),te=n.mul(L,L),re=n.mul(A,A),z=n.mul(B,L);return z=n.add(z,z),D=n.mul(B,A),D=n.add(D,D),C=n.mul(x,D),P=n.mul(F,re),P=n.add(C,P),C=n.sub(te,P),P=n.add(te,P),P=n.mul(C,P),C=n.mul(z,C),D=n.mul(F,D),re=n.mul(x,re),z=n.sub(M,re),z=n.mul(x,z),z=n.add(z,D),D=n.add(M,M),M=n.add(D,M),M=n.add(M,re),M=n.mul(M,z),P=n.add(P,M),re=n.mul(L,A),re=n.add(re,re),M=n.mul(re,z),C=n.sub(C,M),D=n.mul(re,te),D=n.add(D,D),D=n.add(D,D),new w(C,P,D)}add(x){T(x);let{X:N,Y:F,Z:B}=this,{X:L,Y:A,Z:C}=x,P=n.ZERO,D=n.ZERO,M=n.ZERO,te=i.a,re=n.mul(i.b,bo),z=n.mul(N,L),be=n.mul(F,A),we=n.mul(B,C),Ze=n.add(N,F),oe=n.add(L,A);Ze=n.mul(Ze,oe),oe=n.add(z,be),Ze=n.sub(Ze,oe),oe=n.add(N,B);let ne=n.add(L,C);return oe=n.mul(oe,ne),ne=n.add(z,we),oe=n.sub(oe,ne),ne=n.add(F,B),P=n.add(A,C),ne=n.mul(ne,P),P=n.add(be,we),ne=n.sub(ne,P),M=n.mul(te,oe),P=n.mul(re,we),M=n.add(P,M),P=n.sub(be,M),M=n.add(be,M),D=n.mul(P,M),be=n.add(z,z),be=n.add(be,z),we=n.mul(te,we),oe=n.mul(re,oe),be=n.add(be,we),we=n.sub(z,we),we=n.mul(te,we),oe=n.add(oe,we),z=n.mul(be,oe),D=n.add(D,z),z=n.mul(ne,oe),P=n.mul(Ze,P),P=n.sub(P,z),z=n.mul(Ze,be),M=n.mul(ne,M),M=n.add(M,z),new w(P,D,M)}subtract(x){return this.add(x.negate())}is0(){return this.equals(w.ZERO)}multiply(x){let{endo:N}=t;if(!o.isValidNot0(x))throw new Error("invalid scalar: out of range");let F,B,L=A=>V.cached(this,A,C=>ft(w,C));if(N){let{k1neg:A,k1:C,k2neg:P,k2:D}=O(x),{p:M,f:te}=L(C),{p:re,f:z}=L(D);B=te.add(z),F=I(N.beta,M,re,A,P)}else{let{p:A,f:C}=L(x);F=A,B=C}return ft(w,[F,B])[0]}multiplyUnsafe(x){let{endo:N}=t,F=this;if(!o.isValid(x))throw new Error("invalid scalar: out of range");if(x===Wn||F.is0())return w.ZERO;if(x===$e)return F;if(V.hasCache(this))return this.multiply(x);if(N){let{k1neg:B,k1:L,k2neg:A,k2:C}=O(x),{p1:P,p2:D}=Uu(w,F,L,C);return I(N.beta,P,D,B,A)}else return V.unsafe(F,x)}multiplyAndAddUnsafe(x,N,F){let B=this.multiplyUnsafe(N).add(x.multiplyUnsafe(F));return B.is0()?void 0:B}toAffine(x){return R(this,x)}isTorsionFree(){let{isTorsionFree:x}=t;return s===$e?!0:x?x(w,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:x}=t;return s===$e?this:x?x(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(x=!0){return Gn(x,"isCompressed"),this.assertValidity(),f(w,this,x)}toHex(x=!0){return j(this.toBytes(x))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(x=!0){return this.toBytes(x)}_setWindowSize(x){this.precompute(x)}static normalizeZ(x){return ft(w,x)}static msm(x,N){return xo(w,o,x,N)}static fromPrivateKey(x){return w.BASE.multiply(di(o,x))}}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,V=new go(w,t.endo?Math.ceil(v/2):v);return w.BASE.precompute(8),w}function vh(e){return Uint8Array.of(e?2:3)}function Ih(e,t){let r=e.ORDER,n=Wn;for(let h=r-$e;h%Rr===Wn;h/=Rr)n+=$e;let o=n,i=Rr<<o-$e-$e,s=i*Rr,a=(r-$e)/s,c=(a-$e)/Rr,u=s-$e,p=i,d=e.pow(t,a),l=e.pow(t,(a+$e)/Rr),f=(h,_)=>{let g=d,m=e.pow(_,u),b=e.sqr(m);b=e.mul(b,_);let y=e.mul(h,b);y=e.pow(y,c),y=e.mul(y,m),m=e.mul(y,_),b=e.mul(y,h);let T=e.mul(b,m);y=e.pow(T,p);let O=e.eql(y,e.ONE);m=e.mul(b,l),y=e.mul(T,g),b=e.cmov(m,b,O),T=e.cmov(y,T,O);for(let R=o;R>$e;R--){let E=R-Rr;E=Rr<<E-$e;let I=e.pow(T,E),w=e.eql(I,e.ONE);m=e.mul(b,g),g=e.mul(g,g),I=e.mul(T,g),b=e.cmov(m,b,w),T=e.cmov(I,T,w)}return{isValid:O,value:b}};if(e.ORDER%rc===bo){let h=(e.ORDER-bo)/rc,_=e.sqrt(e.neg(t));f=(g,m)=>{let b=e.sqr(m),y=e.mul(g,m);b=e.mul(b,y);let T=e.pow(b,h);T=e.mul(T,y);let O=e.mul(T,_),R=e.mul(e.sqr(T),m),E=e.eql(R,g),I=e.cmov(O,T,E);return{isValid:E,value:I}}}return f}function nc(e,t){xs(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=Ih(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 b=pt(e,[p],!0)[0];return f=e.mul(f,b),{x:f,y:h}}}function Ah(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function oc(e){let{CURVE:t,curveOpts:r}=Sh(e),n=Rh(t,r);return Fh(e,n)}function Sh(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=Ge(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 Ch(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 Fh(e,t){let{Fp:r,Fn:n}=t;function o(s){return $a(s,$e,n.ORDER)}let i=Ch(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>di(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Vh=BigInt(0),Ts=BigInt(1),qu=BigInt(2),wo=BigInt(3);function Ph(e){let t=[];for(;e>Ts;e>>=Ts)(e&Ts)===Vh?t.unshift(0):(e&wo)===wo?(t.unshift(-1),e+=Ts):t.unshift(1);return t}function ic(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Bh(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,O,R,E,I)=>i.mul014(R,y,o.mul(T,E),o.mul(O,I));else if(s==="divisive")p=(y,T,O,R,E,I)=>i.mul034(R,o.mul(O,I),o.mul(T,E),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,qu));function l(y,T,O,R){let E=o.sqr(O),I=o.sqr(R),w=o.mulByB(o.mul(I,wo)),v=o.mul(w,wo),V=o.sub(o.sub(o.sqr(o.add(O,R)),I),E),S=o.sub(w,E),x=o.mul(o.sqr(T),wo),N=o.neg(V);return y.push([S,x,N]),T=o.mul(o.mul(o.mul(o.sub(E,v),T),O),d),O=o.sub(o.sqr(o.mul(o.add(E,v),d)),o.mul(o.sqr(w),wo)),R=o.mul(E,V),{Rx:T,Ry:O,Rz:R}}function f(y,T,O,R,E,I){let w=o.sub(O,o.mul(I,R)),v=o.sub(T,o.mul(E,R)),V=o.sub(o.mul(w,E),o.mul(v,I)),S=o.neg(w),x=v;y.push([V,S,x]);let N=o.sqr(v),F=o.mul(N,v),B=o.mul(N,T),L=o.add(o.sub(F,o.mul(B,qu)),o.mul(o.sqr(w),R));return T=o.mul(v,L),O=o.sub(o.mul(o.sub(B,L),w),o.mul(F,O)),R=o.mul(R,F),{Rx:T,Ry:O,Rz:R}}let h=Ph(a),_=$r(y=>{let T=y,{x:O,y:R}=T.toAffine(),E=O,I=R,w=o.neg(R),v=E,V=I,S=o.ONE,x=[];for(let N of h){let F=[];({Rx:v,Ry:V,Rz:S}=l(F,v,V,S)),N&&({Rx:v,Ry:V,Rz:S}=f(F,v,V,S,E,N===-1?w:I)),x.push(F)}if(u){let N=x[x.length-1];u(v,V,S,E,I,f.bind(null,N))}return x});function g(y,T=!1){let O=i.ONE;if(y.length){let R=y[0][0].length;for(let E=0;E<R;E++){O=i.sqr(O);for(let[I,w,v]of y)for(let[V,S,x]of I[E])O=p(V,S,x,O,w,v)}}return c&&(O=i.conjugate(O)),T?i.finalExponentiate(O):O}function m(y,T=!0){let O=[];ft(t,y.map(({g1:R})=>R)),ft(r,y.map(({g2:R})=>R));for(let{g1:R,g2:E}of y){if(R.is0()||E.is0())throw new Error("pairing is not available for ZERO point");R.assertValidity(),E.assertValidity();let I=R.toAffine();O.push([_(E),I.x,I.y])}return g(O,T)}function b(y,T,O=!0){return m([{g1:y,g2:T}],O)}return{Fp12:i,millerLoopBatch:g,pairing:b,pairingBatch:m,calcPairingPrecomputes:_}}function Mu(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=di(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=di(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),b=d,y=s([p(_,m),p(g,b)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(ic(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 O=g[T],R=_[T],E=m.get(R);E===void 0&&(E=[],m.set(R,E)),E.push(O)}let b=[],y=t.Point.BASE;try{for(let[T,O]of m){let R=O.reduce((E,I)=>E.add(I));b.push(p(R,T))}return b.push(p(y.negate(),h)),i.eql(s(b),i.ONE)}catch{return!1}},aggregatePublicKeys(d){ic(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){ic(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 ju(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=oc(e.G1),a=Object.assign(s,tc(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=oc(e.G2),u=Object.assign(c,tc(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Bh(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=Mu(p,a,u,e.G2.Signature,!1),g=Mu(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||to,b=()=>{let A=bs(r.ORDER);return za(m(A),r.ORDER)},y={randomSecretKey:b,randomPrivateKey:b,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:O}=e.G2;function R(A,C){return A instanceof a.Point?A:g.hash(de("point",A),C?.DST)}function E(A,C){return A instanceof u.Point?A:_.hash(de("point",A),C?.DST)}function I(A){return _.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function v(A,C,P){let D=E(A,P),M=_.sign(D,C);return A instanceof u.Point?M:O.toBytes(M)}function V(A,C,P){let D=R(A,P),M=g.sign(D,C);return A instanceof a.Point?M:T.toBytes(M)}function S(A,C,P,D){let M=E(C,D);return _.verify(A,M,P)}function x(A,C,P,D){let M=R(C,D);return g.verify(A,M,P)}function N(A){let C=_.aggregatePublicKeys(A);return A[0]instanceof a.Point?C:C.toBytes(!0)}function F(A){let C=_.aggregateSignatures(A);return A[0]instanceof u.Point?C:O.toBytes(C)}function B(A){let C=g.aggregateSignatures(A);return A[0]instanceof a.Point?C:T.toBytes(C)}function L(A,C,P,D){let M=C.map(te=>E(te,D));return _.verifyBatch(A,M,P)}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:I,getPublicKeyForShortSignatures:w,sign:v,signShortSignature:V,verify:S,verifyShortSignature:x,aggregatePublicKeys:N,aggregateSignatures:F,aggregateShortSignatures:B,G1:a,G2:u,Signature:O,ShortSignature:T}}var Ku=BigInt(0),vr=BigInt(1),Je=BigInt(2),Hu=BigInt(3);function lc(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=vr;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function $u(e,t,r){let n=t.pow(r,(e.ORDER-vr)/Hu),o=t.pow(r,(e.ORDER-vr)/Je);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**Je-vr)/Hu),a=t.pow(r,(e.ORDER**Je-vr)/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 _=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 Gu=(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]}},sc=class{constructor(t,r={}){this.MASK=vr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=Nr(o),this.BYTES=Math.ceil(Nr(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=Gu(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=lc(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Gu(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Ku<=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 ci(this,t,r)}invertBatch(t){return pt(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 ai(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);ai(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%Je,i=r===Ku,s=n%Je;return BigInt(o||i&&s)==vr}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])}}},ac=class{constructor(t){this.MASK=vr,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=lc(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 _o()}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 ci(this,t,r)}invertBatch(t){return pt(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)}}},cc=class{constructor(t,r){this.MASK=vr;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=lc(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){_o()}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 ci(this,t,r)}invertBatch(t){return pt(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),Je),d),c1:o.add(o.mul(o.sub(f,s),Je),f),c2:o.add(o.mul(o.sub(_,a),Je),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),Je),m),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),wu(r,o)&&(n=this.mul(n,t));return n}};function Ju(e){let t=Ge(e.ORDER),r=new sc(t,e),n=new ac(r),o=new cc(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Pe=BigInt(0),Ns=BigInt(1),ht=BigInt(2),Os=BigInt(3),pi=BigInt(4),Wr=BigInt("0xd201000000010000"),Dh=Nr(Wr),zn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Pe,b:pi,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Uh=Ge(zn.n,{modFromBytes:!0,isLE:!0}),{Fp:q,Fp2:W,Fp6:kh,Fp12:X}=Ju({ORDER:zn.p,X_LEN:Dh,FP2_NONRESIDUE:[Ns,Ns],Fp2mulByB:({c0:e,c1:t})=>{let r=q.mul(e,pi),n=q.mul(t,pi);return{c0:q.sub(r,n),c1:q.add(r,n)}},Fp12finalExponentiate:e=>{let t=Wr,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:Wu,G2psi2:Lh}=$u(q,W,W.div(W.ONE,W.NONRESIDUE)),uc=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:Ve}),fc={p:W.ORDER,n:zn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([pi,pi]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},Es=fi(q.toBytes(Pe),{infinity:!0,compressed:!0});function Rs(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 fi(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 qh(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return Es.slice();let c=!!(a*ht/o);return fi(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 dc(e){e.assertValidity();let{BYTES:t,ORDER:r}=q,{x:n,y:o}=e.toAffine();if(e.is0())return Es.slice();let i=!!(o*ht/r);return fi(Oe(n,t),{compressed:!0,sort:i})}function Mh(e){let{compressed:t,infinity:r,sort:n,value:o}=Rs(e),{BYTES:i,ORDER:s}=q;if(o.length===48&&t){let a=Qe(o),c=q.create(a&Bt(q.BITS));if(r){if(c!==Pe)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Pe,y:Pe}}let u=q.add(q.pow(c,Os),q.create(zn.b)),p=q.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*ht/s!==BigInt(n)&&(p=q.neg(p)),{x:q.create(c),y:q.create(p)}}else if(o.length===96&&!t){let a=Qe(o.subarray(0,i)),c=Qe(o.subarray(i));if(r){if(a!==Pe||c!==Pe)throw new Error("G1: non-empty point at infinity");return hi.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 zu(e){let{infinity:t,sort:r,value:n}=Rs(de("signatureHex",e,48)),o=q.ORDER,i=hi.G1.Point,s=Qe(n);if(t)return i.ZERO;let a=q.create(s&Bt(q.BITS)),c=q.add(q.pow(a,Os),q.create(zn.b)),u=q.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*ht/o!==p&&(u=q.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function jh(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return K(Es,Oe(Pe,n));let c=!!(a.c1===Pe?a.c0*ht/o:a.c1*ht/o);return K(fi(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 pc(e){e.assertValidity();let{BYTES:t}=q;if(e.is0())return K(Es,Oe(Pe,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),u=!!((a>Pe?a*ht:s*ht)/q.ORDER&Ns),p=o;return K(fi(Oe(i,t),{sort:u,compressed:!0}),Oe(p,t))}function Kh(e){let{BYTES:t,ORDER:r}=q,{compressed:n,infinity:o,sort:i,value:s}=Rs(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)=>Qe(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:q.create(u),c1:q.create(c)}),d=W.add(W.pow(p,Os),fc.b),l=W.sqrt(d),f=l.c1===Pe?l.c0*ht/r:l.c1*ht/r?Ns:Pe;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 Yu(e){let{ORDER:t}=q,{infinity:r,sort:n,value:o}=Rs(de("signatureHex",e)),i=hi.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Qe(o.slice(0,s)),c=Qe(o.slice(s));if(r)return i.ZERO;let u=q.create(a&Bt(q.BITS)),p=q.create(c),d=W.create({c0:p,c1:u}),l=W.add(W.pow(d,Os),fc.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=_>Pe&&_*ht/t!==g,b=_===Pe&&h*ht/t!==g;(m||b)&&(f=W.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var hi=ju({fields:{Fp:q,Fp2:W,Fp6:kh,Fp12:X,Fr:Uh},G1:{...zn,Fp:q,htfDefaults:{...uc,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(Wr).negate().multiplyUnsafe(Wr).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(Wr).add(t),mapToCurve:Wh,fromBytes:Mh,toBytes:qh,ShortSignature:{fromBytes(e){return fe(e),zu(e)},fromHex(e){return zu(e)},toBytes(e){return dc(e)},toRawBytes(e){return dc(e)},toHex(e){return j(dc(e))}}},G2:{...fc,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...uc},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:zh,isTorsionFree:(e,t)=>t.multiplyUnsafe(Wr).negate().equals(Wu(e,t)),clearCofactor:(e,t)=>{let r=Wr,n=t.multiplyUnsafe(r).negate(),o=Wu(e,t),i=t.double();return i=Lh(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:Kh,toBytes:jh,Signature:{fromBytes(e){return fe(e),Yu(e)},fromHex(e){return Yu(e)},toBytes(e){return pc(e)},toRawBytes(e){return pc(e)},toHex(e){return j(pc(e))}}},params:{ateLoopSize:Wr,r:zn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:uc,hash:Ve}),Hh=ec(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))))),Gh=ec(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)))),$h=nc(q,{A:q.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:q.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:q.create(BigInt(11))}),Jh=nc(W,{A:W.create({c0:q.create(Pe),c1:q.create(BigInt(240))}),B:W.create({c0:q.create(BigInt(1012)),c1:q.create(BigInt(1012))}),Z:W.create({c0:q.create(BigInt(-2)),c1:q.create(BigInt(-1))})});function Wh(e){let{x:t,y:r}=$h(q.create(e[0]));return Gh(t,r)}function zh(e){let{x:t,y:r}=Jh(W.fromBigTuple(e));return Hh(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 hi.verifyShortSignature(o,i,n)}var Zh=BigInt(1e6),hc=e=>_e(new St(e)),zr=e=>{let r=hc(e)/Zh;return new Date(Number(r))};var Xu=60*1e3,Xh=60,Qh=24,em=Qh*Xh,tm=5,rm=5,nm=30*em,pe;(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"})(pe||(pe={}));function om(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var at=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=tm,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Ke(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return Ir(t,this.cert.tree)}lookup_subtree(t){return yi(t,this.cert.tree)}async verify(){let t=await Is(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=sm(r),i=K(Fa,t),s=Ie(this.lookup_path(["time"]));if(!s)throw ee.fromCode(new vt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Xu,u=new Date,p=u.getTime()+a,d=p-c,l=p+rm*Xu,f=zr(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 Me.fromCode(new mr(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ae.fromCode(new Re("System time has been synced with the IC network, but certificate is still too far in the future.")):Me.fromCode(new mr(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Me.fromCode(new vt("Invalid signature"))}catch(a){throw Me.fromCode(new vt("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:nm,agent:this.#t});if(r.cert.delegation)throw ee.fromCode(new ki);await r.verify();let n;if(ed(this._principal)){let i=this._principal.canisterId;if(n=k.fromUint8Array(t.subnet_id),!mc({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Me.fromCode(new Dn(i,n))}else if(Qu(this._principal))n=this._principal.subnetId;else throw ut;let o=Ie(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw Qu(this._principal)?Me.fromCode(new Li(n)):Me.fromCode(new Mi(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(ed(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function Qu(e){return"subnetId"in e}function ed(e){return"canisterId"in e}var mi=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),im=96;function sm(e){let t=mi.byteLength+im;if(e.byteLength!==t)throw ee.fromCode(new ro(t,e.byteLength));let r=e.slice(0,mi.byteLength);if(!jn(r,mi))throw ee.fromCode(new ji(mi,r));return e.slice(mi.byteLength)}function Ie(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function Is(e){switch(e[0]){case pe.Empty:return Ve(vs("ic-hashtree-empty"));case pe.Pruned:return e[1];case pe.Leaf:return Ve(K(vs("ic-hashtree-leaf"),e[1]));case pe.Labeled:return Ve(K(vs("ic-hashtree-labeled"),e[1],await Is(e[2])));case pe.Fork:return Ve(K(vs("ic-hashtree-fork"),await Is(e[1]),await Is(e[2])));default:throw ut}}function vs(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function td(e){return typeof e[0]=="string"?G(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var Yr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Yr||(Yr={}));var le;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(le||(le={}));function Ir(e,t){if(e.length===0)switch(t[0]){case pe.Empty:return{status:Be.Absent};case pe.Leaf:{if(!t[1])throw ae.fromCode(new Mr("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 ut}case pe.Pruned:return{status:Be.Unknown};case pe.Labeled:case pe.Fork:return{status:Be.Error};default:throw ut}let r=td(e),n=_i(r,t);switch(n.status){case le.Found:return Ir(e.slice(1),n.value);case le.Absent:case le.Greater:case le.Less:return{status:Be.Absent};case le.Unknown:return{status:Be.Unknown};default:throw ut}}function yi(e,t){if(e.length===0)return{status:Yr.Found,value:t};let r=td(e),n=_i(r,t);switch(n.status){case le.Found:return yi(e.slice(1),n.value);case le.Unknown:return{status:Yr.Unknown};case le.Absent:case le.Greater:case le.Less:return{status:Yr.Absent};default:throw ut}}function Ss(e){switch(e[0]){case pe.Empty:return[];case pe.Fork:return Ss(e[1]).concat(Ss(e[2]));default:return[e]}}function _i(e,t){switch(t[0]){case pe.Labeled:return om(e,t[1])?{status:le.Greater}:jn(e,t[1])?{status:le.Found,value:t[2]}:{status:le.Less};case pe.Fork:{let r=_i(e,t[1]);switch(r.status){case le.Greater:{let n=_i(e,t[2]);return n.status===le.Less?{status:le.Absent}:n}case le.Unknown:{let n=_i(e,t[2]);return n.status===le.Less?{status:le.Unknown}:n}default:return r}}case pe.Pruned:return{status:le.Unknown};default:return{status:le.Absent}}}function As(e,t){switch(t[0]){case pe.Empty|pe.Pruned:return[];case pe.Leaf:return[e];case pe.Fork:return As(e,t[1]).concat(As(e,t[2]));case pe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return As(o,n)}default:throw ut}}function mc(e){let t=am(e),r=_c(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function am(e){let{subnetId:t,tree:r,canisterId:n}=e,o=yi(["canister_ranges",t.toUint8Array()],r);if(o.status!==Yr.Found)return cm(t,r);let i=o.value,s=lm(i);if(s.length===0)throw ee.fromCode(new Dn(n,t));s.sort(io);let a=um(s,n),c=s[a];return dm(c,i)}function cm(e,t){let r=Ir(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw ee.fromCode(new It(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function _c(e){return Ke(e).map(n=>[k.fromUint8Array(n[0]),k.fromUint8Array(n[1])])}function lm(e){let t=[];for(let r of As([],e)){let n=r[0];if(!n)throw ee.fromCode(new vt("Path is invalid"));t.push(n)}return t}function um(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);io(e[i],r)<=0?o=i:n=i+1}return n}function dm(e,t){let r=Ir([e],t);if(r.status!==Be.Found)throw ee.fromCode(new It(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function yc(e,t){return e.delegation?k.fromUint8Array(e.delegation.subnet_id):k.selfAuthenticating(t)}var rd=k.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function Cs(e,t){switch(t){case"raw":return e;case"leb128":return hc(e);case"cbor":return Ke(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function nd(e){return Ke(e).map(r=>k.fromUint8Array(r))}function od(e,t){let r=typeof e=="string"?G(e):e;return[G("canister"),t,G("metadata"),r]}function Zr(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function To(e,t){let r=yi(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==Yr.Found)throw ee.fromCode(new It("Node not found",r.status));if(r.value instanceof Uint8Array)throw ae.fromCode(new Mr("Invalid node tree"));let n=Ss(r.value),o=new Map;return n.forEach(i=>{let s=k.from(i[1]).toText(),a=Ir(["public_key"],i[2]);if(a.status!==Be.Found)throw ee.fromCode(new It("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw ee.fromCode(new ro(44,c.byteLength));o.set(s,c)}),o}var id=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=k.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=fm(c,o);return(async()=>{try{if(t.rootKey===null)throw me.fromCode(new lt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await at.create({certificate:l.certificate,rootKey:d,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="subnet"){let y=pm(l.certificate,o,d);return{path:b,data:y}}else return{path:b,data:Ie(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(_,zr(g));break}case"controllers":{s.set(_,nd(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:Zr(_)&&s.set(_.key,Cs(g,_.decodeStrategy))}}catch(d){if(d instanceof ot&&(d.hasCode(vt)||d.hasCode(mr)))throw d;Zr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},pm=(e,t,r)=>{if(!t._isPrincipal)throw Y.fromCode(new Re("Invalid canisterId"));let n=Ke(e),{delegation:o}=n,i;o&&o.subnet_id?i=k.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=k.selfAuthenticating(new Uint8Array(r)):i=rd;let s=To(n,i);return{subnetId:i.toText(),nodeKeys:s}},fm=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"controllers":return[G("canister"),r,G("controllers")];case"module_hash":return[G("canister"),r,G("module_hash")];case"subnet":return[G("subnet")];case"candid":return[G("canister"),r,G("metadata"),G("candid:service")];default:if(Zr(e))return typeof e.path=="string"||e.path instanceof Uint8Array?od(e.path,r):e.path}throw ae.fromCode(new Re(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function sd(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=k.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=hm(c,o);return(async()=>{try{if(t.rootKey===null)throw me.fromCode(new lt);let d=t.rootKey,l=await t.readSubnetState(o,{paths:[p]}),f=await at.create({certificate:l.certificate,rootKey:d,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="nodeKeys"){let y=To(m.cert,o);return{path:b,data:y}}else return{path:b,data:Ie(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(_,zr(g));break}case"canisterRanges":{s.set(_,_c(g));break}case"publicKey":{s.set(_,g);break}case"nodeKeys":{s.set(_,g);break}default:Zr(_)&&s.set(_.key,Cs(g,_.decodeStrategy))}}catch(d){if(d instanceof ot&&(d.hasCode(vt)||d.hasCode(mr)))throw d;Zr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function hm(e,t){let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"canisterRanges":return[G("canister_ranges"),r];case"publicKey":return[G("subnet"),r,G("public_key")];case"nodeKeys":return[G("subnet"),r,G("node")];default:if(Zr(e))if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?G(e.path):e.path;return[G("subnet"),r,n]}else return e.path}throw ae.fromCode(new Re(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}var Xr=BigInt(0),Ae=BigInt(1),gc=BigInt(2),mm=BigInt(8);function _m(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 ym(e,t={}){let r=ws("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;Or(t,{},{uvRatio:"function"});let a=gc<<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:Xr}}});if(!_m(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,m,b=!1){let y=b?Ae:Xr;return gs("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=$r((g,m)=>{let{X:b,Y:y,Z:T}=g,O=g.is0();m==null&&(m=O?mm:n.inv(T));let R=c(b*m),E=c(y*m),I=n.mul(T,m);if(O)return{x:Xr,y:Ae};if(I!==Ae)throw new Error("invZ was invalid");return{x:R,y:E}}),f=$r(g=>{let{a:m,d:b}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:O,T:R}=g,E=c(y*y),I=c(T*T),w=c(O*O),v=c(w*w),V=c(E*m),S=c(w*c(V+I)),x=c(v+c(b*c(E*I)));if(S!==x)throw new Error("bad point: equation left != right (1)");let N=c(y*T),F=c(O*R);if(N!==F)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,b,y,T){this.X=p("x",m),this.Y=p("y",b),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:b,y}=m||{};return p("x",b),p("y",y),new h(b,y,Ae,c(b*y))}static fromBytes(m,b=!1){let y=n.BYTES,{a:T,d:O}=i;m=Ga(Gr(m,y,"point")),Gn(b,"zip215");let R=Ga(m),E=m[y-1];R[y-1]=E&-129;let I=Tr(R),w=b?a:n.ORDER;gs("point.y",I,Xr,w);let v=c(I*I),V=c(v-Ae),S=c(O*v-T),{isValid:x,value:N}=u(V,S);if(!x)throw new Error("bad point: invalid y coordinate");let F=(N&Ae)===Ae,B=(E&128)!==0;if(!b&&N===Xr&&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(m,b=!1){return h.fromBytes(de("point",m),b)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,b=!0){return _.createCache(this,m),b||this.multiply(gc),this}assertValidity(){f(this)}equals(m){d(m);let{X:b,Y:y,Z:T}=this,{X:O,Y:R,Z:E}=m,I=c(b*E),w=c(O*T),v=c(y*E),V=c(R*T);return I===w&&v===V}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:b,Y:y,Z:T}=this,O=c(b*b),R=c(y*y),E=c(gc*c(T*T)),I=c(m*O),w=b+y,v=c(c(w*w)-O-R),V=I+R,S=V-E,x=I-R,N=c(v*S),F=c(V*x),B=c(v*x),L=c(S*V);return new h(N,F,L,B)}add(m){d(m);let{a:b,d:y}=i,{X:T,Y:O,Z:R,T:E}=this,{X:I,Y:w,Z:v,T:V}=m,S=c(T*I),x=c(O*w),N=c(E*y*V),F=c(R*v),B=c((T+O)*(I+w)-S-x),L=F-N,A=F+N,C=c(x-b*S),P=c(B*L),D=c(A*C),M=c(B*C),te=c(L*A);return new h(P,D,te,M)}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:b,f:y}=_.cached(this,m,T=>ft(h,T));return ft(h,[b,y])[0]}multiplyUnsafe(m,b=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===Xr?h.ZERO:this.is0()||m===Ae?this:_.unsafe(this,m,y=>ft(h,y),b)}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:b}=this.toAffine(),y=n.toBytes(b);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 ft(h,m)}static msm(m,b){return xo(h,o,m,b)}_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(Xr,Ae,Ae,Xr),h.Fp=n,h.Fn=o;let _=new go(h,o.BITS);return h.BASE.precompute(8),h}var Fs=class{constructor(t){this.ep=t}static fromBytes(t){_o()}static fromHex(t){_o()}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 gm(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Or(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||to,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,v,V)=>{if(Gn(V,"phflag"),v.length||V)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 V=de("hashed private key",t(w),2*v),S=c(V.slice(0,v)),x=V.slice(v,2*v),N=p(S);return{head:S,prefix:x,scalar:N}}function l(w){let{head:v,prefix:V,scalar:S}=d(w),x=o.multiply(S),N=x.toBytes();return{head:v,prefix:V,scalar:S,point:x,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...v){let V=K(...v);return p(t(u(V,de("context",w),!!n)))}function _(w,v,V={}){w=de("message",w),n&&(w=n(w));let{prefix:S,scalar:x,pointBytes:N}=l(v),F=h(V.context,S,w),B=o.multiply(F).toBytes(),L=h(V.context,B,N,w),A=s.create(F+L*x);if(!s.isValid(A))throw new Error("sign failed: invalid s");let C=K(B,s.toBytes(A));return Gr(C,y.signature,"result")}let g={zip215:!0};function m(w,v,V,S=g){let{context:x,zip215:N}=S,F=y.signature;w=de("signature",w,F),v=de("message",v),V=de("publicKey",V,y.publicKey),N!==void 0&&Gn(N,"zip215"),n&&(v=n(v));let B=F/2,L=w.subarray(0,B),A=Tr(w.subarray(B,F)),C,P,D;try{C=e.fromBytes(V,N),P=e.fromBytes(L,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&C.isSmallOrder())return!1;let M=h(x,P.toBytes(),C.toBytes(),v);return P.add(C.multiplyUnsafe(M)).subtract(D).clearCofactor().is0()}let b=i.BYTES,y={secretKey:b,publicKey:b,signature:2*b,seed:b};function T(w=a(y.seed)){return Gr(w,y.seed,"seed")}function O(w){let v=I.randomSecretKey(w);return{secretKey:v,publicKey:f(v)}}function R(w){return Lt(w)&&w.length===s.BYTES}function E(w,v){try{return!!e.fromBytes(w,v)}catch{return!1}}let I={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:R,isValidPublicKey:E,toMontgomery(w){let{y:v}=e.fromBytes(w),V=y.publicKey,S=V===32;if(!S&&V!==57)throw new Error("only defined for 25519 and 448");let x=S?i.div(Ae+v,Ae-v):i.div(v-Ae,v+Ae);return i.toBytes(x)},toMontgomerySecret(w){let v=y.secretKey;Gr(w,v);let V=t(w.subarray(0,v));return c(V).subarray(0,v)},randomPrivateKey:T,precompute(w=8,v=e.BASE){return v.precompute(w,!1)}};return Object.freeze({keygen:O,getPublicKey:f,sign:_,verify:m,utils:I,Point:e,lengths:y})}function xm(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=Ge(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 bm(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function ad(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=xm(e),i=ym(t,r),s=gm(i,n,o);return bm(e,s)}var wm=BigInt(0),Ar=BigInt(1),cd=BigInt(2),qx=BigInt(3),Tm=BigInt(5),Nm=BigInt(8),No=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),gi={p:No,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Nm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Om(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=No,a=e*e%i*e%i,c=Dt(a,cd,i)*a%i,u=Dt(c,Ar,i)*e%i,p=Dt(u,Tm,i)*u%i,d=Dt(p,t,i)*p%i,l=Dt(d,r,i)*d%i,f=Dt(l,n,i)*l%i,h=Dt(f,o,i)*f%i,_=Dt(h,o,i)*f%i,g=Dt(_,t,i)*p%i;return{pow_p_5_8:Dt(g,cd,i)*e%i,b2:a}}function Em(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var xc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Tc(e,t){let r=No,n=ce(t*t*t,r),o=ce(n*n*t,r),i=Om(e*o).pow_p_5_8,s=ce(e*n*i,r),a=ce(t*s*s,r),c=s,u=ce(s*xc,r),p=a===e,d=a===ce(-e,r),l=a===ce(-e*xc,r);return p&&(s=c),(d||l)&&(s=u),Er(s,r)&&(s=ce(-s,r)),{isValid:p||d,value:s}}var Qr=Ge(gi.p,{isLE:!0}),Rm=Ge(gi.n,{isLE:!0}),vm={...gi,Fp:Qr,hash:Il,adjustScalarBytes:Em,uvRatio:Tc},We=ad(vm);var bc=xc,Im=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Am=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Sm=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Cm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),ld=e=>Tc(Ar,e),Fm=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),wc=e=>We.Point.Fp.create(Tr(e)&Fm);function ud(e){let{d:t}=gi,r=No,n=m=>Qr.create(m),o=n(bc*e*e),i=n((o+Ar)*Sm),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=Tc(i,a),p=n(u*e);Er(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-Ar)*Cm-a),l=u*u,f=n((u+u)*a),h=n(d*Im),_=n(Ar-l),g=n(Ar+l);return new We.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Vm(e){fe(e,64);let t=wc(e.subarray(0,32)),r=ud(t),n=wc(e.subarray(32,64)),o=ud(n);return new Sr(r.add(o))}var Sr=class e extends Fs{constructor(t){super(t)}static fromAffine(t){return new e(We.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Vm(de("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=gi,o=No,i=T=>Qr.create(T),s=wc(t);if(!bu(Qr.toBytes(s),t)||Er(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}=ld(i(l*d)),_=i(h*u),g=i(h*_*l),m=i((s+s)*_);Er(m,o)&&(m=i(-m));let b=i(c*g),y=i(m*b);if(!f||Er(y,o)||b===wm)throw new Error("invalid ristretto255 encoding 2");return new e(new We.Point(m,b,Ar,y))}static fromHex(t){return e.fromBytes(de("ristrettoHex",t,32))}static msm(t,r){return xo(e,We.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=No,s=g=>Qr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=ld(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(Er(o*f,i)){let g=s(r*bc),m=s(t*bc);t=g,r=m,h=s(d*Am)}else h=l;Er(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return Er(_,i)&&(_=s(-_)),Qr.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Qr.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)}};Sr.BASE=new Sr(We.Point.BASE);Sr.ZERO=new Sr(We.Point.ZERO);Sr.Fp=Qr;Sr.Fn=Rm;var dd,pd,Vs=class{static{dd=Symbol.iterator,pd=Symbol.toStringTag}#e;#t;constructor(t={}){this[dd]=this.entries.bind(this),this[pd]="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 fd=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 qo("Length too long (> 4 bytes)"))},hd=(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 qo("Length too long (> 4 bytes)"))},Nc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw Y.fromCode(new At("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 At("Length too long (> 4 bytes)"))},Pm=(e,t)=>{let r=Nc(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 At("Length too long (> 4 bytes)"))},xi=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Yn=Uint8Array.from([48,5,6,3,43,101,112]),Gx=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),$x=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 Zn(e,t){let r=2+fd(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+fd(n)+n);return i[o++]=48,o+=hd(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=hd(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Xn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw Y.fromCode(new At(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Nc(o,r),!jn(o.slice(r,r+t.byteLength),t))throw Y.fromCode(new At("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Pm(o,r)-1;r+=Nc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw Y.fromCode(new Ki(i,s.length));return s};var Ps=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 Zn(t,Yn)}static derDecode(t){let r=Xn(t,Yn);if(r.length!==this.RAW_KEY_LENGTH)throw Y.fromCode(new At("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 At("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 Oc=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 Oc{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 Ds=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 Jt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Jt||(Jt={}));var vc=60*1e3,Bm=1e6,Dm=0,Um="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var km="ic0.app",Lm=".ic0.app",qm="icp0.io",Mm=".icp0.io",jm="icp-api.io",Km=".icp-api.io",Ec=200,Hm=202,Gm=404;function $m(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw me.fromCode(new oo("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 me.fromCode(new oo("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 me.fromCode(new oo("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function Jm(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 Cr=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c;#w;#s;#u;#f;#l;get#E(){return this.#l*vc}#h;#m;#_;#y;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Dm,this.#i=!1,this.#a=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new Bs,this.#h=[],this.#m=[],this.#_=new Vs({expirationTime:5*vc}),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=k.fromUint8Array(d).toText(),f;if(s===Br.Replied){let{reply:b}=o;f=Xo({status:s,reply:b,timestamp:BigInt(p),request_id:c})}else if(s===Br.Rejected){let{reject_code:b,reject_message:y,error_code:T}=o;f=Xo({status:s,reject_code:b,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ae.fromCode(new Re(`Unknown status: ${s}`));let h=K(Va,f),_=i.get(l);if(!_)throw ee.fromCode(new es);let g=Ps.fromDer(_).rawKey;if(!We.verify(u.signature,h,g))throw Me.fromCode(new ts(l))}return o},this.config=t,this.#o=t.fetch||$m()||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(Um);let r=Jm(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#y=t.verifyQuerySignatures),this.#u=t.retryTimes??3;let n=()=>new Ds({maxIterations:this.#u});if(this.#f=t.backoffStrategy||n,this.host.hostname.endsWith(Lm)?this.host.hostname=km:this.host.hostname.endsWith(Mm)?this.host.hostname=qm:this.host.hostname.endsWith(Km)&&(this.host.hostname=jm),t.credentials){let{name:o,password:i}=t.credentials;this.#s=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new it),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw Y.fromCode(new Mt("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw Y.fromCode(new Mt("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",qa(si)),t.useQueryNonces&&this.addTransform("query",qa(si)),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 Zi)}}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 me.fromCode(new qr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw me.fromCode(new qr);let s=k.from(t),a=r.effectiveCanisterId?k.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),u=Rc(this.#l,this.#r),p={request_type:ms.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:wr.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=oi(d.body),_=this.#f(),g=xr(p);try{let y=o?()=>{let E=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,d),this.#o(E,{...this.#w,...d.request,body:h})}:()=>{let E=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,d),this.#o(E,{...this.#w,...d.request,body:h})},{responseBodyBytes:T,...O}=await this.#g({requestFn:y,backoff:_,tries:0}),R=T.byteLength>0?Ke(T):null;return{requestId:g,response:{...O,body:R},requestDetails:p}}catch(m){let b;if(m instanceof ot){if(m.hasCode(jo))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(Mt)&&!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},b=m}else b=ae.fromCode(new Re(m));throw this.log.error(`Error while making call: ${b.message}`,b),b}}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 ae.fromCode(new Un(`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
53
|
${m}
|
|
54
|
-
Retrying query.`),await this.#b({...t,tries:a+1});throw
|
|
54
|
+
Retrying query.`),await this.#b({...t,tries:a+1});throw Lo.fromCode(new Ko(m))}let d=Ma(p.headers);if(p.status!==Ec){let m=await p.text();if(md(m))throw Y.fromCode(new Mt(m,this.#l));if(a<this.#u)return await this.#b({...t,tries:a+1});throw ee.fromCode(new Mo(p.status,p.statusText,d,m))}let f={...Ke(uo(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 ee.fromCode(new Xi("Timestamp not found in query response. This suggests a malformed or malicious response."));let _=Number(BigInt(h)/BigInt(Bm));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 Me.fromCode(new $i(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 ee.fromCode(new Un(`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===Ec&&(a=uo(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.#g({requestFn:r,backoff:n,tries:o+1});throw Eo.fromCode(new Ao(p))}let c=La(s.headers);if(s.status===Nc||s.status===Zm)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===Xm&&s.url.includes("api/v4"))throw ne.fromCode(new vo);if(Rd(u))throw Y.fromCode(new Bt(u,this.#l));if(o<this.#u)return await this.#g({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new Io(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?k.from(r.effectiveCanisterId):k.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 Fr);let c=k.from(t),u=a.getPrincipal(),p=Oc(this.#l,this.#r),d={request_type:Fn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=pr(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:hr.Query,body:d}),s=await a.transformRequest(s);let f=Ho(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 qi);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(Bt)&&!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 Fr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:hr.ReadState,body:{request_type:Fn.ReadState,paths:t.paths,sender:o,ingress_expiry:Oc(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#x();let i=k.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(Cn(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 Fr);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=k.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:Ho(n.body)}),backoff:i,tries:0});return Me(s)}catch(s){let a;if(s instanceof nt){if(s.hasCode(Bt)&&!this.#i){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw lt;return await this.#N(t,r,n,o)}s.code.requestContext={requestId:o??pr(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 Vr("Could not decode time from response"));let o=wr(["time"],r);if(o.status!==De.Found)throw ne.fromCode(new Tt("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 Ii("Time was not in its expected format."));let i=jr(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??k.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 _d({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 yd({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 ct(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=k.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=k.selfAuthenticating(n);if(!fc({canisterId:r,subnetId:c,tree:i.cert.tree}))throw Le.fromCode(new En(r,c))}let s=mc(i.cert,n),a=uo(i.cert,s);return this.#_.set(r.toText(),a),a}async getSubnetIdFromCanister(t){let r=k.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 mc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===hr.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 Oc(e,t){let r=e*Ec;return no.fromDeltaInMilliseconds(r,t)}function Rd(e){return e.includes("Invalid request expiry: ")}var t_=300*1e3;function Id(){return s_(n_(r_(),1e3),i_(1e3,1.2),o_(t_))}function r_(){let e=!0;return async()=>e?(e=!1,!0):!1}function n_(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function o_(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new Rn(`Request timed out after ${e} msec`,n,o))}}function i_(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function s_(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var Ad={preSignReadStateRequest:!1};function Sd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Rc(e,t){return e!==null&&typeof e=="object"&&Sd(e,t)}function c_(e,t){return Sd(e,t)&&typeof e[t]=="function"}function vd(e){return Rc(e,"body")&&Rc(e.body,"content")&&e.body.content.request_type===Fn.ReadState&&Rc(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&c_(e.body.content.ingress_expiry,"toHash")}async function Ic(e,t,r,n={}){let o=[$("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await l_({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 ct);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=Mt.Unknown:p=new TextDecoder().decode(u),p){case Mt.Replied:return{reply:ve(c.lookup_path([...o,"reply"])),certificate:c};case Mt.Received:case Mt.Unknown:case Mt.Processing:{let d=n.strategy??Id();return await d(t,r,p),Ic(e,t,r,{...n,strategy:d,request:s})}case Mt.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 Pr.fromCode(new Gn(r,d,l,h))}case Mt.Done:throw ce.fromCode(new Di(r))}throw lt}async function l_(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&vd(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!vd(o))throw Y.fromCode(new Ki(o));return o}var ht=Symbol.for("ic-agent-metadata"),ho=class e{static agentOf(t){return t[ht].config.agent}static interfaceOf(t){return t[ht].service}static canisterIdOf(t){return k.from(t[ht].config.canisterId)}static createActorClass(t,r){let n=t({IDL:Sn});class o extends e{constructor(s){if(!s.canisterId)throw Y.fromCode(new So(s.canisterId));let a=typeof s.canisterId=="string"?k.fromText(s.canisterId):s.canisterId;super({config:{...Cd,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(vc),r?.certificate&&u.annotations.push(Pd),this[c]=d_(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw Y.fromCode(new So(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[ht]=Object.freeze(t)}};function fo(e,t){let r=Sn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Cd={pollingOptions:Ad},vc="http-details",Pd="certificate";function d_(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[ht].config.queryTransform?.(t,a,{...e[ht].config,...s})};let c=s.agent||e[ht].config.agent||new Or,u=k.from(s.canisterId||e[ht].config.canisterId),p=Sn.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 vr.Rejected:{let f=new Vi(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Pr.fromCode(f)}case vr.Replied:return r.annotations.includes(vc)?{httpDetails:l,result:fo(r.retTypes,d.reply.arg)}:fo(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[ht].config.callTransform?.(t,a,{...e[ht].config,...s})};let c=s.agent||e[ht].config.agent||Or.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...Cd,...e[ht].config,...s},l=k.from(u),f=p!==void 0?k.from(p):l,h=Sn.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(bl(g.body)){if(c.rootKey==null)throw ye.fromCode(new ct);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],P=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 Gn(_,I,P,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Pr.fromCode(N)}}}else if(xl(g.body)){let{reject_code:R,reject_message:v,error_code:w}=g.body,I=new Bi(_,R,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Pr.fromCode(I)}if(g.status===202){let R={...d,blsVerify:n},v=await Ic(c,f,_,R);y=v.certificate,x=v.reply}let T=r.annotations.includes(vc),E=r.annotations.includes(Pd),O={...g,requestDetails:m};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:fo(r.retTypes,x)}:E?{certificate:y,result:fo(r.retTypes,x)}:T?{httpDetails:O,result:fo(r.retTypes,x)}:fo(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 p_=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(p_||{}),Wb=BigInt(1e8);var U=e=>e==null,W=e=>!U(e),Er=e=>W(e)&&e!=="",mt=e=>!Er(e);var f_=class extends Error{},ai=(e,t)=>{if(e==null)throw new f_(t)};var Rr=e=>new Uint8Array(e),Os=e=>Array.from(e);var Vd=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var Fd="abcdefghijklmnopqrstuvwxyz234567",si=Object.create(null);for(let e=0;e<Fd.length;e++)si[Fd[e]]=e;si[0]=si.o;si[1]=si.i;var Jr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Bd=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),zb=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 Ac="__bigint__",Sc="__principal__",Cc="__uint8array__",Dd=(e,t)=>typeof t=="bigint"?{[Ac]:`${t}`}:W(t)&&k.isPrincipal(t)?{[Sc]:k.from(t).toText()}:W(t)&&t instanceof Uint8Array?{[Cc]:Array.from(t)}:t,Ud=(e,t)=>{let r=n=>t[n];return W(t)&&typeof t=="object"&&Ac in t?BigInt(r(Ac)):W(t)&&typeof t=="object"&&Sc in t?k.fromText(r(Sc)):W(t)&&typeof t=="object"&&Cc in t?Uint8Array.from(r(Cc)):t};var se=e=>W(e)?[e]:[],be=e=>e?.[0];var h_=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=m_({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},m_=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Os(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 __(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 y_(e){return qn(e,ii)}var g_=class{constructor(e){this._cose=e,this.#e=y_(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},jd=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new g_(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Jr(this.#e)}},x_=class extends jd{#e;#t;constructor({authData:e,...t}){super(t);let r=h_({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}},b_=class extends jd{},w_=class extends Error{},T_=class extends Error{},N_=class extends Error{},O_=class extends Error{},E_=class extends Error{},R_=class extends Error{},I_=class extends Error{},kd=class extends Error{};var v_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},A_=6e4,Kd=()=>window.crypto.getRandomValues(new Uint8Array(16)),S_=()=>Kd(),C_=()=>Kd(),P_=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new w_}},Hd=({appId:e})=>e?.id??P_(),F_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:Hd({appId:e})}}),o=()=>({user:{id:C_(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:S_(),...n(),...o(),pubKeyCredParams:Object.values(v_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},V_=(e={})=>({rpId:Hd(e),allowCredentials:[],userVerification:"required"}),Pc=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}},Wr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Wr||{}),$d=({timeout:e})=>AbortSignal.timeout(e??A_),B_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...V_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:$d({timeout:n})}),Ld=e=>{if(e.status!=="initialized")throw new T_},qd=e=>{if(U(e))throw new N_},Md=({type:e})=>{if(e!=="public-key")throw new O_},Fc=class ci extends qt{#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=ci.#r({credential:new x_(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:F_(t),signal:$d({timeout:r})});qd(o),Md(o);let{response:{attestationObject:i},rawId:s}=o;if(U(i))throw new E_;let{authData:a}=es.decode(Rr(i)),c=__(a);return new ci({...n,rawId:Rr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ci(t)}getPublicKey(){Ld(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){Ld(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Pc({fn:async()=>{let n=await B_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return qd(n),Md(n),n},step:0,onProgress:this.#e});return await Pc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Vd({a:this.#t.credential.getCredentialId(),b:Rr(n)}))throw new R_;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:Rr(n)});this.#t=ci.#r({credential:new b_({rawId:Rr(n),cose:i})})},step:1,onProgress:this.#e}),await Pc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(U(i))throw new kd;if(U(s))throw new kd;let a=es.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:Rr(s)});if(U(a))throw new I_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},D_=async()=>W(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var mo=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 Ue=class e extends mo{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 li=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var _o="http://127.0.0.1:5987",Gd="rdmx6-jaaaa-aaaaa-aaadq-cai";var Jd=async({identity:e,container:t})=>{let n=W(t)&&t!==!1?t===!0?_o:t:"https://icp-api.io",o=W(t);return await Or.create({identity:e,shouldFetchRootKey:o,host:n})};var yo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(U(this.#e)||U(this.#e[n])){let o=await Jd({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var go=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(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(U(this.#e)||U(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 yo.getInstance().getAgent(n);return ho.createActor(t,{agent:o,canisterId:r})}};function Wd(e){return e!==null&&typeof e=="object"}var ui=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}else if(Wd(t)){let r=t;if(Wd(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Dt(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(Dt(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=qn(t,Ln);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Mn(t,Ln);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}},at=class e extends qt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Ge.utils.randomPrivateKey()),Ml(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(ui.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(ui.fromRaw(t),r)}static fromSecretKey(t){let r=Ge.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=ui.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)),Dt(a)));return Ge.verify(o,i,s)}};var Vc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function zd(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 Vc("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 _t=class e extends qt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=zd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Dt(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=zd(r),o=Dt(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=Dt(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Es=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 k.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 Rs(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function Bc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var zr=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:Rs(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function U_(e,t,r,n){let o=new zr(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...Pa,...new Uint8Array(pr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Ct=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await U_(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 zr(Bc(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return k.fromHex(d)})),signature:Bc(a)}});return new this(o,Bc(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:Rs(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:Rs(n)}}),publicKey:Rs(this.publicKey)}}},Pt=class extends qt{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 pr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Lo,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},di=class e extends Es{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Dc(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"?k.fromText(o):o)):r.push(typeof n=="string"?k.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 Yd=["mousedown","mousemove","keydown","touchstart","wheel"],pi=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),Yd.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);Yd.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 k_=(e,t)=>t.some(r=>e instanceof r),Zd,Xd;function L_(){return Zd||(Zd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function q_(){return Xd||(Xd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Qd=new WeakMap,kc=new WeakMap,ep=new WeakMap,Uc=new WeakMap,qc=new WeakMap;function M_(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(jt(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(()=>{}),qc.set(t,e),t}function j_(e){if(kc.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)});kc.set(e,t)}var Lc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return kc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||ep.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return jt(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 tp(e){Lc=e(Lc)}function K_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Is(this),t,...r);return ep.set(n,t.sort?t.sort():[t]),jt(n)}:q_().includes(e)?function(...t){return e.apply(Is(this),t),jt(Qd.get(this))}:function(...t){return jt(e.apply(Is(this),t))}}function H_(e){return typeof e=="function"?K_(e):(e instanceof IDBTransaction&&j_(e),k_(e,L_())?new Proxy(e,Lc):e)}function jt(e){if(e instanceof IDBRequest)return M_(e);if(Uc.has(e))return Uc.get(e);let t=H_(e);return t!==e&&(Uc.set(e,t),qc.set(t,e)),t}var Is=e=>qc.get(e);function np(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=jt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(jt(s.result),c.oldVersion,c.newVersion,jt(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 $_=["get","getKey","getAll","getAllKeys","count"],G_=["put","add","delete","clear"],Mc=new Map;function rp(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Mc.get(t))return Mc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=G_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||$_.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 Mc.set(t,i),i}tp(e=>({...e,get:(t,r,n)=>rp(t,r)||e.get(t,r,n),has:(t,r)=>!!rp(t,r)||e.has(t,r)}));var op="auth-client-db",ip="ic-keyval",J_=async(e=op,t=ip,r)=>(globalThis.localStorage?.getItem(Je)&&(globalThis.localStorage.removeItem(Je),globalThis.localStorage.removeItem(We)),await np(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function W_(e,t,r){return await e.get(t,r)}async function z_(e,t,r,n){return await e.put(t,n,r)}async function Y_(e,t,r){return await e.delete(t,r)}var vs=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=op,storeName:n=ip,version:o=sp}=t??{},i=await J_(r,n,o);return new e(i,n)}async set(t,r){return await z_(this._db,this._storeName,t,r)}async get(t){return await W_(this._db,this._storeName,t)??null}async remove(t){return await Y_(this._db,this._storeName,t)}};var We="identity",Je="delegation",ap="iv",sp=1,fi=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}},Kt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}vs.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 Z_=BigInt(1e9),X_=BigInt(3600),Q_=Z_*X_,ey="https://identity.internetcomputer.org",ty="#authorize",ry=BigInt(8)*Q_,jc="ECDSA",Kc="Ed25519",ny=500,As="UserInterrupt",hi=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 Kt,n=t.keyType??jc,o=null;if(t.identity)o=t.identity;else{let c=await r.get(We);if(!c)try{let u=new fi,p=await u.get(Je),d=await u.get(We);p&&d&&n===jc&&(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===Kc&&typeof c=="string"?o=at.fromJSON(c):o=await _t.fromKeyPair(c):typeof c=="string"&&(o=at.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=Ct.fromJSON(c),Dc(s)?"toDer"in o?i=di.fromDelegation(o,s):i=Pt.fromDelegation(o,s):(await Hc(r),o=null))}catch(c){console.error(c),await Hc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=pi.create(t.idleOptions)),o||(n===Kc?o=at.generate():(t.storage&&n===jc&&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 '${Kc}' as the key type, as it can serialize to a string`),o=await _t.generate()),await cp(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 zr(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Ct.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=di.fromDelegation(i,this._chain):this._identity=Pt.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=pi.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(Je,JSON.stringify(this._chain.toJSON())),await cp(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Dc(this._chain)}async login(t){let r=oy(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??ry,o=new URL(r?.identityProvider?.toString()||ey);o.hash=ty,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(As,r?.onError):setTimeout(i,ny))};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 Hc(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 Hc(e){await e.remove(We),await e.remove(Je),await e.remove(ap)}function oy(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function iy(e){if(e instanceof _t)return e.getKeyPair();if(e instanceof at)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function cp(e,t){let r=iy(t);await e.set(We,r)}var Pe=class e{static#e;#t;constructor(){}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await hi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new Kt().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 Kt;await Promise.all([n.set(We,r.getKeyPair()),n.set(Je,JSON.stringify(t.toJSON()))])}};var $c=async e=>{await sy(),await Pe.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},sy=async()=>{await Pe.getInstance().logout(),Ue.getInstance().reset(),go.getInstance().reset(),yo.getInstance().reset()};var lp=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{li({message:"junoSignOutAuthTimer"}),await $c()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":li({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},Ue.getInstance().subscribe(o=>{if(U(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var xo=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 U(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"&&Er(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 mo{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 mi=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await ay({fn:e});!r||!t||Se.getInstance().get()?.syncTabs===!1||cy()},up=async({fn:e})=>{let{createAuthClient:t}=Pe.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},ay=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Pe.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},cy=()=>{try{xo.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 dp="juno.datastore.error.user.cannot_update";var Ht={certified:!1};var Ss=()=>Pe.getInstance().getAuthClient()?.getIdentity(),ly=async()=>{let{getAuthClient:e,createAuthClient:t}=Pe.getInstance();return(e()??await t()).getIdentity()},uy=async()=>{let e=Ue.getInstance().get();if(U(e))return null;let t=Pe.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var de=e=>W(e)?e:Ss()??new ot;var Jc=({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)}),P=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}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(F),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)))}),Gt=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}),Xr=e.Variant({OpenId:Zr}),Qr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),en=e.Record({signature:e.Vec(e.Nat8),delegation:Qr}),Jt=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:en,Err:Jt}),Wt=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),tn=e.Record({clear_existing_assets:e.Opt(e.Bool)}),rn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:tn,SegmentsDeployment:rn}),Qe=e.Record({status:Wt,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}),zt=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(zt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),Yt=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)}),yt=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}),nn=e.Variant({Callback:e.Record({token:yt,callback:e.Func([],[],["query"])})}),Zt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(nn),status_code:e.Nat16}),on=e.Record({token:e.Opt(yt),body:e.Vec(e.Nat8)}),gt=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}),xt=e.Record({batch_id:e.Nat}),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,L)),items_length:e.Nat64}),an=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),cn=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}),ln=e.Record({desc:e.Bool}),Xt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),un=e.Record({order:e.Opt(ln),paginate:e.Opt(Xt)}),dn=e.Record({proposal_id:e.Nat}),Qt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(dn,Qe)),items_length:e.Nat64}),pn=e.Record({include_system:e.Bool}),fn=e.Record({matcher:e.Opt(pn)}),hn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),mn=e.Record({stable:e.Nat64,heap:e.Nat64}),_n=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),yn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),gn=e.Record({controller:yn,controllers:e.Vec(e.Principal)}),xn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),er=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(zt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),bn=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)))}),tr=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([P,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([],[Gt],[]),get_db_config:e.Func([],[e.Opt(ae)],["query"]),get_delegation:e.Func([Xr],[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([P,e.Text],[e.Opt(tt)],["query"]),get_storage_config:e.Func([],[re],["query"]),http_request:e.Func([Yt],[Zt],["query"]),http_request_streaming_callback:e.Func([yt],[on],["query"]),init_asset_upload:e.Func([gt],[xt],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([gt,e.Nat],[xt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(gt),e.Nat],[e.Vec(e.Tuple(e.Text,xt))],[]),list_assets:e.Func([e.Text,O],[sn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,an))],["query"]),list_docs:e.Func([e.Text,O],[cn],["query"]),list_proposals:e.Func([un],[Qt],["query"]),list_rules:e.Func([P,fn],[hn],["query"]),memory_size:e.Func([],[mn],["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([_n],[ee],[]),set_controllers:e.Func([gn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([xn],[ae],[]),set_doc:e.Func([e.Text,e.Text,er],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,er))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([P,e.Text,ke],[tt],[]),set_storage_config:e.Func([bn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([tr],[rt],[]),upload_proposal_asset_chunk:e.Func([tr],[rt],[])})},Wc=({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)}),P=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}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(F),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)))}),Gt=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}),Xr=e.Variant({OpenId:Zr}),Qr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),en=e.Record({signature:e.Vec(e.Nat8),delegation:Qr}),Jt=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:en,Err:Jt}),Wt=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),tn=e.Record({clear_existing_assets:e.Opt(e.Bool)}),rn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:tn,SegmentsDeployment:rn}),Qe=e.Record({status:Wt,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}),zt=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(zt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),Yt=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)}),yt=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}),nn=e.Variant({Callback:e.Record({token:yt,callback:e.Func([],[],[])})}),Zt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(nn),status_code:e.Nat16}),on=e.Record({token:e.Opt(yt),body:e.Vec(e.Nat8)}),gt=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}),xt=e.Record({batch_id:e.Nat}),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,L)),items_length:e.Nat64}),an=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),cn=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}),ln=e.Record({desc:e.Bool}),Xt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),un=e.Record({order:e.Opt(ln),paginate:e.Opt(Xt)}),dn=e.Record({proposal_id:e.Nat}),Qt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(dn,Qe)),items_length:e.Nat64}),pn=e.Record({include_system:e.Bool}),fn=e.Record({matcher:e.Opt(pn)}),hn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),mn=e.Record({stable:e.Nat64,heap:e.Nat64}),_n=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),yn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),gn=e.Record({controller:yn,controllers:e.Vec(e.Principal)}),xn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),er=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(zt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),bn=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)))}),tr=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([P,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([],[Gt],[]),get_db_config:e.Func([],[e.Opt(ae)],[]),get_delegation:e.Func([Xr],[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([P,e.Text],[e.Opt(tt)],[]),get_storage_config:e.Func([],[re],[]),http_request:e.Func([Yt],[Zt],[]),http_request_streaming_callback:e.Func([yt],[on],[]),init_asset_upload:e.Func([gt],[xt],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([gt,e.Nat],[xt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(gt),e.Nat],[e.Vec(e.Tuple(e.Text,xt))],[]),list_assets:e.Func([e.Text,O],[sn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,an))],[]),list_docs:e.Func([e.Text,O],[cn],[]),list_proposals:e.Func([un],[Qt],[]),list_rules:e.Func([P,fn],[hn],[]),memory_size:e.Func([],[mn],[]),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([_n],[ee],[]),set_controllers:e.Func([gn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([xn],[ae],[]),set_doc:e.Func([e.Text,e.Text,er],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,er))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([P,e.Text,ke],[tt],[]),set_storage_config:e.Func([bn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([tr],[rt],[]),upload_proposal_asset_chunk:e.Func([tr],[rt],[])})},dy=({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)}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(P),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)}),F=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(F),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}),Gt=e.Record({e12s:e.Nat64}),Zr=e.Record({updated_at:e.Nat64,fee_cycles:Gt,fee_icp:e.Opt(t)}),Xr=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)}),Jt=e.Variant({AssetsUpgrade:Qr,SegmentsDeployment:en}),Ze=e.Record({status:Xr,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:Jt}),Wt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tn=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)}),rn=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:rn,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}),zt=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}),Yt=e.Record({batch_id:e.Nat}),yt=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),nn=e.Record({field:yt,desc:e.Bool}),Zt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),on=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Zt),description:e.Opt(e.Text),created_at:e.Opt(Zt)}),gt=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),xt=e.Record({order:e.Opt(nn),owner:e.Opt(e.Principal),matcher:e.Opt(on),paginate:e.Opt(gt)}),sn=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}),an=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),cn=e.Record({key:sn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,an)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ln=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,cn)),items_length:e.Nat64}),Xt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),un=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Xt,expires_at:e.Opt(e.Nat64)}),dn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Qt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),pn=e.Record({status:Qt,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)}),fn=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),hn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),mn=e.Record({status:Qt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:hn}),_n=e.Record({desc:e.Bool}),yn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),gn=e.Record({order:e.Opt(_n),paginate:e.Opt(yn)}),xn=e.Record({proposal_id:e.Nat}),er=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(xn,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),bn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),tr=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}),na=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),oa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Xt,expires_at:e.Opt(e.Nat64)}),ia=e.Record({controller:oa,controllers:e.Vec(e.Principal)}),sa=e.Record({fee_cycles:Gt,fee_icp:e.Opt(t)}),aa=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),ca=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),la=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(F),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),ua=e.Record({segment_id:e.Principal,segment_kind:ke}),da=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),pa=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],[Wt],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([tn],[et],["query"]),http_request_streaming_callback:e.Func([Xe],[zt],["query"]),init_proposal:e.Func([Jt],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[Yt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,Yt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,xt],[ln],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,un))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,dn))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,pn))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(fn,mn))],["query"]),list_proposals:e.Func([gn],[er],["query"]),list_segments:e.Func([bn],[e.Vec(e.Tuple(tr,rt))],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([na],[B],[]),set_controllers:e.Func([ia],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,sa],[],[]),set_rate_config:e.Func([re,Wt],[],[]),set_segment:e.Func([aa],[rt],[]),set_segment_metadata:e.Func([ca],[rt],[]),set_storage_config:e.Func([la],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([ua],[],[]),upload_proposal_asset_chunk:e.Func([da],[pa],[])})},py=({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)}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(P),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)}),F=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(F),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}),Gt=e.Record({e12s:e.Nat64}),Zr=e.Record({updated_at:e.Nat64,fee_cycles:Gt,fee_icp:e.Opt(t)}),Xr=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)}),Jt=e.Variant({AssetsUpgrade:Qr,SegmentsDeployment:en}),Ze=e.Record({status:Xr,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:Jt}),Wt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tn=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)}),rn=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:rn,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}),zt=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}),Yt=e.Record({batch_id:e.Nat}),yt=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),nn=e.Record({field:yt,desc:e.Bool}),Zt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),on=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Zt),description:e.Opt(e.Text),created_at:e.Opt(Zt)}),gt=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),xt=e.Record({order:e.Opt(nn),owner:e.Opt(e.Principal),matcher:e.Opt(on),paginate:e.Opt(gt)}),sn=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}),an=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),cn=e.Record({key:sn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,an)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ln=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,cn)),items_length:e.Nat64}),Xt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),un=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Xt,expires_at:e.Opt(e.Nat64)}),dn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Qt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),pn=e.Record({status:Qt,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)}),fn=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),hn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),mn=e.Record({status:Qt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:hn}),_n=e.Record({desc:e.Bool}),yn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),gn=e.Record({order:e.Opt(_n),paginate:e.Opt(yn)}),xn=e.Record({proposal_id:e.Nat}),er=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(xn,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),bn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),tr=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}),na=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),oa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Xt,expires_at:e.Opt(e.Nat64)}),ia=e.Record({controller:oa,controllers:e.Vec(e.Principal)}),sa=e.Record({fee_cycles:Gt,fee_icp:e.Opt(t)}),aa=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),ca=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),la=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(F),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),ua=e.Record({segment_id:e.Principal,segment_kind:ke}),da=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),pa=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],[Wt],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([tn],[et],[]),http_request_streaming_callback:e.Func([Xe],[zt],[]),init_proposal:e.Func([Jt],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[Yt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,Yt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,xt],[ln],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,un))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,dn))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,pn))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(fn,mn))],[]),list_proposals:e.Func([gn],[er],[]),list_segments:e.Func([bn],[e.Vec(e.Tuple(tr,rt))],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([na],[B],[]),set_controllers:e.Func([ia],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,sa],[],[]),set_rate_config:e.Func([re,Wt],[],[]),set_segment:e.Func([aa],[rt],[]),set_segment_metadata:e.Func([ca],[rt],[]),set_storage_config:e.Func([la],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([ua],[],[]),upload_proposal_asset_chunk:e.Func([da],[pa],[])})};var fy=async({identity:e,host:t,localActor:r})=>await Or.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),hy=async({agent:e,...t})=>e??await my(t),my=async({identity:e,container:t})=>{let r=W(t)&&t!==!1;return await fy({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var pp=({satelliteId:e,certified:t=!1,...r})=>hp({canisterId:e,...r,idlFactory:t?Wc:Jc});var fp=({consoleId:e,certified:t=!1,...r})=>hp({canisterId:e,...r,idlFactory:t?py:dy}),hp=({canisterId:e,idlFactory:t,...r})=>{if(U(e))throw new Error("No canister ID provided.");return _y({canisterId:e,idlFactory:t,...r})},_y=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await hy(n);return ho.createActor(t,{agent:o,canisterId:e,...r??{}})};var mp=({satelliteId:e,container:t})=>{let{satelliteId:r}=zc({satelliteId:e}),{container:n}=Yc({container:t});if(W(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?_o:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},zc=({satelliteId:e})=>W(e)?{satelliteId:e}:Se.getInstance().get()??{satelliteId:void 0},Yc=({container:e})=>W(e)?{container:e}:Se.getInstance().get()??{container:void 0};var we=({satellite:e,options:{certified:t}})=>yp({idlFactory:t?Wc:Jc,actorKey:`stock#${t?"update":"query"}`,...e}),_p=({idlFactory:e,...t})=>yp({idlFactory:e,actorKey:"extended#query",...t}),yp=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=zc({satelliteId:e});ai(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Yc({container:t});return await go.getInstance().getActor({satelliteId:n,container:o,...r})};var Cs=class extends Error{},Ir=class extends Error{},Ps=class extends Error{},Fs=class extends Error{},bo=class extends Error{},Vs=class extends Error{},Bs=class extends Error{},Ds=class extends Error{},Us=class extends Error{};var gp=e=>{if(U(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 Us("Invalid list matcher for timestamp",e)}},Yr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:U(e)?[]:[{key:se(e.key),description:se(e.description),created_at:gp(e.createdAt),updated_at:gp(e.updatedAt)}],paginate:se(U(t)?void 0:{start_after:se(t.startAfter),limit:se(U(t.limit)?void 0:BigInt(t.limit))}),order:se(U(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(U(n)?void 0:typeof n=="string"?k.fromText(n):n)});var xp=async e=>{let t=new Blob([JSON.stringify(e,Dd)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},ks=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(),Ud)},Ls=()=>typeof window<"u";var bp=async({data:e})=>{try{return await ks(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Zc=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await xp(t),version:se(r)}},Xc=e=>{let{version:t}=e;return{version:se(t)}},jn=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 ks(i),version:be(n),...s}};var wp=async({collection:e,key:t,...r})=>{let{get_doc:n}=await we(r),o=be(await n(e,t));if(!U(o))return jn({doc:o,key:t})},Tp=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(W(c)?await jn({key:s,doc:c}):void 0)}return i},Np=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await we(r),{key:o}=t,i=await Zc(t),s=await n(e,o,i);return await jn({key:o,doc:s})},Op=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 Zc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await jn({key:s,doc:a}));return i},Ep=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await we(r),{key:o}=t;return n(e,o,Xc(t))},Rp=async({docs:e,...t})=>{let{del_many_docs:r}=await we(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Xc(i)]);await r(n)},Ip=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await we(r);return n(e,Yr(t))},vp=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,Yr(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 bp({data:l}),version:be(_),...g})}return{items:u,items_length:s,items_page:be(i),matches_length:a,matches_pages:be(c)}},Ap=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await we(r);return n(e,Yr(t))};var qs=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await wp({...r,satellite:{...e,identity:n},options:t??Ht})},FN=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await Tp({...r,satellite:{...e,identity:n},options:t??Ht})},Sp=async({satellite:e,...t})=>{let r=de(e?.identity);return await Np({...t,satellite:{...e,identity:r},options:{certified:!0}})},Cp=async({satellite:e,...t})=>{let r=de(e?.identity);return await Op({...t,satellite:{...e,identity:r},options:{certified:!0}})},VN=async({satellite:e,...t})=>{let r=de(e?.identity);return await Ep({...t,satellite:{...e,identity:r},options:{certified:!0}})},BN=async({satellite:e,...t})=>{let r=de(e?.identity);return await Rp({...t,satellite:{...e,identity:r},options:{certified:!0}})},DN=async({satellite:e,filter:t,...r})=>{let n=de(e?.identity);return await Ip({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},UN=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await vp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ht})},kN=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await Ap({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ht})};var Pp=async({provider:e})=>{let{user:t,userId:r}=await Ms();if(W(t))return t;try{return await yy({userId:r,provider:e})}catch(n){if(Gc({error:n,type:dp})){let o=await Fp({userId:r});if(W(o))return o}throw n}},Ms=async()=>{let e=Ss();if(U(e))throw new Ds("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await Fp({userId:t});return{userId:t,user:r}},Fp=({userId:e})=>qs({collection:"#user",key:e}),yy=({userId:e,...t})=>Sp({collection:"#user",doc:{key:e,data:t}});var js=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await mi({fn:async()=>{let{user:r}=await Ms();Ue.getInstance().set(r??null)},syncTabsOnSuccess:e})},Vp=async()=>{await up({fn:async({authenticated:t})=>{let n=t?Ms:()=>Promise.resolve({user:null}),{user:o}=await n();Ue.getInstance().set(o??null)}})},Ks=async({user:e})=>{await mi({fn:async()=>{Ue.getInstance().set(e)},syncTabsOnSuccess:!0})};var Bp=()=>{try{let e=xo.getInstance(),t=async()=>{await Vp(),li({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Dp=()=>{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()},Up=()=>{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()},kp=()=>{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()},Lp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GITHUB_CLIENT_ID??import.meta.env?.PUBLIC_GITHUB_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GITHUB_CLIENT_ID??e():e()},Hs=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_JUNO_API_URL??import.meta.env?.PUBLIC_JUNO_API_URL:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_JUNO_API_URL??e():e()};var qp=BigInt(144e11),Mp=!1,jp={width:576,height:576},Kp={width:424,height:576},Qc="internetcomputer.org",Hp="ic0.app",$s="id.ai";var $p=({width:e,height:t})=>{if(!Ls()||U(window)||U(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 $t=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 Gp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Gp||{});var Gs=class{async signIn({options:t,authClient:r,initAuth:n}){await $t({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await $t({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(U(r)){o(new Ir("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===As){o(new Ps(i));return}o(new Cs(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??qp,allowPinAuthentication:t?.allowPin??Mp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Js=class extends Gs{#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(U(i)||i===!1){let p=[Qc,Hp].includes(this.#e??$s);return mt(this.#e)?`https://${$s}`:p?`https://identity.${this.#e??Qc}`:`https://${this.#e}`}let s=Se.getInstance().get(),a=W(s)&&W(s?.internetIdentityId)?s.internetIdentityId:Gd,{host:c,protocol:u}=new URL(i===!0?_o:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:$p((()=>{try{let{hostname:i}=new URL(n);return i.includes($s)}catch{return!1}})()?Kp:jp)},identityProvider:n}}};var el=class extends Error{},tl=class extends Error{},rl=class extends Error{},nl=class extends Error{},ol=class extends Error{},il=class extends Error{},sl=class extends Error{},Ws=class extends Error{},al=class extends Error{},cl=class extends Error{},ll=class extends Error{constructor(e){super("GitHub OAuth initialization failed",e)}},ul=class extends Error{constructor(e){super("GitHub OAuth finalization failed",e)}};var Jp=({auth:e,identity:t})=>"satellite"in e?pp({...e.satellite,identity:t}):fp({...e.console,identity:t}),gy=async({actorParams:e,args:t})=>{let{authenticate:r}=await Jp(e);return await r(t)},xy=async({actorParams:e,args:t})=>{let{get_delegation:r}=await Jp(e);return await r(t)},by=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Ct.fromDelegations(n,Uint8Array.from(r));return{identity:Pt.fromDelegation(t,o),delegationChain:o,sessionKey:t}},zs=async({jwt:e,context:t,auth:r})=>{let n=await _t.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await wy({jwt:e,publicKey:o,context:t,auth:r});return{identity:by({sessionKey:n,delegations:i}),data:s}},wy=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await gy({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new ol("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await Ty({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 zr(Uint8Array.from(l),f,be(h)),signature:Uint8Array.from(d)}]],data:c}},Ty=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 xy({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 al("Getting delegation failed",{cause:c})}return c.Ok}throw new cl};var Wp=async({url:e})=>{try{let t=await fetch(e,{credentials:"include"});return t.ok?{success:await t.json()}:{error:new Error(`Failed to fetch ${e} (${t.status})`)}}catch(t){return{error:new ll({cause:t})}}},zp=async({url:e,body:t})=>{try{let r=await fetch(e,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?{success:await r.json()}:{error:new Error(`Failed to fetch ${e} (${r.status})`)}}catch(r){return{error:new ul({cause:r})}}};var dl="juno:auth:openid",pl={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},Ys={authUrl:"https://github.com/login/oauth/authorize",authScopes:["read:user","user:email"],initUrl:"https://api.juno.build/v1/auth/init/github",finalizeUrl:"https://api.juno.build/v1/auth/finalize/github"};var fl=e=>Jr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),Zs=({url:e})=>{try{return new URL(e)}catch{throw new el("Cannot parse authURL",{cause:e})}},Ny=()=>window.crypto.getRandomValues(new Uint8Array(32)),Oy=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 fl(Rr(o))},Ey=async({caller:e})=>{let t=Ny();return{nonce:await Oy({salt:t,caller:e}),salt:t}},Yp="__caller__",Zp="__salt__",Xp="__state__",Ry=({caller:e,state:t,salt:r})=>{let n={[Yp]:e.toJSON(),[Zp]:Jr(r),[Xp]:t};return JSON.stringify(n)},Iy=e=>{let{[Yp]:t,[Zp]:r,[Xp]:n}=JSON.parse(e);return{caller:at.fromParsedJson(t),salt:Bd(r),state:n}},hl=async({generateState:e})=>{let t=at.generate(),{nonce:r,salt:n}=await Ey({caller:t}),o=await e({nonce:r}),i=Ry({caller:t,salt:n,state:o});return sessionStorage.setItem(dl,i),{nonce:r,state:o}},Qp=()=>{let e=sessionStorage.getItem(dl);if(U(e))throw new tl;return Iy(e)};var vy=async({auth:e,context:t,redirect:{finalizeUrl:r}})=>{let{location:{search:n}}=window,o=new URLSearchParams(n),i=o.get("code"),s=o.get("state"),a=await zp({url:r,body:{code:i,state:s}});if("error"in a)throw a.error;let{success:{token:c}}=a;if(mt(c))throw new Ws;return await zs({jwt:c,auth:e,context:t})},Ay=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(mt(r)||!r.startsWith("#"))throw new il("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(mt(s)||o!==s)throw new sl("The provided state is invalid",{cause:o});if(mt(i))throw new Ws;return await zs({jwt:i,auth:e,context:t})},ml=async e=>{let t=Qp();if("github"in e){let{github:{redirect:n,auth:o}}=e,{finalizeUrl:i}=Ys;return await vy({redirect:n??{finalizeUrl:i},auth:o,context:t})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:n},auth:o}=r;return await zs({jwt:n,context:t,auth:o})}return await Ay({...r,context:t})};var Sy=({initUrl:e})=>async({nonce:t})=>{let r=Zs({url:e});r.searchParams.set("nonce",t);let n=await Wp({url:r.toString()});if("error"in n)throw n.error;let{success:{state:o}}=n;return o},Cy=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=Zs({url:e});i.searchParams.set("client_id",t);let{location:{origin:s}}=window;i.searchParams.set("redirect_uri",o??s),i.searchParams.set("scope",r.join(" ")),i.searchParams.set("state",n),window.location.href=i.toString()},Py=()=>fl(window.crypto.getRandomValues(new Uint8Array(12))),Fy=async e=>Py(),Vy=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=Zs({url: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),Er(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},By=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(U(i))throw new rl;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new nl("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function _i(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...u}=a,{authUrl:p,authScopes:d,initUrl:l}=Ys,f=await hl({generateState:Sy({initUrl:c??l})});Cy({...u,...f,authUrl:p,authScopes:d});return}let t=await hl({generateState:Fy}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=pl;return await By({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=pl;Vy({...n,...t,authUrl:o,authScopes:i})}var Xs=({url:e})=>{try{return new URL(e)}catch{return console.warn(`Cannot parse URL ${e}. Skipping option.`),null}};var Dy=async e=>{let{satelliteId:t}=Se.getInstance().get()??{satelliteId:void 0};if(U(t))throw new Ir("Satellite ID not set. Have you initialized the Satellite?");let r=Se.getInstance().get()?.container,n={auth:{satellite:{satelliteId:t,container:r}}},i=(()=>{let d="github"in e?e?.github?.options?.finalizeUrl:void 0;if(Er(d))return d;let l=Hs();return mt(l)?null:Xs({url:`${l}/v1/auth/finalize/github`})?.toString()??null})(),{identity:{delegationChain:s,sessionKey:a,identity:c},data:{doc:u}}=await ml("github"in e?{github:{redirect:W(i)?{finalizeUrl:i}:null,...n}}:{google:{redirect:null,...n}});await Pe.getInstance().setAuthClientStorage({delegationChain:s,sessionKey:a});let p=await jn({doc:u,key:c.getPrincipal().toText()});await Ks({user:p})};var ef=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Uy=()=>{window.addEventListener("beforeunload",ef,{capture:!0})},ky=()=>{window.removeEventListener("beforeunload",ef,{capture:!0})},Qs=async({fn:e})=>{try{return Uy(),await e()}finally{ky()}};function tf(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function yl(e,t){let r,n=()=>{if(r)return r;let o=indexedDB.open(e);return o.onupgradeneeded=()=>o.result.createObjectStore(t),r=tf(o),r.then(i=>{i.onclose=()=>r=void 0},()=>{}),r};return(o,i)=>n().then(s=>i(s.transaction(t,o).objectStore(t)))}var _l;function Ly(){return _l||(_l=yl("keyval-store","keyval")),_l}function rf(e,t,r=Ly()){return r("readwrite",n=>new Promise((o,i)=>{n.get(e).onsuccess=function(){try{n.put(t(this.result),e),o(tf(n.transaction))}catch(s){i(s)}}}))}var qy=class extends Error{constructor(){super("A dev identity can only be used in browser environments")}},My=class extends Error{constructor(){super("A dev identity must only be used on localhost (127.0.0.1 or localhost)")}},jy=class extends Error{constructor(e){super(`Identifier must be 32 characters or less, got ${e}`)}},Ky=yl("juno-dev-identifiers","juno-dev-identifiers-store");var nf=async({identifier:e="dev",maxTimeToLiveInMilliseconds:t}={})=>{if(!(typeof window<"u"))throw new qy;let{location:{hostname:r}}=window;if(!["127.0.0.1","localhost"].includes(r))throw new My;let n=()=>{if(e.length>32)throw new jy(e.length);return new TextEncoder().encode(e.padEnd(32,"0"))},o=async()=>{let a=n(),c=at.generate(a),u=await _t.generate({extractable:!1}),p=t??6048e5,d=await Ct.create(c,u.getPublicKey(),new Date(Date.now()+p));return{identity:Pt.fromDelegation(u,d),sessionKey:u,delegationChain:d}},i=async()=>{await rf(e,a=>{let c=Date.now();return{createdAt:a?.createdAt??c,updatedAt:c}},Ky)},s=await o();return await i(),s};var ea=class{async signIn({options:t,initAuth:r,setStorage:n}){let{sessionKey:o,delegationChain:i}=await nf(t);await n({sessionKey:o,delegationChain:i}),await r({provider:void 0})}};var ta=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Lp();if(U(r))throw new bo;let{redirect:n}=t;await _i({github:{redirect:{...n??{},clientId:r,initUrl:(()=>{let i=t?.redirect?.initUrl;if(Er(i))return i;let s=Hs();if(!mt(s))return Xs({url:`${s}/v1/auth/init/github`})?.toString()})()}}})}};var ra=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??kp();if(U(r))throw new bo;let{redirect:n}=t;await _i({google:{redirect:{...n??{},clientId:r}}})}};var of=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Cp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...W(n)&&{aaguid:Os(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var sf=(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))(sf||{}),af=(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))(af||{});var wo=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Se.getInstance().get()??{satelliteId:void 0};if(U(i))throw new Ir("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:g})=>{switch(_){case Wr.RequestingUserCredential:t?.({step:1,state:g});break;case Wr.FinalizingCredential:t?.({step:2,state:g});break;case Wr.Signing:t?.({step:3,state:g});break}},c=await $t({fn:async()=>await Fc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await $t({fn:async()=>await of({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await $t({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await $t({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(U(o))throw new Ir("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await qs({collection:"#user-webauthn",key:Jr(d),options:{certified:!0},satellite:{identity:new ot,satelliteId:o}});if(U(l))throw new Vs("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Mn(h,ii)},s=({step:d,state:l})=>{switch(d){case Wr.RequestingUserCredential:t?.({step:0,state:l});break;case Wr.FinalizingCredential:t?.({step:1,state:l});break;case Wr.Signing:t?.({step:2,state:l});break}},a=await Fc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await $t({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await $t({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await _t.generate({extractable:!1}),o=r??144e5,i=await Ct.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Pt.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Kt;await Promise.all([n.set(We,t.getKeyPair()),n.set(Je,JSON.stringify(r.getDelegation().toJSON()))])}};var cf=async({provider:e})=>{await mi({fn:async()=>{let r=await Pp({provider:e});Ue.getInstance().set(r)},syncTabsOnSuccess:!0})},$y=async e=>{if("google"in e){let{google:{options:t}}=e;await yi({fn:()=>new ra().signIn({options:t}),context:{windowGuard:!1}});return}if("github"in e){let{github:{options:t}}=e;await yi({fn:()=>new ta().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await yi({fn:()=>new wo().signIn({options:t,loadAuth:()=>js({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await yi({fn:()=>new Js({domain:n}).signIn({options:o,authClient:Pe.getInstance().getAuthClient(),initAuth:cf}),context:r});return}if("dev"in e){let{dev:{options:t}}=e,{setAuthClientStorage:r}=Pe.getInstance();await yi({fn:()=>new ea().signIn({options:t,initAuth:cf,setStorage:r}),context:{windowGuard:!1}});return}throw new Fs("An unknown or unsupported provider was provided for sign-in.")},yi=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Qs({fn:e})};var Gy=async e=>{let t=async()=>await Jy(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Qs({fn:t})},Jy=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new wo().signUp({options:t,loadAuthWithUser:Ks});return}throw new Bs("An unknown or unsupported provider was provided for sign-up.")};var B1=e=>e?.data?.provider==="webauthn",D1=e=>e?.data?.provider==="google";var q1=async({idlFactory:e,satellite:t})=>{let r=de(t?.identity);return await _p({idlFactory:e,...t,identity:r})};var lf=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(Wy(r));o?.onInitiatedBatch();let{chunkIds:u}=await Zy({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Yy({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var Wy=({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)}),zy=({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??[]]}},Yy=async({commitFn:e,...t})=>{let r=zy(t);await e(r)},Zy=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Ls()?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 Xy({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*Xy({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=>Qy(o)))}}var Qy=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var uf=async({asset:e,...t})=>{let r=await we(t);await lf({actor:r,asset:e})},df=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,Yr(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:be(s),matches_length:a,matches_pages:be(c)}},pf=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await we(r);return n(e,Yr(t))},ff=async({collection:e,fullPath:t,...r})=>(await we(r)).del_asset(e,t),hf=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)},mf=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await we(r);return n(e,Yr(t))},_f=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await we(n);return o(e,t,se(r))},yf=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await we(r);return be(await n(e,t))},gf=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 xf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var nE=e=>bf(e),oE=e=>bf({filename:e.data.name,...e}),bf=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 uf({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:wf({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...W(i)&&{token:i},name:p}},iE=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)},{items:i,...s}=await df({collection:e,filter:t??{},satellite:o,options:n??Ht}),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:wf({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:xf(E),total_length:O}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...s}},sE=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)};return await pf({collection:e,satellite:o,filter:t??{},options:n??Ht})},aE=({collection:e,fullPath:t,satellite:r})=>ff({collection:e,fullPath:t,satellite:{...r,identity:de(r?.identity)},options:{certified:!0}}),cE=({collection:e,fullPath:t,token:r,satellite:n})=>_f({collection:e,fullPath:t,token:r,satellite:{...n,identity:de(n?.identity)},options:{certified:!0}}),lE=({assets:e,satellite:t})=>hf({assets:e,satellite:{...t,identity:de(t?.identity)},options:{certified:!0}}),uE=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:de(t?.identity)};return await mf({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},dE=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await yf({...r,satellite:{...e,identity:n},options:t??Ht})},pE=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await gf({...r,satellite:{...e,identity:n},options:t??Ht})},wf=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:de(r?.identity)};return`${mp(n)}${e}${W(t)?`?token=${t}`:""}`};var eg=e=>{let t=e?.satelliteId??Dp();ai(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Up();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},TE=e=>tg(e),tg=async e=>{let t=eg(e);Se.getInstance().set(t),await js();let r=t.workers?.auth!==void 0?lp(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Bp();return[...W(r)?[r]:[],...W(n)?[n]:[]]},rg=e=>Ue.getInstance().subscribe(e),NE=rg;export{Gp as AuthClientSignInProgressStep,Ds as InitError,Js as InternetIdentityProvider,Us as ListError,Cs as SignInError,Ir as SignInInitError,bo as SignInMissingClientIdError,Fs as SignInProviderNotSupportedError,Ps as SignInUserInterruptError,Bs as SignUpProviderNotSupportedError,sf as WebAuthnSignInProgressStep,Vs as WebAuthnSignInRetrievePublicKeyError,af as WebAuthnSignUpProgressStep,NE as authSubscribe,sE as countAssets,kN as countDocs,aE as deleteAsset,VN as deleteDoc,uE as deleteFilteredAssets,DN as deleteFilteredDocs,lE as deleteManyAssets,BN as deleteManyDocs,wf as downloadUrl,dE as getAsset,qs as getDoc,uy as getIdentityOnce,pE as getManyAssets,FN as getManyDocs,q1 as getSatelliteExtendedActor,Dy as handleRedirectCallback,TE as initJuno,tg as initSatellite,D1 as isGoogleUser,D_ as isWebAuthnAvailable,B1 as isWebAuthnUser,iE as listAssets,UN as listDocs,rg as onAuthStateChange,cE as setAssetToken,Sp as setDoc,Cp as setManyDocs,$y as signIn,$c as signOut,Gy as signUp,ly as unsafeIdentity,nE as uploadBlob,oE as uploadFile};
|
|
56
|
+
Retrying request.`),await this.#g({requestFn:r,backoff:n,tries:o+1});throw Lo.fromCode(new Ko(p))}let c=Ma(s.headers);if(s.status===Ec||s.status===Hm)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===Gm&&s.url.includes("api/v4"))throw ee.fromCode(new jo);if(md(u))throw Y.fromCode(new Mt(u,this.#l));if(o<this.#u)return await this.#g({requestFn:r,backoff:n,tries:o+1});throw ee.fromCode(new Mo(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?k.from(r.effectiveCanisterId):k.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 me.fromCode(new qr);let c=k.from(t),u=a.getPrincipal(),p=Rc(this.#l,this.#r),d={request_type:Hn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=xr(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:wr.Query,body:d}),s=await a.transformRequest(s);let f=oi(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 b=this.#_.get(i.toString());if(!b)throw Me.fromCode(new Qi);return b};try{if(!this.#y)return await _();let[m,b]=await Promise.all([_(),g()]);try{return this.#T(m,b)}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 b;if(m instanceof ot){if(m.hasCode(Mt)&&!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},b=m}else b=ae.fromCode(new Re(m));throw this.log.error(`Error while making query: ${b.message}`,b),b}}#T;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw me.fromCode(new qr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:wr.ReadState,body:{request_type:Hn.ReadState,paths:t.paths,sender:o,ingress_expiry:Rc(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#x();let i=k.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(jn(l,h))return f}}let a,c;if(o)a=o;else{c=s(r);let p=await this.#n;if(!p)throw me.fromCode(new qr);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=k.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:oi(n.body)}),backoff:i,tries:0});return Ke(s)}catch(s){let a;if(s instanceof ot){if(s.hasCode(Mt)&&!this.#i){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ut;return await this.#N(t,r,n,o)}s.code.requestContext={requestId:o??xr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ae.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=Ke(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ee.fromCode(new Mr("Could not decode time from response"));let o=Ir(["time"],r);if(o.status!==Be.Found)throw ee.fromCode(new It("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 ee.fromCode(new qi("Time was not in its expected format."));let i=zr(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??k.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new it,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 id({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 ot?n:ae.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 it,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 sd({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 ot?n:ae.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 Ke(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 me.fromCode(new lt(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=k.from(t);await this.#p(r);let n=this.rootKey,o=await this.readState(r,{paths:[[G("subnet")]]}),i=await at.create({certificate:o.certificate,rootKey:n,principal:{canisterId:r},agent:this});if(!i.cert.delegation){let c=k.selfAuthenticating(n);if(!mc({canisterId:r,subnetId:c,tree:i.cert.tree}))throw Me.fromCode(new Dn(r,c))}let s=yc(i.cert,n),a=To(i.cert,s);return this.#_.set(r.toText(),a),a}async getSubnetIdFromCanister(t){let r=k.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[G("time")]]}),o=await at.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return yc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===wr.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 Rc(e,t){let r=e*vc;return mo.fromDeltaInMilliseconds(r,t)}function md(e){return e.includes("Invalid request expiry: ")}var Wm=300*1e3;function _d(){return Qm(Ym(zm(),1e3),Xm(1e3,1.2),Zm(Wm))}function zm(){let e=!0;return async()=>e?(e=!1,!0):!1}function Ym(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function Zm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ee.fromCode(new Un(`Request timed out after ${e} msec`,n,o))}}function Xm(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function Qm(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var gd={preSignReadStateRequest:!1};function xd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ic(e,t){return e!==null&&typeof e=="object"&&xd(e,t)}function t_(e,t){return xd(e,t)&&typeof e[t]=="function"}function yd(e){return Ic(e,"body")&&Ic(e.body,"content")&&e.body.content.request_type===Hn.ReadState&&Ic(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&t_(e.body.content.ingress_expiry,"toHash")}async function Ac(e,t,r,n={}){let o=[G("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await r_({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 me.fromCode(new lt);let c=await at.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),u=Ie(c.lookup_path([...o,G("status")])),p;switch(typeof u>"u"?p=Jt.Unknown:p=new TextDecoder().decode(u),p){case Jt.Replied:return{reply:Ie(c.lookup_path([...o,"reply"])),certificate:c};case Jt.Received:case Jt.Unknown:case Jt.Processing:{let d=n.strategy??_d();return await d(t,r,p),Ac(e,t,r,{...n,strategy:d,request:s})}case Jt.Rejected:{let d=new Uint8Array(Ie(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ie(c.lookup_path([...o,"reject_message"]))),f=Ie(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Lr.fromCode(new no(r,d,l,h))}case Jt.Done:throw ae.fromCode(new zi(r))}throw ut}async function r_(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&yd(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!yd(o))throw Y.fromCode(new rs(o));return o}var mt=Symbol.for("ic-agent-metadata"),Eo=class e{static agentOf(t){return t[mt].config.agent}static interfaceOf(t){return t[mt].service}static canisterIdOf(t){return k.from(t[mt].config.canisterId)}static createActorClass(t,r){let n=t({IDL:Mn});class o extends e{constructor(s){if(!s.canisterId)throw Y.fromCode(new Ho(s.canisterId));let a=typeof s.canisterId=="string"?k.fromText(s.canisterId):s.canisterId;super({config:{...bd,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Sc),r?.certificate&&u.annotations.push(wd),this[c]=o_(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw Y.fromCode(new Ho(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[mt]=Object.freeze(t)}};function Oo(e,t){let r=Mn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var bd={pollingOptions:gd},Sc="http-details",wd="certificate";function o_(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[mt].config.queryTransform?.(t,a,{...e[mt].config,...s})};let c=s.agent||e[mt].config.agent||new Cr,u=k.from(s.canisterId||e[mt].config.canisterId),p=Mn.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 Br.Rejected:{let f=new Ji(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Lr.fromCode(f)}case Br.Replied:return r.annotations.includes(Sc)?{httpDetails:l,result:Oo(r.retTypes,d.reply.arg)}:Oo(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[mt].config.callTransform?.(t,a,{...e[mt].config,...s})};let c=s.agent||e[mt].config.agent||Cr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...bd,...e[mt].config,...s},l=k.from(u),f=p!==void 0?k.from(p):l,h=Mn.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),b,y;if(ll(g.body)){if(c.rootKey==null)throw me.fromCode(new lt);let E=g.body.certificate;y=await at.create({certificate:E,rootKey:c.rootKey,principal:{canisterId:f},blsVerify:n,agent:c});let I=[G("request_status"),_];switch(new TextDecoder().decode(Ie(y.lookup_path([...I,"status"])))){case"replied":b=Ie(y.lookup_path([...I,"reply"]));break;case"rejected":{let v=new Uint8Array(Ie(y.lookup_path([...I,"reject_code"])))[0],V=new TextDecoder().decode(Ie(y.lookup_path([...I,"reject_message"]))),S=Ie(y.lookup_path([...I,"error_code"])),x=S?new TextDecoder().decode(S):void 0,N=new no(_,v,V,x);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Lr.fromCode(N)}}}else if(cl(g.body)){let{reject_code:E,reject_message:I,error_code:w}=g.body,v=new Wi(_,E,I,w);throw v.callContext={canisterId:l,methodName:t,httpDetails:g},Lr.fromCode(v)}if(g.status===202){let E={...d,blsVerify:n},I=await Ac(c,f,_,E);y=I.certificate,b=I.reply}let T=r.annotations.includes(Sc),O=r.annotations.includes(wd),R={...g,requestDetails:m};if(b!==void 0)return T&&O?{httpDetails:R,certificate:y,result:Oo(r.retTypes,b)}:O?{certificate:y,result:Oo(r.retTypes,b)}:T?{httpDetails:R,result:Oo(r.retTypes,b)}:Oo(r.retTypes,b);{let E=new Re(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(I=>I.display()).join(",")}].`);throw E.callContext={canisterId:l,methodName:t,httpDetails:R},ae.fromCode(E)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var i_=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(i_||{}),ew=BigInt(1e8);var U=e=>e==null,J=e=>!U(e),Fr=e=>J(e)&&e!=="",_t=e=>!Fr(e);var s_=class extends Error{},wi=(e,t)=>{if(e==null)throw new s_(t)};var Vr=e=>new Uint8Array(e),Us=e=>Array.from(e);var Nd=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var Td="abcdefghijklmnopqrstuvwxyz234567",bi=Object.create(null);for(let e=0;e<Td.length;e++)bi[Td[e]]=e;bi[0]=bi.o;bi[1]=bi.i;var en=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Od=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),tw=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 Cc="__bigint__",Fc="__principal__",Vc="__uint8array__",Ed=(e,t)=>typeof t=="bigint"?{[Cc]:`${t}`}:J(t)&&k.isPrincipal(t)?{[Fc]:k.from(t).toText()}:J(t)&&t instanceof Uint8Array?{[Vc]:Array.from(t)}:t,Rd=(e,t)=>{let r=n=>t[n];return J(t)&&typeof t=="object"&&Cc in t?BigInt(r(Cc)):J(t)&&typeof t=="object"&&Fc in t?k.fromText(r(Fc)):J(t)&&typeof t=="object"&&Vc in t?Uint8Array.from(r(Vc)):t};var se=e=>J(e)?[e]:[],ge=e=>e?.[0];var a_=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=c_({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},c_=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Us(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 l_(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 u_(e){return Zn(e,xi)}var d_=class{constructor(e){this._cose=e,this.#e=u_(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},Cd=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new d_(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return en(this.#e)}},p_=class extends Cd{#e;#t;constructor({authData:e,...t}){super(t);let r=a_({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}},f_=class extends Cd{},h_=class extends Error{},m_=class extends Error{},__=class extends Error{},y_=class extends Error{},g_=class extends Error{},x_=class extends Error{},b_=class extends Error{},vd=class extends Error{};var w_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},T_=6e4,Fd=()=>window.crypto.getRandomValues(new Uint8Array(16)),N_=()=>Fd(),O_=()=>Fd(),E_=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new h_}},Vd=({appId:e})=>e?.id??E_(),R_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:Vd({appId:e})}}),o=()=>({user:{id:O_(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:N_(),...n(),...o(),pubKeyCredParams:Object.values(w_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},v_=(e={})=>({rpId:Vd(e),allowCredentials:[],userVerification:"required"}),Pc=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}},tn=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(tn||{}),Pd=({timeout:e})=>AbortSignal.timeout(e??T_),I_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...v_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:Pd({timeout:n})}),Id=e=>{if(e.status!=="initialized")throw new m_},Ad=e=>{if(U(e))throw new __},Sd=({type:e})=>{if(e!=="public-key")throw new y_},Bc=class Ti extends $t{#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=Ti.#r({credential:new p_(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:R_(t),signal:Pd({timeout:r})});Ad(o),Sd(o);let{response:{attestationObject:i},rawId:s}=o;if(U(i))throw new g_;let{authData:a}=fs.decode(Vr(i)),c=l_(a);return new Ti({...n,rawId:Vr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new Ti(t)}getPublicKey(){Id(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){Id(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Pc({fn:async()=>{let n=await I_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return Ad(n),Sd(n),n},step:0,onProgress:this.#e});return await Pc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Nd({a:this.#t.credential.getCredentialId(),b:Vr(n)}))throw new x_;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:Vr(n)});this.#t=Ti.#r({credential:new f_({rawId:Vr(n),cose:i})})},step:1,onProgress:this.#e}),await Pc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(U(i))throw new vd;if(U(s))throw new vd;let a=fs.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:Vr(s)});if(U(a))throw new b_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},A_=async()=>J(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var Ro=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 Ro{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 Ni=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var vo="http://127.0.0.1:5987",Bd="rdmx6-jaaaa-aaaaa-aaadq-cai";var Dd=async({identity:e,container:t})=>{let n=J(t)&&t!==!1?t===!0?vo:t:"https://icp-api.io",o=J(t);return await Cr.create({identity:e,shouldFetchRootKey:o,host:n})};var Io=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(U(this.#e)||U(this.#e[n])){let o=await Dd({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var Ao=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(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(U(this.#e)||U(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 Io.getInstance().getAgent(n);return Eo.createActor(t,{agent:o,canisterId:r})}};function Ud(e){return e!==null&&typeof e=="object"}var Oi=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}else if(Ud(t)){let r=t;if(Ud(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(jt(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(jt(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=Zn(t,Yn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Xn(t,Yn);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}},ct=class e extends $t{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=We.utils.randomPrivateKey()),Sl(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=We.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(Oi.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(Oi.fromRaw(t),r)}static fromSecretKey(t){let r=We.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=Oi.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=We.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)),jt(a)));return We.verify(o,i,s)}};var Dc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function kd(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 Dc("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 yt=class e extends $t{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=kd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=jt(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=kd(r),o=jt(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=jt(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var ks=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 k.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 Ls(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function Uc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var rn=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:Ls(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function S_(e,t,r,n){let o=new rn(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...Pa,...new Uint8Array(xr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Ut=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await S_(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 rn(Uc(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return k.fromHex(d)})),signature:Uc(a)}});return new this(o,Uc(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:Ls(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:Ls(n)}}),publicKey:Ls(this.publicKey)}}},kt=class extends $t{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 xr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Qo,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Ei=class e extends ks{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function kc(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"?k.fromText(o):o)):r.push(typeof n=="string"?k.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 Ld=["mousedown","mousemove","keydown","touchstart","wheel"],Ri=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),Ld.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);Ld.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 C_=(e,t)=>t.some(r=>e instanceof r),qd,Md;function F_(){return qd||(qd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function V_(){return Md||(Md=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var jd=new WeakMap,qc=new WeakMap,Kd=new WeakMap,Lc=new WeakMap,jc=new WeakMap;function P_(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Wt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&jd.set(r,e)}).catch(()=>{}),jc.set(t,e),t}function B_(e){if(qc.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)});qc.set(e,t)}var Mc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return qc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Kd.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Wt(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 Hd(e){Mc=e(Mc)}function D_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(qs(this),t,...r);return Kd.set(n,t.sort?t.sort():[t]),Wt(n)}:V_().includes(e)?function(...t){return e.apply(qs(this),t),Wt(jd.get(this))}:function(...t){return Wt(e.apply(qs(this),t))}}function U_(e){return typeof e=="function"?D_(e):(e instanceof IDBTransaction&&B_(e),C_(e,F_())?new Proxy(e,Mc):e)}function Wt(e){if(e instanceof IDBRequest)return P_(e);if(Lc.has(e))return Lc.get(e);let t=U_(e);return t!==e&&(Lc.set(e,t),jc.set(t,e)),t}var qs=e=>jc.get(e);function $d(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Wt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Wt(s.result),c.oldVersion,c.newVersion,Wt(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 k_=["get","getKey","getAll","getAllKeys","count"],L_=["put","add","delete","clear"],Kc=new Map;function Gd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Kc.get(t))return Kc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=L_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||k_.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 Kc.set(t,i),i}Hd(e=>({...e,get:(t,r,n)=>Gd(t,r)||e.get(t,r,n),has:(t,r)=>!!Gd(t,r)||e.has(t,r)}));var Jd="auth-client-db",Wd="ic-keyval",q_=async(e=Jd,t=Wd,r)=>(globalThis.localStorage?.getItem(ze)&&(globalThis.localStorage.removeItem(ze),globalThis.localStorage.removeItem(Ye)),await $d(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function M_(e,t,r){return await e.get(t,r)}async function j_(e,t,r,n){return await e.put(t,n,r)}async function K_(e,t,r){return await e.delete(t,r)}var Ms=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=Jd,storeName:n=Wd,version:o=zd}=t??{},i=await q_(r,n,o);return new e(i,n)}async set(t,r){return await j_(this._db,this._storeName,t,r)}async get(t){return await M_(this._db,this._storeName,t)??null}async remove(t){return await K_(this._db,this._storeName,t)}};var Ye="identity",ze="delegation",Yd="iv",zd=1,vi=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}},zt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}Ms.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 H_=BigInt(1e9),G_=BigInt(3600),$_=H_*G_,J_="https://identity.internetcomputer.org",W_="#authorize",z_=BigInt(8)*$_,Hc="ECDSA",Gc="Ed25519",Y_=500,js="UserInterrupt",Ii=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 zt,n=t.keyType??Hc,o=null;if(t.identity)o=t.identity;else{let c=await r.get(Ye);if(!c)try{let u=new vi,p=await u.get(ze),d=await u.get(Ye);p&&d&&n===Hc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ze,p),await r.set(Ye,d),c=p,await u.remove(ze),await u.remove(Ye))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===Gc&&typeof c=="string"?o=ct.fromJSON(c):o=await yt.fromKeyPair(c):typeof c=="string"&&(o=ct.fromJSON(c))}catch{}}let i=new it,s=null;if(o)try{let c=await r.get(ze);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=Ut.fromJSON(c),kc(s)?"toDer"in o?i=Ei.fromDelegation(o,s):i=kt.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=Ri.create(t.idleOptions)),o||(n===Gc?o=ct.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 '${Gc}' as the key type, as it can serialize to a string`),o=await yt.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 rn(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Ut.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=Ei.fromDelegation(i,this._chain):this._identity=kt.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=Ri.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(ze,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&&kc(this._chain)}async login(t){let r=Z_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??z_,o=new URL(r?.identityProvider?.toString()||J_);o.hash=W_,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(js,r?.onError):setTimeout(i,Y_))};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 it,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function $c(e){await e.remove(Ye),await e.remove(ze),await e.remove(Yd)}function Z_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function X_(e){if(e instanceof yt)return e.getKeyPair();if(e instanceof ct)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Zd(e,t){let r=X_(t);await e.set(Ye,r)}var Fe=class e{static#e;#t;constructor(){}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await Ii.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new zt().remove(Ye),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new zt;await Promise.all([n.set(Ye,r.getKeyPair()),n.set(ze,JSON.stringify(t.toJSON()))])}};var Jc=async e=>{await Q_(),await Fe.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},Q_=async()=>{await Fe.getInstance().logout(),De.getInstance().reset(),Ao.getInstance().reset(),Io.getInstance().reset()};var Xd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{Ni({message:"junoSignOutAuthTimer"}),await Jc()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":Ni({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},De.getInstance().subscribe(o=>{if(U(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var So=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 U(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&&J(o)&&o.msg==="authClientLoginSuccess"&&Fr(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 Ro{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 Ai=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await ey({fn:e});!r||!t||Se.getInstance().get()?.syncTabs===!1||ty()},Qd=async({fn:e})=>{let{createAuthClient:t}=Fe.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},ey=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Fe.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},ty=()=>{try{So.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var Wc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var ep="juno.datastore.error.user.cannot_update";var Yt={certified:!1};var Ks=()=>Fe.getInstance().getAuthClient()?.getIdentity(),ry=async()=>{let{getAuthClient:e,createAuthClient:t}=Fe.getInstance();return(e()??await t()).getIdentity()},ny=async()=>{let e=De.getInstance().get();if(U(e))return null;let t=Fe.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var ue=e=>J(e)?e:Ks()??new it;var zc=({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,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),g=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),y=e.Variant({JwtFindProvider:u,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),T=e.Variant({PrepareAutomation:y,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:T}),R=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),E=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),I=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),w=e.Record({field:I,desc:e.Bool}),v=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),V=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(v),description:e.Opt(e.Text),created_at:e.Opt(v)}),S=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),x=e.Record({order:e.Opt(w),owner:e.Opt(e.Principal),matcher:e.Opt(V),paginate:e.Opt(S)}),N=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),B=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),L=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:B,expires_at:e.Opt(e.Nat64)}),A=e.Record({version:e.Opt(e.Nat64)}),C=e.Variant({Db:e.Null,Storage:e.Null}),P=e.Record({version:e.Opt(e.Nat64)}),D=e.Record({proposal_ids:e.Vec(e.Nat)}),M=e.Record({cycles:e.Nat,destination_id:e.Principal}),te=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}),re=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),z=e.Record({key:te,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,re)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),be=e.Variant({GitHub:e.Null,Google:e.Null}),we=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),Ze=e.Record({delegation:e.Opt(we),client_id:e.Text}),oe=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(be,Ze))}),ne=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),gt=e.Record({allowed_callers:e.Vec(e.Principal)}),xt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(oe),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(gt)}),on=e.Variant({GitHub:e.Null}),sn=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),an=e.Record({owner:e.Text,name:e.Text}),Xt=e.Record({refs:e.Opt(e.Vec(e.Text))}),et=e.Record({controller:e.Opt(sn),repositories:e.Vec(e.Tuple(an,Xt))}),bt=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(on,et))}),wt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(bt),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),tt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),Ue=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(tt)}),Qt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),er=e.Variant({Deny:e.Null,Allow:e.Null}),tr=e.Record({status_code:e.Nat16,location:e.Text}),rt=e.Record({iframe:e.Opt(Qt),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(tt),raw_access:e.Opt(er),redirects:e.Opt(e.Vec(e.Tuple(e.Text,tr)))}),rr=e.Record({db:e.Opt(Ue),authentication:e.Opt(xt),storage:rt,automation:e.Opt(wt)}),cn=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),ln=e.Variant({OpenId:cn}),nr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),un=e.Record({signature:e.Vec(e.Nat8),delegation:nr}),dn=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),pn=e.Variant({Ok:un,Err:dn}),fn=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),hn=e.Record({clear_existing_assets:e.Opt(e.Bool)}),mn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),or=e.Variant({AssetsUpgrade:hn,SegmentsDeployment:mn}),ke=e.Record({status:fn,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:or}),Le=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ir=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:Le,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ir),write:Le,max_changes_per_user:e.Opt(e.Nat32)}),sr=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)}),Nt=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}),_n=e.Variant({Callback:e.Record({token:Nt,callback:e.Func([],[],["query"])})}),yn=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(_n),status_code:e.Nat16}),gn=e.Record({token:e.Opt(Nt),body:e.Vec(e.Nat8)}),Ot=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}),Et=e.Record({batch_id:e.Nat}),xn=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,z)),items_length:e.Nat64}),bn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),wn=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}),qe=e.Record({desc:e.Bool}),Tn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Nn=e.Record({order:e.Opt(qe),paginate:e.Opt(Tn)}),nt=e.Record({proposal_id:e.Nat}),On=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(nt,ke)),items_length:e.Nat64}),En=e.Record({include_system:e.Bool}),Rn=e.Record({matcher:e.Opt(En)}),vn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Tt)),items_length:e.Nat64}),ar=e.Record({stable:e.Nat64,heap:e.Nat64}),In=e.Record({openid:e.Opt(oe),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(gt)}),An=e.Record({openid:e.Opt(bt),version:e.Opt(e.Nat64)}),cr=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:B,expires_at:e.Opt(e.Nat64)}),Sn=e.Record({controller:cr,controllers:e.Vec(e.Principal)}),Cn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(tt)}),Vo=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),fa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Le,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ir),write:Le,max_changes_per_user:e.Opt(e.Nat32)}),ha=e.Record({iframe:e.Opt(Qt),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(tt),raw_access:e.Opt(er),redirects:e.Opt(e.Vec(e.Tuple(e.Text,tr)))}),Po=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Bo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([g],[O],[]),commit_asset_upload:e.Func([R],[],[]),commit_proposal:e.Func([E],[e.Null],[]),commit_proposal_asset_upload:e.Func([R],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(R)],[],[]),count_assets:e.Func([e.Text,x],[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,x],[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_controller_self:e.Func([],[],[]),del_controllers:e.Func([N],[e.Vec(e.Tuple(e.Principal,L))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,A],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,x],[],[]),del_filtered_docs:e.Func([e.Text,x],[],[]),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,A))],[],[]),del_rule:e.Func([C,e.Text,P],[],[]),delete_proposal_assets:e.Func([D],[],[]),deposit_cycles:e.Func([M],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(z)],["query"]),get_auth_config:e.Func([],[e.Opt(xt)],["query"]),get_automation_config:e.Func([],[e.Opt(wt)],["query"]),get_config:e.Func([],[rr],[]),get_db_config:e.Func([],[e.Opt(Ue)],["query"]),get_delegation:e.Func([ln],[pn],["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(z)))],["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(ke)],["query"]),get_rule:e.Func([C,e.Text],[e.Opt(Tt)],["query"]),get_storage_config:e.Func([],[rt],["query"]),http_request:e.Func([sr],[yn],["query"]),http_request_streaming_callback:e.Func([Nt],[gn],["query"]),init_asset_upload:e.Func([Ot],[Et],[]),init_proposal:e.Func([or],[e.Nat,ke],[]),init_proposal_asset_upload:e.Func([Ot,e.Nat],[Et],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Ot),e.Nat],[e.Vec(e.Tuple(e.Text,Et))],[]),list_assets:e.Func([e.Text,x],[xn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,L))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,bn))],["query"]),list_docs:e.Func([e.Text,x],[wn],["query"]),list_proposals:e.Func([Nn],[On],["query"]),list_rules:e.Func([C,Rn],[vn],["query"]),memory_size:e.Func([],[ar],["query"]),reject_proposal:e.Func([E],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([In],[xt],[]),set_automation_config:e.Func([An],[wt],[]),set_controllers:e.Func([Sn],[e.Vec(e.Tuple(e.Principal,L))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Cn],[Ue],[]),set_doc:e.Func([e.Text,e.Text,Vo],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Vo))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([C,e.Text,fa],[Tt],[]),set_storage_config:e.Func([ha],[rt],[]),submit_proposal:e.Func([e.Nat],[e.Nat,ke],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Po],[Bo],[]),upload_proposal_asset_chunk:e.Func([Po],[Bo],[])})},Yc=({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,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),g=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),y=e.Variant({JwtFindProvider:u,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),T=e.Variant({PrepareAutomation:y,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:T}),R=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),E=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),I=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),w=e.Record({field:I,desc:e.Bool}),v=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),V=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(v),description:e.Opt(e.Text),created_at:e.Opt(v)}),S=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),x=e.Record({order:e.Opt(w),owner:e.Opt(e.Principal),matcher:e.Opt(V),paginate:e.Opt(S)}),N=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),B=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),L=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:B,expires_at:e.Opt(e.Nat64)}),A=e.Record({version:e.Opt(e.Nat64)}),C=e.Variant({Db:e.Null,Storage:e.Null}),P=e.Record({version:e.Opt(e.Nat64)}),D=e.Record({proposal_ids:e.Vec(e.Nat)}),M=e.Record({cycles:e.Nat,destination_id:e.Principal}),te=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}),re=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),z=e.Record({key:te,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,re)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),be=e.Variant({GitHub:e.Null,Google:e.Null}),we=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),Ze=e.Record({delegation:e.Opt(we),client_id:e.Text}),oe=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(be,Ze))}),ne=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),gt=e.Record({allowed_callers:e.Vec(e.Principal)}),xt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(oe),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(gt)}),on=e.Variant({GitHub:e.Null}),sn=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),an=e.Record({owner:e.Text,name:e.Text}),Xt=e.Record({refs:e.Opt(e.Vec(e.Text))}),et=e.Record({controller:e.Opt(sn),repositories:e.Vec(e.Tuple(an,Xt))}),bt=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(on,et))}),wt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(bt),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),tt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),Ue=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(tt)}),Qt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),er=e.Variant({Deny:e.Null,Allow:e.Null}),tr=e.Record({status_code:e.Nat16,location:e.Text}),rt=e.Record({iframe:e.Opt(Qt),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(tt),raw_access:e.Opt(er),redirects:e.Opt(e.Vec(e.Tuple(e.Text,tr)))}),rr=e.Record({db:e.Opt(Ue),authentication:e.Opt(xt),storage:rt,automation:e.Opt(wt)}),cn=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),ln=e.Variant({OpenId:cn}),nr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),un=e.Record({signature:e.Vec(e.Nat8),delegation:nr}),dn=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),pn=e.Variant({Ok:un,Err:dn}),fn=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),hn=e.Record({clear_existing_assets:e.Opt(e.Bool)}),mn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),or=e.Variant({AssetsUpgrade:hn,SegmentsDeployment:mn}),ke=e.Record({status:fn,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:or}),Le=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ir=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:Le,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ir),write:Le,max_changes_per_user:e.Opt(e.Nat32)}),sr=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)}),Nt=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}),_n=e.Variant({Callback:e.Record({token:Nt,callback:e.Func([],[],[])})}),yn=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(_n),status_code:e.Nat16}),gn=e.Record({token:e.Opt(Nt),body:e.Vec(e.Nat8)}),Ot=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}),Et=e.Record({batch_id:e.Nat}),xn=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,z)),items_length:e.Nat64}),bn=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),wn=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}),qe=e.Record({desc:e.Bool}),Tn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Nn=e.Record({order:e.Opt(qe),paginate:e.Opt(Tn)}),nt=e.Record({proposal_id:e.Nat}),On=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(nt,ke)),items_length:e.Nat64}),En=e.Record({include_system:e.Bool}),Rn=e.Record({matcher:e.Opt(En)}),vn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Tt)),items_length:e.Nat64}),ar=e.Record({stable:e.Nat64,heap:e.Nat64}),In=e.Record({openid:e.Opt(oe),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(gt)}),An=e.Record({openid:e.Opt(bt),version:e.Opt(e.Nat64)}),cr=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:B,expires_at:e.Opt(e.Nat64)}),Sn=e.Record({controller:cr,controllers:e.Vec(e.Principal)}),Cn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(tt)}),Vo=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),fa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Le,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ir),write:Le,max_changes_per_user:e.Opt(e.Nat32)}),ha=e.Record({iframe:e.Opt(Qt),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(tt),raw_access:e.Opt(er),redirects:e.Opt(e.Vec(e.Tuple(e.Text,tr)))}),Po=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Bo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([g],[O],[]),commit_asset_upload:e.Func([R],[],[]),commit_proposal:e.Func([E],[e.Null],[]),commit_proposal_asset_upload:e.Func([R],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(R)],[],[]),count_assets:e.Func([e.Text,x],[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,x],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controller_self:e.Func([],[],[]),del_controllers:e.Func([N],[e.Vec(e.Tuple(e.Principal,L))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,A],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,x],[],[]),del_filtered_docs:e.Func([e.Text,x],[],[]),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,A))],[],[]),del_rule:e.Func([C,e.Text,P],[],[]),delete_proposal_assets:e.Func([D],[],[]),deposit_cycles:e.Func([M],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(z)],[]),get_auth_config:e.Func([],[e.Opt(xt)],[]),get_automation_config:e.Func([],[e.Opt(wt)],[]),get_config:e.Func([],[rr],[]),get_db_config:e.Func([],[e.Opt(Ue)],[]),get_delegation:e.Func([ln],[pn],[]),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(z)))],[]),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(ke)],[]),get_rule:e.Func([C,e.Text],[e.Opt(Tt)],[]),get_storage_config:e.Func([],[rt],[]),http_request:e.Func([sr],[yn],[]),http_request_streaming_callback:e.Func([Nt],[gn],[]),init_asset_upload:e.Func([Ot],[Et],[]),init_proposal:e.Func([or],[e.Nat,ke],[]),init_proposal_asset_upload:e.Func([Ot,e.Nat],[Et],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Ot),e.Nat],[e.Vec(e.Tuple(e.Text,Et))],[]),list_assets:e.Func([e.Text,x],[xn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,L))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,bn))],[]),list_docs:e.Func([e.Text,x],[wn],[]),list_proposals:e.Func([Nn],[On],[]),list_rules:e.Func([C,Rn],[vn],[]),memory_size:e.Func([],[ar],[]),reject_proposal:e.Func([E],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([In],[xt],[]),set_automation_config:e.Func([An],[wt],[]),set_controllers:e.Func([Sn],[e.Vec(e.Tuple(e.Principal,L))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Cn],[Ue],[]),set_doc:e.Func([e.Text,e.Text,Vo],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Vo))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([C,e.Text,fa],[Tt],[]),set_storage_config:e.Func([ha],[rt],[]),submit_proposal:e.Func([e.Nat],[e.Nat,ke],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Po],[Bo],[]),upload_proposal_asset_chunk:e.Func([Po],[Bo],[])})},oy=({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({GitHub:e.Null,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),preferred_username: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,InvalidObservatoryId:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),b=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)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),R=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(R)}),I=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),v=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)}),S=e.Record({delegation:e.Opt(V),client_id:e.Text}),x=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))}),F=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(x),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(F)}),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)}),C=e.Variant({Deny:e.Null,Allow:e.Null}),P=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(C),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),M=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),re=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),z=e.Variant({OpenId:re}),be=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),we=e.Record({signature:e.Vec(e.Nat8),delegation:be}),Ze=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),oe=e.Variant({Ok:we,Err:Ze}),ne=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),gt=e.Record({e12s:e.Nat64}),xt=e.Record({updated_at:e.Nat64,fee_cycles:gt,fee_icp:e.Opt(t)}),on=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),sn=e.Record({clear_existing_assets:e.Opt(e.Bool)}),an=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xt=e.Variant({AssetsUpgrade:sn,SegmentsDeployment:an}),et=e.Record({status:on,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:Xt}),bt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),wt=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)}),tt=e.Variant({Heap:e.Null,Stable:e.Null}),Ue=e.Record({memory:tt,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}),Qt=e.Variant({Callback:e.Record({token:Ue,callback:e.Func([],[],["query"])})}),er=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qt),status_code:e.Nat16}),tr=e.Record({token:e.Opt(Ue),body:e.Vec(e.Nat8)}),rt=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}),rr=e.Record({batch_id:e.Nat}),cn=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ln=e.Record({field:cn,desc:e.Bool}),nr=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),un=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(nr),description:e.Opt(e.Text),created_at:e.Opt(nr)}),dn=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),pn=e.Record({order:e.Opt(ln),owner:e.Opt(e.Principal),matcher:e.Opt(un),paginate:e.Opt(dn)}),fn=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}),hn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),mn=e.Record({key:fn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,hn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),or=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,mn)),items_length:e.Nat64}),ke=e.Variant({Emulator:e.Null,Automation:e.Null}),Le=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),ir=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ke),created_at:e.Nat64,scope:Le,expires_at:e.Opt(e.Nat64)}),Tt=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),sr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Nt=e.Record({status:sr,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)}),_n=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),yn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),gn=e.Record({status:sr,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:yn}),Ot=e.Record({desc:e.Bool}),Et=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),xn=e.Record({order:e.Opt(Ot),paginate:e.Opt(Et)}),bn=e.Record({proposal_id:e.Nat}),wn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(bn,et)),items_length:e.Nat64}),qe=e.Variant({Orbiter:e.Null,Satellite:e.Null}),Tn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(qe)}),Nn=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:qe}),nt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),On=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(F)}),En=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ke),scope:Le,expires_at:e.Opt(e.Nat64)}),Rn=e.Record({controller:En,controllers:e.Vec(e.Principal)}),vn=e.Record({fee_cycles:gt,fee_icp:e.Opt(t)}),ar=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:qe}),In=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:qe}),An=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(C),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),cr=e.Record({segment_id:e.Principal,segment_kind:qe}),Sn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Cn=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([b],[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([O],[e.Principal],[]),create_satellite:e.Func([I],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([v],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[M],["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([z],[oe],["query"]),get_fee:e.Func([ne],[xt],["query"]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(et)],["query"]),get_rate_config:e.Func([ne],[bt],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([wt],[er],["query"]),http_request_streaming_callback:e.Func([Ue],[tr],["query"]),init_proposal:e.Func([Xt],[e.Nat,et],[]),init_proposal_asset_upload:e.Func([rt,e.Nat],[rr],[]),init_proposal_many_assets_upload:e.Func([e.Vec(rt),e.Nat],[e.Vec(e.Tuple(e.Text,rr))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,pn],[or],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,ir))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Tt))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Nt))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(_n,gn))],["query"]),list_proposals:e.Func([xn],[wn],["query"]),list_segments:e.Func([Tn],[e.Vec(e.Tuple(Nn,nt))],["query"]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([On],[B],[]),set_controllers:e.Func([Rn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ne,vn],[],[]),set_many_segments:e.Func([e.Vec(ar)],[e.Vec(nt)],[]),set_rate_config:e.Func([ne,bt],[],[]),set_segment:e.Func([ar],[nt],[]),set_segment_metadata:e.Func([In],[nt],[]),set_storage_config:e.Func([An],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,et],[]),unset_many_segments:e.Func([e.Vec(cr)],[],[]),unset_segment:e.Func([cr],[],[]),upload_proposal_asset_chunk:e.Func([Sn],[Cn],[])})},iy=({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({GitHub:e.Null,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),preferred_username: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,InvalidObservatoryId:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),b=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)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),R=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(R)}),I=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),v=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)}),S=e.Record({delegation:e.Opt(V),client_id:e.Text}),x=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))}),F=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(x),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(F)}),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)}),C=e.Variant({Deny:e.Null,Allow:e.Null}),P=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(C),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),M=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),re=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),z=e.Variant({OpenId:re}),be=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),we=e.Record({signature:e.Vec(e.Nat8),delegation:be}),Ze=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),oe=e.Variant({Ok:we,Err:Ze}),ne=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),gt=e.Record({e12s:e.Nat64}),xt=e.Record({updated_at:e.Nat64,fee_cycles:gt,fee_icp:e.Opt(t)}),on=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),sn=e.Record({clear_existing_assets:e.Opt(e.Bool)}),an=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xt=e.Variant({AssetsUpgrade:sn,SegmentsDeployment:an}),et=e.Record({status:on,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:Xt}),bt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),wt=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)}),tt=e.Variant({Heap:e.Null,Stable:e.Null}),Ue=e.Record({memory:tt,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}),Qt=e.Variant({Callback:e.Record({token:Ue,callback:e.Func([],[],[])})}),er=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qt),status_code:e.Nat16}),tr=e.Record({token:e.Opt(Ue),body:e.Vec(e.Nat8)}),rt=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}),rr=e.Record({batch_id:e.Nat}),cn=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ln=e.Record({field:cn,desc:e.Bool}),nr=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),un=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(nr),description:e.Opt(e.Text),created_at:e.Opt(nr)}),dn=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),pn=e.Record({order:e.Opt(ln),owner:e.Opt(e.Principal),matcher:e.Opt(un),paginate:e.Opt(dn)}),fn=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}),hn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),mn=e.Record({key:fn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,hn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),or=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,mn)),items_length:e.Nat64}),ke=e.Variant({Emulator:e.Null,Automation:e.Null}),Le=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),ir=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ke),created_at:e.Nat64,scope:Le,expires_at:e.Opt(e.Nat64)}),Tt=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),sr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Nt=e.Record({status:sr,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)}),_n=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),yn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),gn=e.Record({status:sr,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:yn}),Ot=e.Record({desc:e.Bool}),Et=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),xn=e.Record({order:e.Opt(Ot),paginate:e.Opt(Et)}),bn=e.Record({proposal_id:e.Nat}),wn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(bn,et)),items_length:e.Nat64}),qe=e.Variant({Orbiter:e.Null,Satellite:e.Null}),Tn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(qe)}),Nn=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:qe}),nt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),On=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(F)}),En=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ke),scope:Le,expires_at:e.Opt(e.Nat64)}),Rn=e.Record({controller:En,controllers:e.Vec(e.Principal)}),vn=e.Record({fee_cycles:gt,fee_icp:e.Opt(t)}),ar=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:qe}),In=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:qe}),An=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(C),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),cr=e.Record({segment_id:e.Principal,segment_kind:qe}),Sn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Cn=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([b],[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([O],[e.Principal],[]),create_satellite:e.Func([I],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([v],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[M],[]),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([z],[oe],[]),get_fee:e.Func([ne],[xt],[]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(et)],[]),get_rate_config:e.Func([ne],[bt],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([wt],[er],[]),http_request_streaming_callback:e.Func([Ue],[tr],[]),init_proposal:e.Func([Xt],[e.Nat,et],[]),init_proposal_asset_upload:e.Func([rt,e.Nat],[rr],[]),init_proposal_many_assets_upload:e.Func([e.Vec(rt),e.Nat],[e.Vec(e.Tuple(e.Text,rr))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,pn],[or],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,ir))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Tt))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Nt))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(_n,gn))],[]),list_proposals:e.Func([xn],[wn],[]),list_segments:e.Func([Tn],[e.Vec(e.Tuple(Nn,nt))],[]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([On],[B],[]),set_controllers:e.Func([Rn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ne,vn],[],[]),set_many_segments:e.Func([e.Vec(ar)],[e.Vec(nt)],[]),set_rate_config:e.Func([ne,bt],[],[]),set_segment:e.Func([ar],[nt],[]),set_segment_metadata:e.Func([In],[nt],[]),set_storage_config:e.Func([An],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,et],[]),unset_many_segments:e.Func([e.Vec(cr)],[],[]),unset_segment:e.Func([cr],[],[]),upload_proposal_asset_chunk:e.Func([Sn],[Cn],[])})};var sy=async({identity:e,host:t,localActor:r})=>await Cr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),ay=async({agent:e,...t})=>e??await cy(t),cy=async({identity:e,container:t})=>{let r=J(t)&&t!==!1;return await sy({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var tp=({satelliteId:e,certified:t=!1,...r})=>np({canisterId:e,...r,idlFactory:t?Yc:zc});var rp=({consoleId:e,certified:t=!1,...r})=>np({canisterId:e,...r,idlFactory:t?iy:oy}),np=({canisterId:e,idlFactory:t,...r})=>{if(U(e))throw new Error("No canister ID provided.");return ly({canisterId:e,idlFactory:t,...r})},ly=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await ay(n);return Eo.createActor(t,{agent:o,canisterId:e,...r??{}})};var op=({satelliteId:e,container:t})=>{let{satelliteId:r}=Zc({satelliteId:e}),{container:n}=Xc({container:t});if(J(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?vo:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Zc=({satelliteId:e})=>J(e)?{satelliteId:e}:Se.getInstance().get()??{satelliteId:void 0},Xc=({container:e})=>J(e)?{container:e}:Se.getInstance().get()??{container:void 0};var xe=({satellite:e,options:{certified:t}})=>sp({idlFactory:t?Yc:zc,actorKey:`stock#${t?"update":"query"}`,...e}),ip=({idlFactory:e,...t})=>sp({idlFactory:e,actorKey:"extended#query",...t}),sp=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Zc({satelliteId:e});wi(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Xc({container:t});return await Ao.getInstance().getActor({satelliteId:n,container:o,...r})};var Hs=class extends Error{},Pr=class extends Error{},Gs=class extends Error{},$s=class extends Error{},Co=class extends Error{},Js=class extends Error{},Ws=class extends Error{},zs=class extends Error{},Ys=class extends Error{};var ap=e=>{if(U(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 Ys("Invalid list matcher for timestamp",e)}},nn=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:U(e)?[]:[{key:se(e.key),description:se(e.description),created_at:ap(e.createdAt),updated_at:ap(e.updatedAt)}],paginate:se(U(t)?void 0:{start_after:se(t.startAfter),limit:se(U(t.limit)?void 0:BigInt(t.limit))}),order:se(U(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(U(n)?void 0:typeof n=="string"?k.fromText(n):n)});var cp=async e=>{let t=new Blob([JSON.stringify(e,Ed)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Zs=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(),Rd)},Xs=()=>typeof window<"u";var lp=async({data:e})=>{try{return await Zs(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Qc=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await cp(t),version:se(r)}},el=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:ge(o),owner:r.toText(),data:await Zs(i),version:ge(n),...s}};var up=async({collection:e,key:t,...r})=>{let{get_doc:n}=await xe(r),o=ge(await n(e,t));if(!U(o))return Qn({doc:o,key:t})},dp=async({docs:e,...t})=>{let{get_many_docs:r}=await xe(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=ge(a);i.push(J(c)?await Qn({key:s,doc:c}):void 0)}return i},pp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await xe(r),{key:o}=t,i=await Qc(t),s=await n(e,o,i);return await Qn({key:o,doc:s})},fp=async({docs:e,...t})=>{let{set_many_docs:r}=await xe(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await Qc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Qn({key:s,doc:a}));return i},hp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await xe(r),{key:o}=t;return n(e,o,el(t))},mp=async({docs:e,...t})=>{let{del_many_docs:r}=await xe(t),n=e.map(({collection:o,doc:i})=>[o,i.key,el(i)]);await r(n)},_p=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await xe(r);return n(e,nn(t))},yp=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await xe(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,nn(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:ge(h),owner:f.toText(),data:await lp({data:l}),version:ge(_),...g})}return{items:u,items_length:s,items_page:ge(i),matches_length:a,matches_pages:ge(c)}},gp=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await xe(r);return n(e,nn(t))};var Qs=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await up({...r,satellite:{...e,identity:n},options:t??Yt})},LN=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await dp({...r,satellite:{...e,identity:n},options:t??Yt})},xp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await pp({...t,satellite:{...e,identity:r},options:{certified:!0}})},bp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await fp({...t,satellite:{...e,identity:r},options:{certified:!0}})},qN=async({satellite:e,...t})=>{let r=ue(e?.identity);return await hp({...t,satellite:{...e,identity:r},options:{certified:!0}})},MN=async({satellite:e,...t})=>{let r=ue(e?.identity);return await mp({...t,satellite:{...e,identity:r},options:{certified:!0}})},jN=async({satellite:e,filter:t,...r})=>{let n=ue(e?.identity);return await _p({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},KN=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await yp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Yt})},HN=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await gp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Yt})};var wp=async({provider:e})=>{let{user:t,userId:r}=await ea();if(J(t))return t;try{return await uy({userId:r,provider:e})}catch(n){if(Wc({error:n,type:ep})){let o=await Tp({userId:r});if(J(o))return o}throw n}},ea=async()=>{let e=Ks();if(U(e))throw new zs("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await Tp({userId:t});return{userId:t,user:r}},Tp=({userId:e})=>Qs({collection:"#user",key:e}),uy=({userId:e,...t})=>xp({collection:"#user",doc:{key:e,data:t}});var ta=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await Ai({fn:async()=>{let{user:r}=await ea();De.getInstance().set(r??null)},syncTabsOnSuccess:e})},Np=async()=>{await Qd({fn:async({authenticated:t})=>{let n=t?ea:()=>Promise.resolve({user:null}),{user:o}=await n();De.getInstance().set(o??null)}})},ra=async({user:e})=>{await Ai({fn:async()=>{De.getInstance().set(e)},syncTabsOnSuccess:!0})};var Op=()=>{try{let e=So.getInstance(),t=async()=>{await Np(),Ni({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Ep=()=>{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()},Rp=()=>{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()},vp=()=>{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()},Ip=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GITHUB_CLIENT_ID??import.meta.env?.PUBLIC_GITHUB_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GITHUB_CLIENT_ID??e():e()},na=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_JUNO_API_URL??import.meta.env?.PUBLIC_JUNO_API_URL:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_JUNO_API_URL??e():e()};var Ap=BigInt(144e11),Sp=!1,Cp={width:576,height:576},Fp={width:424,height:576},tl="internetcomputer.org",Vp="ic0.app",oa="id.ai";var Pp=({width:e,height:t})=>{if(!Xs()||U(window)||U(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 Zt=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 Bp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Bp||{});var ia=class{async signIn({options:t,authClient:r,initAuth:n}){await Zt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Zt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(U(r)){o(new Pr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===js){o(new Gs(i));return}o(new Hs(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Ap,allowPinAuthentication:t?.allowPin??Sp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var sa=class extends ia{#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(U(i)||i===!1){let p=[tl,Vp].includes(this.#e??oa);return _t(this.#e)?`https://${oa}`:p?`https://identity.${this.#e??tl}`:`https://${this.#e}`}let s=Se.getInstance().get(),a=J(s)&&J(s?.internetIdentityId)?s.internetIdentityId:Bd,{host:c,protocol:u}=new URL(i===!0?vo:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:Pp((()=>{try{let{hostname:i}=new URL(n);return i.includes(oa)}catch{return!1}})()?Fp:Cp)},identityProvider:n}}};var rl=e=>en(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),dy=()=>crypto.getRandomValues(new Uint8Array(32)),py=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 crypto.subtle.digest("SHA-256",n);return rl(Vr(o))},Dp=async({caller:e})=>{let t=dy();return{nonce:await py({salt:t,caller:e}),salt:t}};var Lp="juno:auth:openid",Up={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},qp={authUrl:"https://github.com/login/oauth/authorize",authScopes:["read:user","user:email"],initUrl:"https://api.juno.build/v1/auth/init/github",finalizeUrl:"https://api.juno.build/v1/auth/finalize/github"},fy=class extends Error{},hy=class extends Error{},my=class extends Error{},_y=class extends Error{},yy=class extends Error{},gy=class extends Error{},xy=class extends Error{},Mp=class extends Error{},by=class extends Error{},wy=class extends Error{},Ty=class extends Error{constructor(e){super("GitHub OAuth initialization failed",e)}},Ny=class extends Error{constructor(e){super("GitHub OAuth finalization failed",e)}},jp="__caller__",Kp="__salt__",Hp="__state__",Oy=({caller:e,state:t,salt:r})=>{let n={[jp]:e.toJSON(),[Kp]:en(r),[Hp]:t};return JSON.stringify(n)},Ey=e=>{let{[jp]:t,[Kp]:r,[Hp]:n}=JSON.parse(e);return{caller:ct.fromParsedJson(t),salt:Od(r),state:n}},kp=async({generateState:e})=>{let t=ct.generate(),{nonce:r,salt:n}=await Dp({caller:t}),o=await e({nonce:r}),i=Oy({caller:t,salt:n,state:o});return sessionStorage.setItem(Lp,i),{nonce:r,state:o}},Ry=()=>{let e=sessionStorage.getItem(Lp);if(U(e))throw new hy;return Ey(e)},Gp=({auth:e,identity:t})=>"satellite"in e?tp({...e.satellite,identity:t}):rp({...e.console,identity:t}),vy=async({actorParams:e,args:t})=>{let{authenticate:r}=await Gp(e);return await r(t)},Iy=async({actorParams:e,args:t})=>{let{get_delegation:r}=await Gp(e);return await r(t)},Ay=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Ut.fromDelegations(n,Uint8Array.from(r));return{identity:kt.fromDelegation(t,o),delegationChain:o,sessionKey:t}},nl=async({jwt:e,context:t,auth:r})=>{let n=await yt.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:Ay({sessionKey:n,delegations:i}),data:s}},Sy=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await vy({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new yy("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await Cy({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 rn(Uint8Array.from(l),f,ge(h)),signature:Uint8Array.from(d)}]],data:c}},Cy=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 Iy({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 by("Getting delegation failed",{cause:c})}return c.Ok}throw new wy},Fy=async({url:e})=>{try{let t=await fetch(e,{credentials:"include"});return t.ok?{success:await t.json()}:{error:new Error(`Failed to fetch ${e} (${t.status})`)}}catch(t){return{error:new Ty({cause:t})}}},Vy=async({url:e,body:t})=>{try{let r=await fetch(e,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?{success:await r.json()}:{error:new Error(`Failed to fetch ${e} (${r.status})`)}}catch(r){return{error:new Ny({cause:r})}}},Py=async({auth:e,context:t,redirect:{finalizeUrl:r}})=>{let{location:{search:n}}=window,o=new URLSearchParams(n),i=o.get("code"),s=o.get("state"),a=await Vy({url:r,body:{code:i,state:s}});if("error"in a)throw a.error;let{success:{token:c}}=a;if(_t(c))throw new Mp;return await nl({jwt:c,auth:e,context:t})},By=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(_t(r)||!r.startsWith("#"))throw new gy("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(_t(s)||o!==s)throw new xy("The provided state is invalid",{cause:o});if(_t(i))throw new Mp;return await nl({jwt:i,auth:e,context:t})},$p=async e=>{let t=Ry();if("github"in e){let{github:{redirect:n,auth:o}}=e,{finalizeUrl:i}=qp;return await Py({redirect:n??{finalizeUrl:i},auth:o,context:t})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:n},auth:o}=r;return await nl({jwt:n,context:t,auth:o})}return await By({...r,context:t})},ol=({url:e})=>{try{return new URL(e)}catch{throw new fy("Cannot parse authURL",{cause:e})}},Dy=({initUrl:e})=>async({nonce:t})=>{let r=ol({url:e});r.searchParams.set("nonce",t);let n=await Fy({url:r.toString()});if("error"in n)throw n.error;let{success:{state:o}}=n;return o},Uy=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=ol({url:e});i.searchParams.set("client_id",t);let{location:{origin:s}}=window;i.searchParams.set("redirect_uri",o??s),i.searchParams.set("scope",r.join(" ")),i.searchParams.set("state",n),window.location.href=i.toString()},ky=()=>rl(crypto.getRandomValues(new Uint8Array(12))),Ly=async e=>ky(),qy=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=ol({url: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),Fr(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},My=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(U(i))throw new my;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new _y("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function aa(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...u}=a,{authUrl:p,authScopes:d,initUrl:l}=qp,f=await kp({generateState:Dy({initUrl:c??l})});Uy({...u,...f,authUrl:p,authScopes:d});return}let t=await kp({generateState:Ly}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=Up;return await My({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=Up;qy({...n,...t,authUrl:o,authScopes:i})}var ca=({url:e})=>{try{return new URL(e)}catch{return console.warn(`Cannot parse URL ${e}. Skipping option.`),null}};var jy=async e=>{let{satelliteId:t}=Se.getInstance().get()??{satelliteId:void 0};if(U(t))throw new Pr("Satellite ID not set. Have you initialized the Satellite?");let r=Se.getInstance().get()?.container,n={auth:{satellite:{satelliteId:t,container:r}}},i=(()=>{let d="github"in e?e?.github?.options?.finalizeUrl:void 0;if(Fr(d))return d;let l=na();return _t(l)?null:ca({url:`${l}/v1/auth/finalize/github`})?.toString()??null})(),{identity:{delegationChain:s,sessionKey:a,identity:c},data:{doc:u}}=await $p("github"in e?{github:{redirect:J(i)?{finalizeUrl:i}:null,...n}}:{google:{redirect:null,...n}});await Fe.getInstance().setAuthClientStorage({delegationChain:s,sessionKey:a});let p=await Qn({doc:u,key:c.getPrincipal().toText()});await ra({user:p})};var Jp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Ky=()=>{window.addEventListener("beforeunload",Jp,{capture:!0})},Hy=()=>{window.removeEventListener("beforeunload",Jp,{capture:!0})},la=async({fn:e})=>{try{return Ky(),await e()}finally{Hy()}};function Wp(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function sl(e,t){let r,n=()=>{if(r)return r;let o=indexedDB.open(e);return o.onupgradeneeded=()=>o.result.createObjectStore(t),r=Wp(o),r.then(i=>{i.onclose=()=>r=void 0},()=>{}),r};return(o,i)=>n().then(s=>i(s.transaction(t,o).objectStore(t)))}var il;function Gy(){return il||(il=sl("keyval-store","keyval")),il}function zp(e,t,r=Gy()){return r("readwrite",n=>new Promise((o,i)=>{n.get(e).onsuccess=function(){try{n.put(t(this.result),e),o(Wp(n.transaction))}catch(s){i(s)}}}))}var $y=class extends Error{constructor(){super("A dev identity can only be used in browser environments")}},Jy=class extends Error{constructor(){super("A dev identity must only be used on localhost (127.0.0.1 or localhost)")}},Wy=class extends Error{constructor(e){super(`Identifier must be 32 characters or less, got ${e}`)}},zy=sl("juno-dev-identifiers","juno-dev-identifiers-store");var Yp=async({identifier:e="dev",maxTimeToLiveInMilliseconds:t}={})=>{if(!(typeof window<"u"))throw new $y;let{location:{hostname:r}}=window;if(!["127.0.0.1","localhost"].includes(r))throw new Jy;let n=()=>{if(e.length>32)throw new Wy(e.length);return new TextEncoder().encode(e.padEnd(32,"0"))},o=async()=>{let a=n(),c=ct.generate(a),u=await yt.generate({extractable:!1}),p=t??6048e5,d=await Ut.create(c,u.getPublicKey(),new Date(Date.now()+p));return{identity:kt.fromDelegation(u,d),sessionKey:u,delegationChain:d}},i=async()=>{await zp(e,a=>{let c=Date.now();return{createdAt:a?.createdAt??c,updatedAt:c}},zy)},s=await o();return await i(),s};var ua=class{async signIn({options:t,initAuth:r,setStorage:n}){let{sessionKey:o,delegationChain:i}=await Yp(t);await n({sessionKey:o,delegationChain:i}),await r({provider:void 0})}};var da=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Ip();if(U(r))throw new Co;let{redirect:n}=t;await aa({github:{redirect:{...n??{},clientId:r,initUrl:(()=>{let i=t?.redirect?.initUrl;if(Fr(i))return i;let s=na();if(!_t(s))return ca({url:`${s}/v1/auth/init/github`})?.toString()})()}}})}};var pa=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??vp();if(U(r))throw new Co;let{redirect:n}=t;await aa({google:{redirect:{...n??{},clientId:r}}})}};var Zp=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await bp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...J(n)&&{aaguid:Us(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var Xp=(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))(Xp||{}),Qp=(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))(Qp||{});var Fo=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Se.getInstance().get()??{satelliteId:void 0};if(U(i))throw new Pr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:g})=>{switch(_){case tn.RequestingUserCredential:t?.({step:1,state:g});break;case tn.FinalizingCredential:t?.({step:2,state:g});break;case tn.Signing:t?.({step:3,state:g});break}},c=await Zt({fn:async()=>await Bc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Zt({fn:async()=>await Zp({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Zt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Zt({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(U(o))throw new Pr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await Qs({collection:"#user-webauthn",key:en(d),options:{certified:!0},satellite:{identity:new it,satelliteId:o}});if(U(l))throw new Js("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Xn(h,xi)},s=({step:d,state:l})=>{switch(d){case tn.RequestingUserCredential:t?.({step:0,state:l});break;case tn.FinalizingCredential:t?.({step:1,state:l});break;case tn.Signing:t?.({step:2,state:l});break}},a=await Bc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Zt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Zt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await yt.generate({extractable:!1}),o=r??144e5,i=await Ut.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:kt.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new zt;await Promise.all([n.set(Ye,t.getKeyPair()),n.set(ze,JSON.stringify(r.getDelegation().toJSON()))])}};var ef=async({provider:e})=>{await Ai({fn:async()=>{let r=await wp({provider:e});De.getInstance().set(r)},syncTabsOnSuccess:!0})},Zy=async e=>{if("google"in e){let{google:{options:t}}=e;await Si({fn:()=>new pa().signIn({options:t}),context:{windowGuard:!1}});return}if("github"in e){let{github:{options:t}}=e;await Si({fn:()=>new da().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Si({fn:()=>new Fo().signIn({options:t,loadAuth:()=>ta({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Si({fn:()=>new sa({domain:n}).signIn({options:o,authClient:Fe.getInstance().getAuthClient(),initAuth:ef}),context:r});return}if("dev"in e){let{dev:{options:t}}=e,{setAuthClientStorage:r}=Fe.getInstance();await Si({fn:()=>new ua().signIn({options:t,initAuth:ef,setStorage:r}),context:{windowGuard:!1}});return}throw new $s("An unknown or unsupported provider was provided for sign-in.")},Si=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await la({fn:e})};var Xy=async e=>{let t=async()=>await Qy(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await la({fn:t})},Qy=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new Fo().signUp({options:t,loadAuthWithUser:ra});return}throw new Ws("An unknown or unsupported provider was provided for sign-up.")};var _1=e=>e?.data?.provider==="webauthn",y1=e=>e?.data?.provider==="google",g1=e=>e?.data?.provider==="github";var T1=async({idlFactory:e,satellite:t})=>{let r=ue(t?.identity);return await ip({idlFactory:e,...t,identity:r})};var tf=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(eg(r));o?.onInitiatedBatch();let{chunkIds:u}=await ng({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await rg({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var eg=({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)}),tg=({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??[]]}},rg=async({commitFn:e,...t})=>{let r=tg(t);await e(r)},ng=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Xs()?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 og({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*og({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=>ig(o)))}}var ig=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var rf=async({asset:e,...t})=>{let r=await xe(t);await tf({actor:r,asset:e})},nf=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await xe(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,nn(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:ge(s),matches_length:a,matches_pages:ge(c)}},of=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await xe(r);return n(e,nn(t))},sf=async({collection:e,fullPath:t,...r})=>(await xe(r)).del_asset(e,t),af=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await xe({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},cf=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await xe(r);return n(e,nn(t))},lf=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await xe(n);return o(e,t,se(r))},uf=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await xe(r);return ge(await n(e,t))},df=async({assets:e,...t})=>{let{get_many_assets:r}=await xe(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>ge(s))};var pf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var L1=e=>ff(e),q1=e=>ff({filename:e.data.name,...e}),ff=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=ue(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await rf({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:hf({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...J(i)&&{token:i},name:p}},M1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)},{items:i,...s}=await nf({collection:e,filter:t??{},satellite:o,options:n??Yt}),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=ge(u);return{fullPath:c,description:ge(l),name:p,downloadUrl:hf({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((b,[y,{modified:T,sha256:O,total_length:R}])=>({...b,[y]:{modified:T,sha256:pf(O),total_length:R}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...s}},j1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)};return await of({collection:e,satellite:o,filter:t??{},options:n??Yt})},K1=({collection:e,fullPath:t,satellite:r})=>sf({collection:e,fullPath:t,satellite:{...r,identity:ue(r?.identity)},options:{certified:!0}}),H1=({collection:e,fullPath:t,token:r,satellite:n})=>lf({collection:e,fullPath:t,token:r,satellite:{...n,identity:ue(n?.identity)},options:{certified:!0}}),G1=({assets:e,satellite:t})=>af({assets:e,satellite:{...t,identity:ue(t?.identity)},options:{certified:!0}}),$1=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:ue(t?.identity)};return await cf({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},J1=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await uf({...r,satellite:{...e,identity:n},options:t??Yt})},W1=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await df({...r,satellite:{...e,identity:n},options:t??Yt})},hf=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:ue(r?.identity)};return`${op(n)}${e}${J(t)?`?token=${t}`:""}`};var sg=e=>{let t=e?.satelliteId??Ep();wi(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Rp();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},oE=e=>ag(e),ag=async e=>{let t=sg(e);Se.getInstance().set(t),await ta();let r=t.workers?.auth!==void 0?Xd(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Op();return[...J(r)?[r]:[],...J(n)?[n]:[]]},cg=e=>De.getInstance().subscribe(e),iE=cg;export{Bp as AuthClientSignInProgressStep,zs as InitError,sa as InternetIdentityProvider,Ys as ListError,Hs as SignInError,Pr as SignInInitError,Co as SignInMissingClientIdError,$s as SignInProviderNotSupportedError,Gs as SignInUserInterruptError,Ws as SignUpProviderNotSupportedError,Xp as WebAuthnSignInProgressStep,Js as WebAuthnSignInRetrievePublicKeyError,Qp as WebAuthnSignUpProgressStep,iE as authSubscribe,j1 as countAssets,HN as countDocs,K1 as deleteAsset,qN as deleteDoc,$1 as deleteFilteredAssets,jN as deleteFilteredDocs,G1 as deleteManyAssets,MN as deleteManyDocs,hf as downloadUrl,J1 as getAsset,Qs as getDoc,ny as getIdentityOnce,W1 as getManyAssets,LN as getManyDocs,T1 as getSatelliteExtendedActor,jy as handleRedirectCallback,oE as initJuno,ag as initSatellite,g1 as isGitHubUser,y1 as isGoogleUser,A_ as isWebAuthnAvailable,_1 as isWebAuthnUser,M1 as listAssets,KN as listDocs,cg as onAuthStateChange,H1 as setAssetToken,xp as setDoc,bp as setManyDocs,Zy as signIn,Jc as signOut,Xy as signUp,ry as unsafeIdentity,L1 as uploadBlob,q1 as uploadFile};
|
|
57
57
|
/*! Bundled license information:
|
|
58
58
|
|
|
59
59
|
@noble/hashes/esm/utils.js:
|