@junobuild/core-standalone 5.2.2 → 5.3.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 +29 -22
- package/dist/browser/index.js.map +4 -4
- package/dist/node/index.mjs +29 -22
- package/dist/node/index.mjs.map +4 -4
- package/dist/types/auth/stores/auth-client.store.d.ts +12 -0
- package/dist/workers/auth.worker.js +12 -7
- package/dist/workers/auth.worker.js.map +4 -4
- package/package.json +5 -6
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 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+=`
|
|
3
|
+
var jf=Object.defineProperty;var Kf=(e,t)=>{for(var r in t)jf(e,r,{get:t[r],enumerable:!0})};var $f=class extends Error{},Ko=(e,t)=>{if(e==null)throw new $f(t)};var mr=e=>new Uint8Array(e),qi=e=>Array.from(e);var Bl=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var $r=e=>{let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode(...e.subarray(r,r+32768)));return btoa(t.join(""))},Dl=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0));var U=e=>e==null,J=e=>!U(e),_r=e=>J(e)&&e!=="",pt=e=>!_r(e),se=e=>J(e)?[e]:[],me=e=>e?.[0];var Li="abcdefghijklmnopqrstuvwxyz234567",co=Object.create(null);for(let e=0;e<Li.length;e++)co[Li[e]]=e;co[0]=co.o;co[1]=co.i;function Hf(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+=Li[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?Li[r>>3]:"")}function Gf(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=co[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 Jf=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 Wf(e){let t=-1;for(let r=0;r<e.length;r++){let n=(e[r]^t)&255;t=Jf[n]^t>>>8}return(t^-1)>>>0}function zf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Mi(e,...t){if(!zf(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 Vl(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 Yf(e,t){Mi(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function ka(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Ua(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Mt(e,t){return e<<32-t|e>>>t}var Ul=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Zf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Xf(e){if(Mi(e),Ul)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Zf[e[r]];return t}var hr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Pl(e){if(e>=hr._0&&e<=hr._9)return e-hr._0;if(e>=hr.A&&e<=hr.F)return e-(hr.A-10);if(e>=hr.a&&e<=hr.f)return e-(hr.a-10)}function Qf(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Ul)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=Pl(e.charCodeAt(i)),a=Pl(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 eh(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function kl(e){return typeof e=="string"&&(e=eh(e)),Mi(e),e}var th=class{};function rh(e){let t=n=>e().update(kl(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function nh(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,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function oh(e,t,r){return e&t^~e&r}function ih(e,t,r){return e&t^e&r^t&r}var sh=class extends th{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Ua(this.buffer)}update(e){Vl(this),e=kl(e),Mi(e);let{view:t,buffer:r,blockLen:n}=this,o=e.length;for(let i=0;i<o;){let s=Math.min(n-this.pos,o-i);if(s===n){let a=Ua(e);for(;n<=o-i;i+=n)this.process(a,i);continue}r.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===n&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Vl(this),Yf(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:o}=this,{pos:i}=this;t[i++]=128,ka(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(r,0),i=0);for(let d=i;d<n;d++)t[d]=0;nh(r,n-8,BigInt(this.length*8),o),this.process(r,0);let s=Ua(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<c;d++)s.setUint32(4*d,l[d],o)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:n,finished:o,destroyed:i,pos:s}=this;return e.destroyed=i,e.finished=o,e.length=n,e.pos=s,n%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}},Mr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),jr=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),ah=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]),Kr=new Uint32Array(64),ch=class extends sh{constructor(e=32){super(64,e,8,!1),this.A=Mr[0]|0,this.B=Mr[1]|0,this.C=Mr[2]|0,this.D=Mr[3]|0,this.E=Mr[4]|0,this.F=Mr[5]|0,this.G=Mr[6]|0,this.H=Mr[7]|0}get(){let{A:e,B:t,C:r,D:n,E:o,F:i,G:s,H:a}=this;return[e,t,r,n,o,i,s,a]}set(e,t,r,n,o,i,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=o|0,this.F=i|0,this.G=s|0,this.H=a|0}process(e,t){for(let d=0;d<16;d++,t+=4)Kr[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let p=Kr[d-15],u=Kr[d-2],f=Mt(p,7)^Mt(p,18)^p>>>3,h=Mt(u,17)^Mt(u,19)^u>>>10;Kr[d]=h+Kr[d-7]+f+Kr[d-16]|0}let{A:r,B:n,C:o,D:i,E:s,F:a,G:c,H:l}=this;for(let d=0;d<64;d++){let p=Mt(s,6)^Mt(s,11)^Mt(s,25),u=l+p+oh(s,a,c)+ah[d]+Kr[d]|0,f=(Mt(r,2)^Mt(r,13)^Mt(r,22))+ih(r,n,o)|0;l=c,c=a,a=s,s=i+u|0,i=o,o=n,n=r,r=u+f|0}r=r+this.A|0,n=n+this.B|0,o=o+this.C|0,i=i+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,n,o,i,s,a,c,l)}roundClean(){ka(Kr)}destroy(){this.set(0,0,0,0,0,0,0,0),ka(this.buffer)}},lh=class extends ch{constructor(){super(28),this.A=jr[0]|0,this.B=jr[1]|0,this.C=jr[2]|0,this.D=jr[3]|0,this.E=jr[4]|0,this.F=jr[5]|0,this.G=jr[6]|0,this.H=jr[7]|0}},uh=rh(()=>new lh),ki="__principal__",dh=2,Fl=4,ph="aaaaa-aa",La=class ao{static anonymous(){return new this(new Uint8Array([Fl]))}static managementCanister(){return this.fromText(ph)}static selfAuthenticating(t){let r=uh(t);return new this(new Uint8Array([...r,dh]))}static from(t){if(typeof t=="string")return ao.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new ao(t);if(ao.isPrincipal(t))return new ao(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Qf(t))}static fromText(t){let r=t;if(t.includes(ki)){let s=JSON.parse(t);ki in s&&(r=s[ki])}let n=r.toLowerCase().replace(/-/g,""),o=Gf(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 ao||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]===Fl}toUint8Array(){return this._arr}toHex(){return Xf(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,Wf(this._arr));let r=new Uint8Array(t),n=new Uint8Array([...r,...this._arr]),o=Hf(n).match(/.{1,5}/g);if(!o)throw new Error;return o.join("-")}toString(){return this.toText()}toJSON(){return{[ki]: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"}},qa="__bigint__",Ma="__principal__",ja="__uint8array__",fh=(e,t)=>typeof t=="bigint"?{[qa]:`${t}`}:J(t)&&La.isPrincipal(t)?{[Ma]:La.from(t).toText()}:J(t)&&t instanceof Uint8Array?{[ja]:Array.from(t)}:t,hh=(e,t)=>{let r=n=>t[n];return J(t)&&typeof t=="object"&&qa in t?BigInt(r(qa)):J(t)&&typeof t=="object"&&Ma in t?La.fromText(r(Ma)):J(t)&&typeof t=="object"&&ja in t?Uint8Array.from(r(ja)):t},Ll=async e=>{let t=new Blob([JSON.stringify(e,fh)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},ji=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(),hh)},Ki=()=>typeof window<"u";var ql;(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"})(ql||(ql={}));var Hr;(function(e){e.Replied="replied",e.Rejected="rejected"})(Hr||(Hr={}));function Ml(e){return e!=null&&"reject_code"in e}function jl(e){return e!=null&&"certificate"in e}var $i="abcdefghijklmnopqrstuvwxyz234567",lo=Object.create(null);for(let e=0;e<$i.length;e++)lo[$i[e]]=e;lo[0]=lo.o;lo[1]=lo.i;function Kl(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=$i[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?$i[r>>3]:"")}function $l(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=lo[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 mh=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 Hl(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=mh[o]^t>>>8}return(t^-1)>>>0}import*as yr from"node:crypto";var kn=yr&&typeof yr=="object"&&"webcrypto"in yr?yr.webcrypto:yr&&typeof yr=="object"&&"randomBytes"in yr?yr:void 0;function jt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ka(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!jt(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 Jl(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 Ln(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Gi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rt(e,t){return e<<32-t|e>>>t}var Wl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",_h=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(fe(e),Wl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=_h[e[r]];return t}var gr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Gl(e){if(e>=gr._0&&e<=gr._9)return e-gr._0;if(e>=gr.A&&e<=gr.F)return e-(gr.A-10);if(e>=gr.a&&e<=gr.f)return e-(gr.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Wl)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=Gl(e.charCodeAt(i)),a=Gl(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 Ha(e){return typeof e=="string"&&(e=G(e)),fe(e),e}function $(...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 Hi=class{};function Ji(e){let t=n=>e().update(Ha(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function uo(e=32){if(kn&&typeof kn.getRandomValues=="function")return kn.getRandomValues(new Uint8Array(e));if(kn&&typeof kn.randomBytes=="function")return Uint8Array.from(kn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function yh(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,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function zl(e,t,r){return e&t^~e&r}function Yl(e,t,r){return e&t^e&r^t&r}var $o=class extends Hi{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Gi(this.buffer)}update(t){$a(this),t=Ha(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=Gi(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){$a(this),Jl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,Ln(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let p=s;p<o;p++)r[p]=0;yh(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Gi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,d=this.get();if(l>d.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<l;p++)a.setUint32(4*p,d[p],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()}},xr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),br=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ae=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Wi=BigInt(4294967295),Zl=BigInt(32);function gh(e,t=!1){return t?{h:Number(e&Wi),l:Number(e>>Zl&Wi)}:{h:Number(e>>Zl&Wi)|0,l:Number(e&Wi)|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}=gh(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var Ga=(e,t,r)=>e>>>r,Ja=(e,t,r)=>e<<32-r|t>>>r,qn=(e,t,r)=>e>>>r|t<<32-r,Mn=(e,t,r)=>e<<32-r|t>>>r,Ho=(e,t,r)=>e<<64-r|t>>>r-32,Go=(e,t,r)=>e>>>r-32|t<<64-r;function Kt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Ql=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),eu=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,tu=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),ru=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,nu=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),ou=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var bh=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]),Gr=new Uint32Array(64),zi=class extends $o{constructor(t=32){super(64,t,8,!1),this.A=xr[0]|0,this.B=xr[1]|0,this.C=xr[2]|0,this.D=xr[3]|0,this.E=xr[4]|0,this.F=xr[5]|0,this.G=xr[6]|0,this.H=xr[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 p=0;p<16;p++,r+=4)Gr[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){let u=Gr[p-15],f=Gr[p-2],h=Rt(u,7)^Rt(u,18)^u>>>3,_=Rt(f,17)^Rt(f,19)^f>>>10;Gr[p]=_+Gr[p-7]+h+Gr[p-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:l,H:d}=this;for(let p=0;p<64;p++){let u=Rt(a,6)^Rt(a,11)^Rt(a,25),f=d+u+zl(a,c,l)+bh[p]+Gr[p]|0,_=(Rt(n,2)^Rt(n,13)^Rt(n,22))+Yl(n,o,i)|0;d=l,l=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,l=l+this.G|0,d=d+this.H|0,this.set(n,o,i,s,a,c,l,d)}roundClean(){Ln(Gr)}destroy(){this.set(0,0,0,0,0,0,0,0),Ln(this.buffer)}},Wa=class extends zi{constructor(){super(28),this.A=br[0]|0,this.B=br[1]|0,this.C=br[2]|0,this.D=br[3]|0,this.E=br[4]|0,this.F=br[5]|0,this.G=br[6]|0,this.H=br[7]|0}},iu=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))),wh=iu[0],Th=iu[1],Jr=new Uint32Array(80),Wr=new Uint32Array(80),za=class extends $o{constructor(t=64){super(128,t,16,!1),this.Ah=Ae[0]|0,this.Al=Ae[1]|0,this.Bh=Ae[2]|0,this.Bl=Ae[3]|0,this.Ch=Ae[4]|0,this.Cl=Ae[5]|0,this.Dh=Ae[6]|0,this.Dl=Ae[7]|0,this.Eh=Ae[8]|0,this.El=Ae[9]|0,this.Fh=Ae[10]|0,this.Fl=Ae[11]|0,this.Gh=Ae[12]|0,this.Gl=Ae[13]|0,this.Hh=Ae[14]|0,this.Hl=Ae[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:l,El:d,Fh:p,Fl:u,Gh:f,Gl:h,Hh:_,Hl:y}=this;return[t,r,n,o,i,s,a,c,l,d,p,u,f,h,_,y]}set(t,r,n,o,i,s,a,c,l,d,p,u,f,h,_,y){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=l|0,this.El=d|0,this.Fh=p|0,this.Fl=u|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=y|0}process(t,r){for(let g=0;g<16;g++,r+=4)Jr[g]=t.getUint32(r),Wr[g]=t.getUint32(r+=4);for(let g=16;g<80;g++){let T=Jr[g-15]|0,O=Wr[g-15]|0,v=qn(T,O,1)^qn(T,O,8)^Ga(T,O,7),E=Mn(T,O,1)^Mn(T,O,8)^Ja(T,O,7),C=Jr[g-2]|0,w=Wr[g-2]|0,I=qn(C,w,19)^Ho(C,w,61)^Ga(C,w,6),P=Mn(C,w,19)^Go(C,w,61)^Ja(C,w,6),A=tu(E,P,Wr[g-7],Wr[g-16]),x=ru(A,v,I,Jr[g-7],Jr[g-16]);Jr[g]=x|0,Wr[g]=A|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:l,Dl:d,Eh:p,El:u,Fh:f,Fl:h,Gh:_,Gl:y,Hh:m,Hl:b}=this;for(let g=0;g<80;g++){let T=qn(p,u,14)^qn(p,u,18)^Ho(p,u,41),O=Mn(p,u,14)^Mn(p,u,18)^Go(p,u,41),v=p&f^~p&_,E=u&h^~u&y,C=nu(b,O,E,Th[g],Wr[g]),w=ou(C,m,T,v,wh[g],Jr[g]),I=C|0,P=qn(n,o,28)^Ho(n,o,34)^Ho(n,o,39),A=Mn(n,o,28)^Go(n,o,34)^Go(n,o,39),x=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,b=y|0,_=f|0,y=h|0,f=p|0,h=u|0,{h:p,l:u}=Kt(l|0,d|0,w|0,I|0),l=a|0,d=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let S=Ql(I,A,N);n=eu(S,w,P,x),o=S|0}({h:n,l:o}=Kt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Kt(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Kt(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:d}=Kt(this.Dh|0,this.Dl|0,l|0,d|0),{h:p,l:u}=Kt(this.Eh|0,this.El|0,p|0,u|0),{h:f,l:h}=Kt(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:y}=Kt(this.Gh|0,this.Gl|0,_|0,y|0),{h:m,l:b}=Kt(this.Hh|0,this.Hl|0,m|0,b|0),this.set(n,o,i,s,a,c,l,d,p,u,f,h,_,y,m,b)}roundClean(){Ln(Jr,Wr)}destroy(){Ln(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ve=Ji(()=>new zi),su=Ji(()=>new Wa),au=Ji(()=>new za);var Yi="__principal__",Nh=2,cu=4,Oh="aaaaa-aa",q=class e{static anonymous(){return new this(new Uint8Array([cu]))}static managementCanister(){return this.fromText(Oh)}static selfAuthenticating(t){let r=su(t);return new this(new Uint8Array([...r,Nh]))}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(Yi)){let s=JSON.parse(t);Yi in s&&(r=s[Yi])}let n=r.toLowerCase().replace(/-/g,""),o=$l(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]===cu}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,Hl(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=Kl(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Yi]: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 wr;(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"})(wr||(wr={}));var Zi;(function(e){e.Normal="normal",e.Verbose="verbose"})(Zi||(Zi={}));var Eh=new Set(["arg","certificate","nonce"]);function Ya(e){return(t,r)=>r instanceof Uint8Array?e===Zi.Normal&&Eh.has(t)?`<${r.length} bytes, set ErrorCode.verbosity = ErrorVerbosity.Verbose to display>`:`hex(${r.length}):${j(r)}`:r}var K=class e{static{this.verbosity=Zi.Normal}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)}
|
|
@@ -8,52 +8,59 @@ Request context:
|
|
|
8
8
|
Ingress expiry: ${this.requestContext.ingressExpiry.toString()}`),this.callContext&&(t+=`
|
|
9
9
|
Call context:
|
|
10
10
|
Canister ID: ${this.callContext.canisterId.toText()}
|
|
11
|
-
Method name: ${this.callContext.methodName}
|
|
12
|
-
HTTP details: ${JSON.stringify(this.callContext.httpDetails,
|
|
11
|
+
Method name: ${this.callContext.methodName}`,"httpDetails"in this.callContext&&(t+=`
|
|
12
|
+
HTTP details: ${JSON.stringify(this.callContext.httpDetails,Ya(e.verbosity),2)}`)),t}},st=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}`}},Tr=class extends st{static fromCode(t){return new this(t)}},Ye=class e extends Tr{constructor(t){super(t,wr.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},re=class e extends Tr{constructor(t){super(t,wr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},vt=class e extends Tr{constructor(t){super(t,wr.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},Jo=class e extends Tr{constructor(t){super(t,wr.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},Pe=class e extends Tr{constructor(t){super(t,wr.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var z=class e extends Tr{constructor(t){super(t,wr.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ae=class e extends Tr{constructor(t){super(t,wr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},It=class e extends K{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+=`: ${ei(this.error)}`),`Certificate verification error: "${t}"`}},Nr=class e extends K{constructor(t,r,n,o,i){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=i,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Certificate is signed more than ${this.maxAgeInMinutes} minutes in the ${this.ageType}. Certificate time: ${this.certificateTime.toISOString()} Current time: ${this.currentTime.toISOString()} Clock drift: ${this.timeDiffMsecs}ms`}},Xi=class e extends K{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},jn=class e extends K{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()}`}},Qi=class e extends K{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()}`}},At=class e extends K{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}`}},es=class e extends K{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},ts=class e extends K{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},po=class e extends K{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`}},rs=class e extends K{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)}`}},ns=class e extends K{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}`}},St=class e extends K{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Wo=class e extends K{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},os=class e extends K{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${ei(this.error)}, input: ${j(this.input)}`}},is=class e extends K{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${ei(this.error)}, input: ${this.value}`}};var Kn=class e extends K{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}},ss=class e extends K{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}},as=class e extends K{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
|
+
`}},cs=class e extends K{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
|
+
`}},ls=class e extends K{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
|
+
`}},us=class e extends K{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
|
+
`}},Ct=class e extends K{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.`}},ds=class e extends K{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}`}},zr=class e extends K{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."}},$t=class e extends K{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.`}},ps=class e extends K{constructor(){super(),this.name="MissingFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"No fetch implementation available. Provide a `fetch` function in HttpAgentOptions or ensure `globalThis.fetch` is defined."}},fs=class e extends K{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},hs=class e extends K{constructor(t,r){super(),this.signatureCount=t,this.maxExpected=r,this.name="ExcessiveSignaturesErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contains ${this.signatureCount} signatures, which exceeds the subnet size of ${this.maxExpected}. This suggests a malformed or malicious response.`}},ms=class e extends K{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}};var _s=class e extends K{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},ys=class e extends K{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Se=class e extends K{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${ei(this.error)}`}},gs=class e extends K{constructor(t,r,n,o){super(),this.status=t,this.requestId=r,this.response=n,this.rawCertificate=o,this.name="UnexpectedV4StatusErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=(r,n)=>n instanceof Uint8Array?`hex(${n.length}):${j(n)}`:n;return`Unexpected request status in v4 sync response: "${this.status}"
|
|
35
|
+
Request ID (hex): ${j(this.requestId)}
|
|
36
|
+
Response: ${JSON.stringify(this.response,t,2)}`}},Yr=class e extends K{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},zo=class e extends K{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
37
|
Status: ${this.status} (${this.statusText})
|
|
36
|
-
Headers: ${JSON.stringify(this.headers)}
|
|
38
|
+
Headers: ${JSON.stringify(this.headers,Ya(K.verbosity))}
|
|
37
39
|
`;return this.bodyText&&(t+=` Body: ${this.bodyText}
|
|
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:
|
|
40
|
+
`),t}},Yo=class e extends K{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},Zo=class e extends K{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${ei(this.error)}`}},Xo=class e extends K{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.`}},xs=class e extends K{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Qo=class e extends K{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function ei(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e,Ya(K.verbosity))}catch{return String(e)}}var ft=new Error("unreachable");var Jn={};Kf(Jn,{Bool:()=>yu,BoolClass:()=>Os,CandidDecodeError:()=>Ze,ConstructType:()=>Jt,Empty:()=>mu,EmptyClass:()=>ri,FixedIntClass:()=>Rr,FixedNatClass:()=>Gt,Float32:()=>Tu,Float64:()=>Nu,FloatClass:()=>ii,Func:()=>Lu,FuncClass:()=>Gn,Int:()=>bu,Int16:()=>Eu,Int32:()=>Ru,Int64:()=>vu,Int8:()=>Ou,IntClass:()=>ni,Nat:()=>wu,Nat16:()=>Au,Nat32:()=>Su,Nat64:()=>Cu,Nat8:()=>Iu,NatClass:()=>oi,Null:()=>gu,NullClass:()=>$n,Opt:()=>Bu,OptClass:()=>Qr,PrimitiveType:()=>Xe,Principal:()=>Vu,PrincipalClass:()=>vs,Rec:()=>ku,RecClass:()=>ht,Record:()=>Du,RecordClass:()=>Hn,Reserved:()=>_u,ReservedClass:()=>Wt,Service:()=>qu,ServiceClass:()=>yo,Text:()=>xu,TextClass:()=>Es,Tuple:()=>Pu,TupleClass:()=>Rs,Type:()=>ho,Unknown:()=>Sh,UnknownClass:()=>Ns,Variant:()=>Uu,VariantClass:()=>_o,Vec:()=>Fu,VecClass:()=>mo,Visitor:()=>rc,decode:()=>Ah,encode:()=>Ih,resetSubtypeCache:()=>nc,subtype:()=>ic});function X(...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 Vt=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=Ht(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 Ht(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?Ht(e.buffer):new Uint8Array(e)}function fo(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 lu(e,t){return fo(e,t)===0}function uu(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rh(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Me(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 Rh(e)}function Za(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function bs(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function du(){throw new Error("unexpected end of buffer")}function Xr(e,t){return e.byteLength<t&&du(),e.read(t)}function Zr(e){let t=e.readUint8();return t===void 0&&du(),t}function oe(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:Za(e))+1,r=new Vt(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=Zr(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:Za(e))+1,n=new Vt(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 Or(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(Xr(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 pu(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return Xa(e,t)}function Xa(e,t){e=BigInt(e);let r=new Vt(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 Qa(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Zr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Zr(e));r=r+n*i}return r}function fu(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Qa(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Ze=class e extends Error{constructor(t){super(t),this.name="CandidDecodeError",Object.setPrototypeOf(this,e.prototype)}},ee;(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"})(ee||(ee={}));var ws="DIDL",vh=new TextEncoder().encode(ws),hu=400;function ti(e,t,r){return e.map((n,o)=>r(n,t[o]))}var tc=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error(`Missing type index for ${t}`);if(o===void 0)throw new Error(`Missing type index for ${r}`);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=oe(this._typs.length),r=X(...this._typs);return X(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error(`Missing type index for ${t}`);return ye(this._idx.get(t)||0)}},rc=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 ho=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Xe=class extends ho{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){}},Jt=class extends ho{checkType(t){if(t instanceof ht){let r=t.getType();if(typeof r>"u")throw new Ze("Type mismatch: cannot decode from uninitialized recursive 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)}},ri=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(ee.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Ns=class extends ho{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 ht?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"}},Os=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(ee.Bool)}decodeValue(t,r){switch(this.checkType(r),Zr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},$n=class extends 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(ee.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Wt=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(ee.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Es=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=oe(r.byteLength);return X(n,r)}encodeType(){return ye(ee.Text)}decodeValue(t,r){this.checkType(r);let n=_e(t),o=Xr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return`"${t}"`}},ni=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(ee.Int)}decodeValue(t,r){return this.checkType(r),Or(t)}get name(){return"int"}valueToString(t){return t.toString()}},oi=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 oe(t)}encodeType(){return ye(ee.Nat)}decodeValue(t,r){return this.checkType(r),_e(t)}get name(){return"nat"}valueToString(t){return t.toString()}},ii=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?ee.Float32:ee.Float64;return ye(t)}decodeValue(t,r){this.checkType(r);let n=Xr(t,this._bits/8),o=uu(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return`float${this._bits}`}valueToString(t){return t.toString()}},Rr=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=bs(this._bits-1)*BigInt(-1),n=bs(this._bits-1)-BigInt(1);if(typeof t=="bigint"){if(t>=r&&t<=n)return!0}else if(Number.isInteger(t)){let o=BigInt(t);if(o>=r&&o<=n)return!0}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return Xa(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-9-t)}decodeValue(t,r){this.checkType(r);let n=fu(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Gt=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=bs(this._bits);if(typeof t=="bigint"&&t>=BigInt(0)){if(t<r)return!0}else if(Number.isInteger(t)&&t>=0&&BigInt(t)<r)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return pu(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-5-t)}decodeValue(t,r){this.checkType(r);let n=Qa(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},mo=class e extends Jt{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 Gt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Gt?this._type._bits:this._type instanceof Rr?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
41
|
|
|
40
|
-
index ${o} -> ${i.message}
|
|
42
|
+
index ${o} -> ${i.message}`,{cause:i})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=oe(t.length);if(this._blobOptimization)return X(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 X(r,new Uint8Array(o.buffer))}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 X(r,new Uint8Array(o.buffer))}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 X(r,new Uint8Array(o.buffer))}return X(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}let n=new Vt(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(ee.Vector),n=this._type.encodeType(t);t.add(this,X(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-vector type '${n.display()}'`);let o=Number(_e(t));if(this._type instanceof Gt){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 Rr){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 l=0;l<o;l++)c[l]=a.getInt16(l*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 l=0;l<o;l++)c[l]=a.getInt32(l*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 l=0;l<o;l++)c[l]=a.getBigInt64(l*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("; ")}}`}},Qr=class e extends Jt{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
43
|
|
|
42
|
-
-> ${r.message}
|
|
44
|
+
-> ${r.message}`,{cause:r})}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):X(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=ye(ee.Opt),n=this._type.encodeType(t);t.add(this,X(r,n))}decodeValue(t,r){if(r instanceof $n)return[];if(r instanceof Wt)return[];let n=r;if(r instanceof ht){let o=r.getType();if(typeof o>"u")throw new Ze("Type mismatch: cannot decode from uninitialized recursive type");n=o}if(n instanceof e)switch(Zr(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 Ze(`Invalid option value: expected 0 (None) or 1 (Some) for type '${this.display()}'`)}else{if(this._type instanceof $n||this._type instanceof e||this._type instanceof Wt)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])}`}},Hn=class e extends Jt{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)=>Me(r[0])-Me(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
45
|
|
|
44
|
-
field ${r} -> ${o.message}
|
|
46
|
+
field ${r} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=ti(this._fields,r,([,o],i)=>o.encodeValue(i));return X(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(ee.Record),n=oe(this._fields.length),o=this._fields.map(([i,s])=>X(oe(Me(i)),s.encodeType(t)));t.add(this,X(r,n,X(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-record type '${n.display()}'`);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[l,d]=this._fields[i],p=Me(this._fields[i][0]),u=Me(a);if(p===u)o[l]=d.decodeValue(t,c),i++,s++;else if(u>p)if(d instanceof Qr||d instanceof Wt)o[l]=[],i++;else{let f=this._fields.map(([_])=>_).join(", "),h=n._fields.map(([_])=>_).join(", ");throw new Ze(`Cannot find required field '${l}' in record, expected fields: [${f}], received fields: [${h}]`)}else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof Qr||c instanceof Wt)o[a]=[];else{let l=this._fields.map(([p])=>p).join(", "),d=n._fields.map(([p])=>p).join(", ");throw new Ze(`Cannot find required field '${a}' in record, expected fields: [${l}], received fields: [${d}]`)}return o}get fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[Me(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 {${ti(this._fields,r,([o,i],s)=>`${o}=${i.valueToString(s)}`).join("; ")}}`}},Rs=class e extends Hn{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
47
|
|
|
46
|
-
index ${n} -> ${o.message}
|
|
48
|
+
index ${n} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=ti(this._components,t,(n,o)=>n.encodeValue(o));return X(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-tuple type '${n.display()}'`);if(n._components.length<this._components.length)throw new Ze(`Tuple mismatch: expected ${this._components.length} components, but received ${n._components.length}`);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 {${ti(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},_o=class e extends Jt{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)=>Me(r[0])-Me(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
49
|
|
|
48
|
-
variant ${r} -> ${o.message}
|
|
50
|
+
variant ${r} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=oe(r),s=o.encodeValue(t[n]);return X(i,s)}}throw Error(`Variant has no data: ${t}`)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=ye(ee.Variant),n=oe(this._fields.length),o=this._fields.map(([i,s])=>X(oe(Me(i)),s.encodeType(t)));t.add(this,X(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-variant type '${n.display()}'`);let o=Number(_e(t));if(o>=n._fields.length)throw Error(`Invalid variant index: ${o}`);let[i,s]=n._fields[o];for(let[c,l]of this._fields)if(Me(i)===Me(c)){let d=l.decodeValue(t,s);return{[c]:d}}let a=this._fields.map(([c])=>c).join(", ");throw new Ze(`Cannot find field hash ${i} in variant, expected fields: [${a}]`)}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[Me(r)]=n;return t}},ht=class e extends Jt{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 oc(e){if(Zr(e)!==1)throw new Error("Cannot decode principal");let r=Number(_e(e));return q.fromUint8Array(new Uint8Array(Xr(e,r)))}var vs=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=oe(r.byteLength);return X(new Uint8Array([1]),n,r)}encodeType(){return ye(ee.Principal)}decodeValue(t,r){return this.checkType(r),oc(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},Gn=class extends Jt{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=oe(n.byteLength),i=X(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=oe(s.byteLength);return X(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(l=>l.buildTypeTable(t)),this.retTypes.forEach(l=>l.buildTypeTable(t));let r=ye(ee.Func),n=oe(this.argTypes.length),o=X(...this.argTypes.map(l=>l.encodeType(t))),i=oe(this.retTypes.length),s=X(...this.retTypes.map(l=>l.encodeType(t))),a=oe(this.annotations.length),c=X(...this.annotations.map(l=>this.encodeAnnotation(l)));t.add(this,X(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof ht?r.getType()??r:r;if(!ic(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Zr(t)!==1)throw new Error("Cannot decode function reference");let i=oc(t),s=Number(_e(t)),a=Xr(t,s),l=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,l]}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")}},yo=class extends Jt{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=oe(r.length);return X(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(ee.Service),n=oe(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=oe(a.length);return X(c,a,s.encodeType(t))});t.add(this,X(r,n,...o))}decodeValue(t,r){let n=r instanceof ht?r.getType()??r:r;if(!ic(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return oc(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>hu?`${t.substring(0,hu-3)}...`:t}function Ih(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new tc;e.forEach(a=>a.buildTypeTable(r));let n=r.encode(),o=oe(t.length),i=X(...e.map(a=>a.encodeType(r))),s=X(...ti(e,t,(a,c)=>{try{a.covariant(c)}catch(l){throw new Error(`${l.message}
|
|
49
51
|
|
|
50
|
-
`)}return a.encodeValue(c)}));return
|
|
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`),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:
|
|
52
|
+
`)}return a.encodeValue(c)}));return X(vh,n,o,i,s)}function Ah(e,t){let r=new Vt(t);if(t.byteLength<ws.length)throw new Error("Message length smaller than magic number");let n=Xr(r,ws.length),o=new TextDecoder().decode(n);if(o!==ws)throw new Error(`Wrong magic number: ${JSON.stringify(o)}`);function i(u){let f=[],h=Number(_e(u));for(let m=0;m<h;m++){let b=Number(Or(u));switch(b){case ee.Opt:case ee.Vector:{let g=Number(Or(u));f.push([b,g]);break}case ee.Record:case ee.Variant:{let g=[],T=Number(_e(u)),O;for(;T--;){let v=Number(_e(u));if(v>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof O=="number"&&O>=v)throw new Error("field id collision or not sorted");O=v;let E=Number(Or(u));g.push([v,E])}f.push([b,g]);break}case ee.Func:{let g=[],T=Number(_e(u));for(;T--;)g.push(Number(Or(u)));let O=[],v=Number(_e(u));for(;v--;)O.push(Number(Or(u)));let E=[],C=Number(_e(u));for(;C--;)switch(Number(_e(u))){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,[g,O,E]]);break}case ee.Service:{let g=Number(_e(u)),T=[];for(;g--;){let O=Number(_e(u)),v=new TextDecoder().decode(Xr(u,O)),E=Or(u);T.push([v,E])}f.push([b,T]);break}default:throw new Error(`Illegal op_code: ${b}`)}}let _=[],y=Number(_e(u));for(let m=0;m<y;m++)_.push(Number(Or(u)));return[f,_]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(u=>ku());function l(u){if(u<-24)throw new Error("future value not supported");if(u<0)switch(u){case-1:return gu;case-2:return yu;case-3:return wu;case-4:return bu;case-5:return Iu;case-6:return Au;case-7:return Su;case-8:return Cu;case-9:return Ou;case-10:return Eu;case-11:return Ru;case-12:return vu;case-13:return Tu;case-14:return Nu;case-15:return xu;case-16:return _u;case-17:return mu;case-24:return Vu;default:throw new Error(`Illegal op_code: ${u}`)}if(u>=s.length)throw new Error("type index out of range");return c[u]}function d(u){switch(u[0]){case ee.Vector:{let f=l(u[1]);return Fu(f)}case ee.Opt:{let f=l(u[1]);return Bu(f)}case ee.Record:{let f={};for(let[y,m]of u[1]){let b=`_${y}_`;f[b]=l(m)}let h=Du(f),_=h.tryAsTuple();return Array.isArray(_)?Pu(..._):h}case ee.Variant:{let f={};for(let[h,_]of u[1]){let y=`_${h}_`;f[y]=l(_)}return Uu(f)}case ee.Func:{let[f,h,_]=u[1];return Lu(f.map(y=>l(y)),h.map(y=>l(y)),_)}case ee.Service:{let f={},h=u[1];for(let[_,y]of h){let m=l(y);if(m instanceof ht&&(m=m.getType()),!(m instanceof Gn))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return qu(f)}default:throw new Error(`Illegal op_code: ${u[0]}`)}}s.forEach((u,f)=>{if(u[0]===ee.Func){let h=d(u);c[f].fill(h)}}),s.forEach((u,f)=>{if(u[0]!==ee.Func){let h=d(u);c[f].fill(h)}}),nc();let p=a.map(u=>l(u));try{let u=e.map((f,h)=>f.decodeValue(r,p[h]));for(let f=e.length;f<p.length;f++)p[f].decodeValue(r,p[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return u}finally{nc()}}var mu=new ri,_u=new Wt,Sh=new Ns,yu=new Os,gu=new $n,xu=new Es,bu=new ni,wu=new oi,Tu=new ii(32),Nu=new ii(64),Ou=new Rr(8),Eu=new Rr(16),Ru=new Rr(32),vu=new Rr(64),Iu=new Gt(8),Au=new Gt(16),Su=new Gt(32),Cu=new Gt(64),Vu=new vs;function Pu(...e){return new Rs(e)}function Fu(e){return new mo(e)}function Bu(e){return new Qr(e)}function Du(e){return new Hn(e)}function Uu(e){return new _o(e)}function ku(){return new ht}function Lu(e,t,r=[]){return new Gn(e,t,r)}function qu(e){return new yo(e)}var Is=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}
|
|
53
|
+
`;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)}},Ts=new Is;function nc(){Ts=new Is}function Ch(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 ec(e){return e instanceof Qr||e instanceof $n||e instanceof Wt}function ic(e,t){let r=Ts.copy(),n=Er(r,e,t);return n?Ts.add(e,t):Ts.addNegative(e,t),n}function Er(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 Wt||t instanceof ri||t instanceof oi&&r instanceof ni)return!0;if(t instanceof mo&&r instanceof mo)return Er(e,t._type,r._type);if(r instanceof Qr)return!0;if(t instanceof Hn&&r instanceof Hn){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[Me(i)];if(a){if(!Er(e,a,s))return!1}else if(!ec(s))return!1}return!0}if(t instanceof Gn&&r instanceof Gn){if(!Ch(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!Er(e,r.argTypes[o],i))return!1}else if(!ec(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!Er(e,t.retTypes[o],i))return!1}else if(!ec(i))return!1}return!0}if(t instanceof _o&&r instanceof _o){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[Me(i)];if(!a||!Er(e,s,a))return!1}return!0}if(t instanceof yo&&r instanceof yo){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!Er(e,a,s))return!1}return!0}return t instanceof ht?Er(e,t.getType(),r):r instanceof ht?Er(e,t,r.getType()):!1}function go(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?go(e.buffer):new Uint8Array(e)}function Wn(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 sc(e){if(typeof e=="string")return Mu(e);if(typeof e=="number")return Ve(oe(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Ve(go(e));if(Array.isArray(e)){let t=e.map(sc);return Ve($(...t))}if(e&&typeof e=="object"&&e._isPrincipal)return Ve(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return sc(e.toHash());if(typeof e=="object")return si(e);if(typeof e=="bigint")return Ve(oe(e));throw z.fromCode(new ds(e))}var Mu=e=>{let t=new TextEncoder().encode(e);return Ve(t)};function vr(e){return si(e)}function si(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=Mu(s),l=sc(a);return[c,l]}).sort(([s],[a])=>fo(s,a)),o=$(...n.map(s=>$(...s)));return Ve(o)}var ac=new TextEncoder().encode("\ric-state-root"),ai=new TextEncoder().encode(`
|
|
54
|
+
ic-request`),cc=new TextEncoder().encode("\vic-response"),lc=new TextEncoder().encode("ic-request-auth-delegation");var zt=class{getPrincipal(){return this._principal||(this._principal=q.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=vr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign($(ai,o))}}}},at=class{getPrincipal(){return q.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Ir=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Ku=55799,$u=Symbol("CBOR_STOP_CODE"),Bt=(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))(Bt||{}),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||{}),Vh=23,Ph=255,Fh=65535,Bh=4294967295,Dh=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||{}),xo=!1;function Uh(e){return e==null}function Hu(e,t){let r=new Uint8Array(t);return r.set(e),r}var kh=new TextDecoder;function Lh(e){return(e&224)>>5}function qh(e){return e&31}var ui=new Uint8Array,ci,Dt=0;function Gu(e,t){ui=e,Dt=0;let r=zn(t);return t?.(r)??r}function zn(e){let[t,r]=As();switch(t){case Ne.UnsignedInteger:return bo(r);case Ne.NegativeInteger:return $h(r);case Ne.ByteString:return Ju(r);case Ne.TextString:return dc(r);case Ne.Array:return Mh(r,e);case Ne.Map:return Kh(r,e);case Ne.Tag:return Hh(r,e);case Ne.Simple:return jh(r)}throw new Ir(`Unsupported major type: ${t}`)}function As(){let e=ui.at(Dt);if(Uh(e))throw new Ir("Provided CBOR data is empty");let t=Lh(e),r=qh(e);return Dt++,[t,r]}function Mh(e,t){let r=bo(e);if(r===1/0){let o=[],i=zn(t);for(;i!==$u;)o.push(t?.(i)??i),i=zn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=zn(t);n[o]=t?.(i)??i}return n}function jh(e){switch(e){case Bt.False:return!1;case Bt.True:return!0;case Bt.Null:return null;case Bt.Undefined:return;case Bt.Break:return $u}throw new Ir(`Unrecognized simple type: ${e.toString(2)}`)}function Kh(e,t){let r=bo(e),n={};if(r===1/0){let[o,i]=As();for(;o!==Ne.Simple&&i!==Bt.Break;){let s=dc(i),a=zn(t);n[s]=t?.(a,s)??a,[o,i]=As()}return n}for(let o=0;o<r;o++){let[i,s]=As();if(i!==Ne.TextString)throw new Ir("Map keys must be text strings");let a=dc(s),c=zn(t);n[a]=t?.(c,a)??c}return n}function bo(e){if(e<=Ft.Value)return e;switch(ci=new DataView(ui.buffer,ui.byteOffset+Dt),e){case Ft.OneByte:return Dt++,ci.getUint8(0);case Ft.TwoBytes:return Dt+=2,ci.getUint16(0,xo);case Ft.FourBytes:return Dt+=4,ci.getUint32(0,xo);case Ft.EightBytes:return Dt+=8,ci.getBigUint64(0,xo);case Ft.Indefinite:return 1/0;default:throw new Ir(`Unsupported integer info: ${e.toString(2)}`)}}function $h(e){let t=bo(e);return typeof t=="number"?-1-t:-1n-t}function Ju(e){let t=bo(e);if(t>Number.MAX_SAFE_INTEGER)throw new Ir("Byte length is too large");let r=Number(t);return Dt+=r,ui.slice(Dt-r,Dt)}function dc(e){let t=Ju(e);return kh.decode(t)}function Hh(e,t){let r=bo(e);if(r===Ku)return zn(t);throw new Ir(`Unsupported tag: ${r}.`)}var di=class extends Error{constructor(t){super(t),this.name="SerializationError"}},Gh=2*1024,Jh=100,Wh=new TextEncoder;function li(e){return e<<5}var ct=new Uint8Array(Gh),Pt=new DataView(ct.buffer),Te=0,uc=[];function Wu(e,t){Te=0;let r=t?.(e)??e;return rm(Ku,r,t),ct.slice(0,Te)}function pc(e,t){if(Te>ct.length-Jh&&(ct=Hu(ct,ct.length*2),Pt=new DataView(ct.buffer)),e===!1||e===!0||e===null||e===void 0){Zh(e);return}if(typeof e=="number"||typeof e=="bigint"){tm(e);return}if(typeof e=="string"){Zu(e);return}if(e instanceof Uint8Array){ju(e);return}if(e instanceof ArrayBuffer){ju(new Uint8Array(e));return}if(Array.isArray(e)){zh(e,t);return}if(typeof e=="object"){Yh(e,t);return}throw new di(`Unsupported type: ${typeof e}`)}function zh(e,t){wo(Ne.Array,e.length),e.forEach((r,n)=>{pc(t?.(r,n.toString())??r,t)})}function Yh(e,t){uc=Object.entries(e),wo(Ne.Map,uc.length),uc.forEach(([r,n])=>{Zu(r),pc(t?.(n,r)??n,t)})}function wo(e,t){if(t<=Vh){Pt.setUint8(Te++,li(e)|Number(t));return}if(t<=Ph){Pt.setUint8(Te++,li(e)|Ft.OneByte),Pt.setUint8(Te,Number(t)),Te+=1;return}if(t<=Fh){Pt.setUint8(Te++,li(e)|Ft.TwoBytes),Pt.setUint16(Te,Number(t),xo),Te+=2;return}if(t<=Bh){Pt.setUint8(Te++,li(e)|Ft.FourBytes),Pt.setUint32(Te,Number(t),xo),Te+=4;return}if(t<=Dh){Pt.setUint8(Te++,li(e)|Ft.EightBytes),Pt.setBigUint64(Te,BigInt(t),xo),Te+=8;return}throw new di(`Value too large to encode: ${t}`)}function Zh(e){wo(Ne.Simple,Xh(e))}function Xh(e){if(e===!1)return Bt.False;if(e===!0)return Bt.True;if(e===null)return Bt.Null;if(e===void 0)return Bt.Undefined;throw new di(`Unrecognized simple value: ${e.toString()}`)}function zu(e,t){wo(e,t.length),Te>ct.length-t.length&&(ct=Hu(ct,ct.length+t.length),Pt=new DataView(ct.buffer)),ct.set(t,Te),Te+=t.length}function Yu(e,t){wo(e,t)}function Qh(e){Yu(Ne.UnsignedInteger,e)}function em(e){Yu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function tm(e){e>=0?Qh(e):em(e)}function Zu(e){zu(Ne.TextString,Wh.encode(e))}function ju(e){zu(Ne.ByteString,e)}function rm(e,t,r){wo(Ne.Tag,e),pc(t,r)}var pi="__expiry__",fc=BigInt(1e3),om=BigInt(1e6),im=BigInt(60),hc=im*fc,sm=BigInt(1)*hc;function am(e){return e/fc*fc}function cm(e){return e/hc*hc}var Yn=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=cm(o),s;return i>=n+sm?s=i:s=am(o),new e(s*om)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[pi]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[pi])try{let n=BigInt(r[pi]);return new e(n)}catch(n){throw new z(new Qo(`Not a valid BigInt: ${n}`))}throw new z(new Qo(`The input does not contain the key ${pi}`))}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 lm(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function fi(e){try{return Wu(e,t=>q.isPrincipal(t)?t.toUint8Array():Yn.isExpiry(t)?t.toBigInt():lm(t)?t.toCborValue():t)}catch(t){throw z.fromCode(new is(t,e))}}function je(e){try{return Gu(e)}catch(t){throw z.fromCode(new os(t,e))}}var Ss={encode:fi,decode:je};var hi=()=>{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 Ar;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(Ar||(Ar={}));var Vs;(function(e){e.Call="call"})(Vs||(Vs={}));var Zn;(function(e){e.Query="query",e.ReadState="read_state"})(Zn||(Zn={}));var lt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(lt||(lt={}));function mi(){let e=new ArrayBuffer(16),t=new DataView(e),r=hi(),n=hi(),o=hi(),i=hi();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})}function mc(e=mi){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Ar.Call&&(t.body.nonce=e())}}function _c(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var gc=BigInt(0),Ps=BigInt(1);function Xn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function en(e,t,r=""){let n=jt(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===""?gc:BigInt("0x"+e)}function Qe(e){return Xu(j(e))}function Sr(e){return fe(e),Xu(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function xc(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(jt(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 Qu(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 bc(e){return Uint8Array.from(e)}var yc=e=>typeof e=="bigint"&&gc<=e;function wc(e,t,r){return yc(e)&&yc(t)&&yc(r)&&t<=e&&e<r}function Fs(e,t,r,n){if(!wc(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Cr(e){let t;for(t=0;e>gc;e>>=Ps,t+=1);return t}function ed(e,t){return e>>BigInt(t)&Ps}var Ut=e=>(Ps<<BigInt(e))-Ps;function td(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Vr(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 To=()=>{throw new Error("not implemented")};function tn(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 Ke=BigInt(0),Re=BigInt(1),Qn=BigInt(2),nd=BigInt(3),od=BigInt(4),id=BigInt(5),um=BigInt(7),sd=BigInt(8),dm=BigInt(9),ad=BigInt(16);function ce(e,t){let r=e%t;return r>=Ke?r:t+r}function kt(e,t,r){let n=e;for(;t-- >Ke;)n*=n,n%=r;return n}function rd(e,t){if(e===Ke)throw new Error("invert: expected non-zero number");if(t<=Ke)throw new Error("invert: expected positive modulus, got "+t);let r=ce(e,t),n=t,o=Ke,i=Re,s=Re,a=Ke;for(;r!==Ke;){let l=n/r,d=n%r,p=o-s*l,u=i-a*l;n=r,r=d,o=s,i=a,s=p,a=u}if(n!==Re)throw new Error("invert: does not exist");return ce(o,t)}function Tc(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function cd(e,t){let r=(e.ORDER+Re)/od,n=e.pow(t,r);return Tc(e,n,t),n}function pm(e,t){let r=(e.ORDER-id)/sd,n=e.mul(t,Qn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Qn),o),a=e.mul(i,e.sub(s,e.ONE));return Tc(e,a,t),a}function fm(e){let t=$e(e),r=ld(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+um)/ad;return(a,c)=>{let l=a.pow(c,s),d=a.mul(l,n),p=a.mul(l,o),u=a.mul(l,i),f=a.eql(a.sqr(d),c),h=a.eql(a.sqr(p),c);l=a.cmov(l,d,f),d=a.cmov(u,p,h);let _=a.eql(a.sqr(d),c),y=a.cmov(l,d,_);return Tc(a,y,c),y}}function ld(e){if(e<nd)throw new Error("sqrt is not defined for small field");let t=e-Re,r=0;for(;t%Qn===Ke;)t/=Qn,r++;let n=Qn,o=$e(e);for(;_i(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return cd;let i=o.pow(n,t),s=(t+Re)/Qn;return function(c,l){if(c.is0(l))return l;if(_i(c,l)!==1)throw new Error("Cannot find square root");let d=r,p=c.mul(c.ONE,i),u=c.pow(l,t),f=c.pow(l,s);for(;!c.eql(u,c.ONE);){if(c.is0(u))return c.ZERO;let h=1,_=c.sqr(u);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===d)throw new Error("Cannot find square root");let y=Re<<BigInt(d-h-1),m=c.pow(p,y);d=h,p=c.sqr(m),u=c.mul(u,p),f=c.mul(f,m)}return f}}function hm(e){return e%od===nd?cd:e%sd===id?pm:e%ad===dm?fm(e):ld(e)}var Pr=(e,t)=>(ce(e,t)&Re)===Re,mm=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Bs(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=mm.reduce((n,o)=>(n[o]="function",n),t);return Vr(e,r),e}function yi(e,t,r){if(r<Ke)throw new Error("invalid exponent, negatives unsupported");if(r===Ke)return e.ONE;if(r===Re)return t;let n=e.ONE,o=t;for(;r>Ke;)r&Re&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Re;return n}function mt(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 _i(e,t){let r=(e.ORDER-Re)/Qn,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 Nc(e,t){t!==void 0&&Ka(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function $e(e,t,r=!1,n={}){if(e<=Ke)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 u=t;u.BITS&&(o=u.BITS),u.sqrt&&(i=u.sqrt),typeof u.isLE=="boolean"&&(r=u.isLE),typeof u.modFromBytes=="boolean"&&(s=u.modFromBytes),a=u.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:l}=Nc(e,o);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d,p=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:l,MASK:Ut(c),ZERO:Ke,ONE:Re,allowedLengths:a,create:u=>ce(u,e),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return Ke<=u&&u<e},is0:u=>u===Ke,isValidNot0:u=>!p.is0(u)&&p.isValid(u),isOdd:u=>(u&Re)===Re,neg:u=>ce(-u,e),eql:(u,f)=>u===f,sqr:u=>ce(u*u,e),add:(u,f)=>ce(u+f,e),sub:(u,f)=>ce(u-f,e),mul:(u,f)=>ce(u*f,e),pow:(u,f)=>yi(p,u,f),div:(u,f)=>ce(u*rd(f,e),e),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>rd(u,e),sqrt:i||(u=>(d||(d=hm(e)),d(p,u))),toBytes:u=>r?xc(u,l):Oe(u,l),fromBytes:(u,f=!0)=>{if(a){if(!a.includes(u.length)||u.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+u.length);let _=new Uint8Array(l);_.set(u,r?0:_.length-u.length),u=_}if(u.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+u.length);let h=r?Sr(u):Qe(u);if(s&&(h=ce(h,e)),!f&&!p.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:u=>mt(p,u),cmov:(u,f,h)=>h?f:u});return Object.freeze(p)}function ud(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 Ds(e){let t=ud(e);return t+Math.ceil(t/2)}function Oc(e,t,r=!1){let n=e.length,o=ud(t),i=Ds(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Sr(e):Qe(e),a=ce(s,t-Re)+Re;return r?xc(a,o):Oe(a,o)}var No=BigInt(0),eo=BigInt(1);function gi(e,t){let r=t.negate();return e?r:t}function _t(e,t){let r=mt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function hd(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ec(e,t){hd(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Ut(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function dd(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+=eo);let l=t*n,d=l+Math.abs(a)-1,p=a===0,u=a<0,f=t%2!==0;return{nextN:c,offset:d,isZero:p,isNeg:u,isNegF:f,offsetF:l}}function ym(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 gm(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 Rc=new WeakMap,md=new WeakMap;function vc(e){return md.get(e)||1}function pd(e){if(e!==No)throw new Error("invalid wNAF")}var Oo=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>No;)r&eo&&(n=n.add(o)),o=o.double(),r>>=eo;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Ec(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let l=1;l<o;l++)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=Ec(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:l,isZero:d,isNeg:p,isNegF:u,offsetF:f}=dd(n,a,s);n=c,d?i=i.add(gi(u,r[f])):o=o.add(gi(p,r[l]))}return pd(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=Ec(t,this.bits);for(let s=0;s<i.windows&&n!==No;s++){let{nextN:a,offset:c,isZero:l,isNeg:d}=dd(n,s,i);if(n=a,!l){let p=r[c];o=o.add(d?p.negate():p)}}return pd(n),o}getPrecomputes(t,r,n){let o=Rc.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Rc.set(r,o))),o}cached(t,r,n){let o=vc(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=vc(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){hd(r,this.bits),md.set(t,r),Rc.delete(t)}hasCache(t){return vc(t)!==1}};function _d(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>No||n>No;)r&eo&&(i=i.add(o)),n&eo&&(s=s.add(o)),o=o.double(),r>>=eo,n>>=eo;return{p1:i,p2:s}}function Eo(e,t,r,n){ym(r,e),gm(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=Cr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let l=Ut(c),d=new Array(Number(l)+1).fill(s),p=Math.floor((t.BITS-1)/c)*c,u=s;for(let f=p;f>=0;f-=c){d.fill(s);for(let _=0;_<i;_++){let y=n[_],m=Number(y>>BigInt(f)&l);d[m]=d[m].add(r[_])}let h=s;for(let _=d.length-1,y=s;_>0;_--)y=y.add(d[_]),h=h.add(y);if(u=u.add(h),f!==0)for(let _=0;_<c;_++)u=u.double()}return u}function fd(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Bs(t),t}else return $e(e,{isLE:r})}function Us(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 l=t[c];if(!(typeof l=="bigint"&&l>No))throw new Error(`CURVE.${c} must be positive bigint`)}let o=fd(t.p,r.Fp,n),i=fd(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 xm=Qe;function rn(e,t){if(xi(e),xi(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 bm(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 xi(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function yd(e){if(!jt(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?G(e):e}function wm(e,t,r,n){fe(e),xi(r),t=yd(t),t.length>255&&(t=n($(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=$(t,rn(t.length,1)),c=rn(0,i),l=rn(r,2),d=new Array(s),p=n($(c,e,l,rn(0,1),a));d[0]=n($(p,rn(1,1),a));for(let f=1;f<=s;f++){let h=[bm(p,d[f-1]),rn(f+1,1),a];d[f]=n($(...h))}return $(...d).slice(0,r)}function Tm(e,t,r,n,o){if(fe(e),xi(r),t=yd(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(rn(r,2)).update(t).update(rn(t.length,1)).digest()}function Ic(e,t,r){Vr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!td(r.hash))throw new Error("expected valid hash");fe(e),xi(t);let l=n.toString(2).length,d=Math.ceil((l+o)/8),p=t*i*d,u;if(a==="xmd")u=wm(e,c,p,s);else if(a==="xof")u=Tm(e,c,p,o,s);else if(a==="_internal_pass")u=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 y=0;y<i;y++){let m=d*(y+h*i),b=u.subarray(m,m+d);_[y]=ce(xm(b),n)}f[h]=_}return f}function Ac(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(p=>p.reduce((u,f)=>e.add(e.mul(u,n),f))),[l,d]=mt(e,[s,c],!0);return n=e.mul(i,l),o=e.mul(o,e.mul(a,d)),{x:n,y:o}}}var Nm=G("HashToScalar-");function Sc(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=Ic(i,2,a),l=n(c[0]),d=n(c[1]);return o(l.add(d))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),l=Ic(i,1,c),d=n(l[0]);return o(d)},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:Nm},s);return Ic(i,1,c)[0][0]}}}var gd=(e,t)=>(e+(e>=0?t:-t)/Fr)/t;function Om(e,t,r){let[[n,o],[i,s]]=t,a=gd(s*e,r),c=gd(-o*e,r),l=e-a*n-c*i,d=-a*o-c*s,p=l<to,u=d<to;p&&(l=-l),u&&(d=-d);let f=Ut(Math.ceil(Cr(r)/2))+He;if(l<to||l>=f||d<to||d>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:p,k1:l,k2neg:u,k2:d}}var to=BigInt(0),He=BigInt(1),Fr=BigInt(2),Ro=BigInt(3),Cc=BigInt(4);function bi(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 Em(e,t={}){let r=Us("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;Vr(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 l=Im(n,o);function d(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function p(A,x,N){let{x:S,y:B}=x.toAffine(),M=n.toBytes(S);if(Xn(N,"isCompressed"),N){d();let R=!n.isOdd(B);return $(Rm(R),M)}else return $(Uint8Array.of(4),M,n.toBytes(B))}function u(A){en(A,void 0,"Point");let{publicKey:x,publicKeyUncompressed:N}=l,S=A.length,B=A[0],M=A.subarray(1);if(S===x&&(B===2||B===3)){let R=n.fromBytes(M);if(!n.isValid(R))throw new Error("bad point: is not on curve, wrong x");let V=_(R),F;try{F=n.sqrt(V)}catch(te){let Z=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+Z)}d();let D=n.isOdd(F);return(B&1)===1!==D&&(F=n.neg(F)),{x:R,y:F}}else if(S===N&&B===4){let R=n.BYTES,V=n.fromBytes(M.subarray(0,R)),F=n.fromBytes(M.subarray(R,R*2));if(!y(V,F))throw new Error("bad point: is not on curve");return{x:V,y:F}}else throw new Error(`bad point: got length ${S}, expected compressed=${x} or uncompressed=${N}`)}let f=t.toBytes||p,h=t.fromBytes||u;function _(A){let x=n.sqr(A),N=n.mul(x,A);return n.add(n.add(N,n.mul(A,i.a)),i.b)}function y(A,x){let N=n.sqr(x),S=_(A);return n.eql(N,S)}if(!y(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,Ro),Cc),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 g(A,x,N=!1){if(!n.isValid(x)||N&&n.is0(x))throw new Error(`bad point coordinate ${A}`);return x}function T(A){if(!(A instanceof w))throw new Error("ProjectivePoint expected")}function O(A){if(!c||!c.basises)throw new Error("no endo");return Om(A,c.basises,o.ORDER)}let v=tn((A,x)=>{let{X:N,Y:S,Z:B}=A;if(n.eql(B,n.ONE))return{x:N,y:S};let M=A.is0();x==null&&(x=M?n.ONE:n.inv(B));let R=n.mul(N,x),V=n.mul(S,x),F=n.mul(B,x);if(M)return{x:n.ZERO,y:n.ZERO};if(!n.eql(F,n.ONE))throw new Error("invZ was invalid");return{x:R,y:V}}),E=tn(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x,y:N}=A.toAffine();if(!n.isValid(x)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!y(x,N))throw new Error("bad point: equation left != right");if(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function C(A,x,N,S,B){return N=new w(n.mul(N.X,A),N.Y,N.Z),x=gi(S,x),N=gi(B,N),x.add(N)}class w{constructor(x,N,S){this.X=g("x",x),this.Y=g("y",N,!0),this.Z=g("z",S),Object.freeze(this)}static CURVE(){return i}static fromAffine(x){let{x:N,y:S}=x||{};if(!x||!n.isValid(N)||!n.isValid(S))throw new Error("invalid affine point");if(x instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(S)?w.ZERO:new w(N,S,n.ONE)}static fromBytes(x){let N=w.fromAffine(h(en(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 P.createCache(this,x),N||this.multiply(Ro),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:S,Z:B}=this,{X:M,Y:R,Z:V}=x,F=n.eql(n.mul(N,V),n.mul(M,B)),D=n.eql(n.mul(S,V),n.mul(R,B));return F&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:x,b:N}=i,S=n.mul(N,Ro),{X:B,Y:M,Z:R}=this,V=n.ZERO,F=n.ZERO,D=n.ZERO,k=n.mul(B,B),te=n.mul(M,M),Z=n.mul(R,R),Y=n.mul(B,M);return Y=n.add(Y,Y),D=n.mul(B,R),D=n.add(D,D),V=n.mul(x,D),F=n.mul(S,Z),F=n.add(V,F),V=n.sub(te,F),F=n.add(te,F),F=n.mul(V,F),V=n.mul(Y,V),D=n.mul(S,D),Z=n.mul(x,Z),Y=n.sub(k,Z),Y=n.mul(x,Y),Y=n.add(Y,D),D=n.add(k,k),k=n.add(D,k),k=n.add(k,Z),k=n.mul(k,Y),F=n.add(F,k),Z=n.mul(M,R),Z=n.add(Z,Z),k=n.mul(Z,Y),V=n.sub(V,k),D=n.mul(Z,te),D=n.add(D,D),D=n.add(D,D),new w(V,F,D)}add(x){T(x);let{X:N,Y:S,Z:B}=this,{X:M,Y:R,Z:V}=x,F=n.ZERO,D=n.ZERO,k=n.ZERO,te=i.a,Z=n.mul(i.b,Ro),Y=n.mul(N,M),xe=n.mul(S,R),be=n.mul(B,V),ze=n.add(N,S),ne=n.add(M,R);ze=n.mul(ze,ne),ne=n.add(Y,xe),ze=n.sub(ze,ne),ne=n.add(N,B);let ie=n.add(M,V);return ne=n.mul(ne,ie),ie=n.add(Y,be),ne=n.sub(ne,ie),ie=n.add(S,B),F=n.add(R,V),ie=n.mul(ie,F),F=n.add(xe,be),ie=n.sub(ie,F),k=n.mul(te,ne),F=n.mul(Z,be),k=n.add(F,k),F=n.sub(xe,k),k=n.add(xe,k),D=n.mul(F,k),xe=n.add(Y,Y),xe=n.add(xe,Y),be=n.mul(te,be),ne=n.mul(Z,ne),xe=n.add(xe,be),be=n.sub(Y,be),be=n.mul(te,be),ne=n.add(ne,be),Y=n.mul(xe,ne),D=n.add(D,Y),Y=n.mul(ie,ne),F=n.mul(ze,F),F=n.sub(F,Y),Y=n.mul(ze,xe),k=n.mul(ie,k),k=n.add(k,Y),new w(F,D,k)}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 S,B,M=R=>P.cached(this,R,V=>_t(w,V));if(N){let{k1neg:R,k1:V,k2neg:F,k2:D}=O(x),{p:k,f:te}=M(V),{p:Z,f:Y}=M(D);B=te.add(Y),S=C(N.beta,k,Z,R,F)}else{let{p:R,f:V}=M(x);S=R,B=V}return _t(w,[S,B])[0]}multiplyUnsafe(x){let{endo:N}=t,S=this;if(!o.isValid(x))throw new Error("invalid scalar: out of range");if(x===to||S.is0())return w.ZERO;if(x===He)return S;if(P.hasCache(this))return this.multiply(x);if(N){let{k1neg:B,k1:M,k2neg:R,k2:V}=O(x),{p1:F,p2:D}=_d(w,S,M,V);return C(N.beta,F,D,B,R)}else return P.unsafe(S,x)}multiplyAndAddUnsafe(x,N,S){let B=this.multiplyUnsafe(N).add(x.multiplyUnsafe(S));return B.is0()?void 0:B}toAffine(x){return v(this,x)}isTorsionFree(){let{isTorsionFree:x}=t;return s===He?!0:x?x(w,this):P.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:x}=t;return s===He?this:x?x(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(x=!0){return Xn(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 _t(w,x)}static msm(x,N){return Eo(w,o,x,N)}static fromPrivateKey(x){return w.BASE.multiply(bi(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 I=o.BITS,P=new Oo(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function Rm(e){return Uint8Array.of(e?2:3)}function vm(e,t){let r=e.ORDER,n=to;for(let h=r-He;h%Fr===to;h/=Fr)n+=He;let o=n,i=Fr<<o-He-He,s=i*Fr,a=(r-He)/s,c=(a-He)/Fr,l=s-He,d=i,p=e.pow(t,a),u=e.pow(t,(a+He)/Fr),f=(h,_)=>{let y=p,m=e.pow(_,l),b=e.sqr(m);b=e.mul(b,_);let g=e.mul(h,b);g=e.pow(g,c),g=e.mul(g,m),m=e.mul(g,_),b=e.mul(g,h);let T=e.mul(b,m);g=e.pow(T,d);let O=e.eql(g,e.ONE);m=e.mul(b,u),g=e.mul(T,y),b=e.cmov(m,b,O),T=e.cmov(g,T,O);for(let v=o;v>He;v--){let E=v-Fr;E=Fr<<E-He;let C=e.pow(T,E),w=e.eql(C,e.ONE);m=e.mul(b,y),y=e.mul(y,y),C=e.mul(T,y),b=e.cmov(m,b,w),T=e.cmov(C,T,w)}return{isValid:O,value:b}};if(e.ORDER%Cc===Ro){let h=(e.ORDER-Ro)/Cc,_=e.sqrt(e.neg(t));f=(y,m)=>{let b=e.sqr(m),g=e.mul(y,m);b=e.mul(b,g);let T=e.pow(b,h);T=e.mul(T,g);let O=e.mul(T,_),v=e.mul(e.sqr(T),m),E=e.eql(v,y),C=e.cmov(O,T,E);return{isValid:E,value:C}}}return f}function Vc(e,t){Bs(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=vm(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,l,d,p,u,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),l=e.add(c,e.ONE),l=e.mul(l,n),d=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),d=e.mul(d,r),c=e.sqr(l),u=e.sqr(d),p=e.mul(u,r),c=e.add(c,p),c=e.mul(c,l),u=e.mul(u,d),p=e.mul(u,n),c=e.add(c,p),f=e.mul(a,l);let{isValid:_,value:y}=i(c,u);h=e.mul(a,s),h=e.mul(h,y),f=e.cmov(f,l,_),h=e.cmov(h,y,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let b=mt(e,[d],!0)[0];return f=e.mul(f,b),{x:f,y:h}}}function Im(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Pc(e){let{CURVE:t,curveOpts:r}=Am(e),n=Em(t,r);return Cm(e,n)}function Am(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=$e(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 Sm(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 Cm(e,t){let{Fp:r,Fn:n}=t;function o(s){return wc(s,He,n.ORDER)}let i=Sm(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>bi(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Vm=BigInt(0),ks=BigInt(1),xd=BigInt(2),vo=BigInt(3);function Pm(e){let t=[];for(;e>ks;e>>=ks)(e&ks)===Vm?t.unshift(0):(e&vo)===vo?(t.unshift(-1),e+=ks):t.unshift(1);return t}function Fc(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Fm(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:l}=n,d;if(s==="multiplicative")d=(g,T,O,v,E,C)=>i.mul014(v,g,o.mul(T,E),o.mul(O,C));else if(s==="divisive")d=(g,T,O,v,E,C)=>i.mul034(v,o.mul(O,C),o.mul(T,E),g);else throw new Error("bls: unknown twist type");let p=o.div(o.ONE,o.mul(o.ONE,xd));function u(g,T,O,v){let E=o.sqr(O),C=o.sqr(v),w=o.mulByB(o.mul(C,vo)),I=o.mul(w,vo),P=o.sub(o.sub(o.sqr(o.add(O,v)),C),E),A=o.sub(w,E),x=o.mul(o.sqr(T),vo),N=o.neg(P);return g.push([A,x,N]),T=o.mul(o.mul(o.mul(o.sub(E,I),T),O),p),O=o.sub(o.sqr(o.mul(o.add(E,I),p)),o.mul(o.sqr(w),vo)),v=o.mul(E,P),{Rx:T,Ry:O,Rz:v}}function f(g,T,O,v,E,C){let w=o.sub(O,o.mul(C,v)),I=o.sub(T,o.mul(E,v)),P=o.sub(o.mul(w,E),o.mul(I,C)),A=o.neg(w),x=I;g.push([P,A,x]);let N=o.sqr(I),S=o.mul(N,I),B=o.mul(N,T),M=o.add(o.sub(S,o.mul(B,xd)),o.mul(o.sqr(w),v));return T=o.mul(I,M),O=o.sub(o.mul(o.sub(B,M),w),o.mul(S,O)),v=o.mul(v,S),{Rx:T,Ry:O,Rz:v}}let h=Pm(a),_=tn(g=>{let T=g,{x:O,y:v}=T.toAffine(),E=O,C=v,w=o.neg(v),I=E,P=C,A=o.ONE,x=[];for(let N of h){let S=[];({Rx:I,Ry:P,Rz:A}=u(S,I,P,A)),N&&({Rx:I,Ry:P,Rz:A}=f(S,I,P,A,E,N===-1?w:C)),x.push(S)}if(l){let N=x[x.length-1];l(I,P,A,E,C,f.bind(null,N))}return x});function y(g,T=!1){let O=i.ONE;if(g.length){let v=g[0][0].length;for(let E=0;E<v;E++){O=i.sqr(O);for(let[C,w,I]of g)for(let[P,A,x]of C[E])O=d(P,A,x,O,w,I)}}return c&&(O=i.conjugate(O)),T?i.finalExponentiate(O):O}function m(g,T=!0){let O=[];_t(t,g.map(({g1:v})=>v)),_t(r,g.map(({g2:v})=>v));for(let{g1:v,g2:E}of g){if(v.is0()||E.is0())throw new Error("pairing is not available for ZERO point");v.assertValidity(),E.assertValidity();let C=v.toAffine();O.push([_(E),C.x,C.y])}return y(O,T)}function b(g,T,O=!0){return m([{g1:g,g2:T}],O)}return{Fp12:i,millerLoopBatch:y,pairing:b,pairingBatch:m,calcPairingPrecomputes:_}}function bd(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(p){return p instanceof t.Point?p:t.Point.fromHex(p)}function c(p){return p instanceof r.Point?p:r.Point.fromHex(p)}function l(p){if(!(p instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return p}let d=o?(p,u)=>({g1:u,g2:p}):(p,u)=>({g1:p,g2:u});return{getPublicKey(p){let u=bi(t.Point.Fn,p);return t.Point.BASE.multiply(u)},sign(p,u,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=bi(t.Point.Fn,u);return l(p).assertValidity(),p.multiply(h)},verify(p,u,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");p=c(p),f=a(f);let _=f.negate(),y=t.Point.BASE,m=l(u),b=p,g=s([d(_,m),d(y,b)]);return i.eql(g,i.ONE)},verifyBatch(p,u,f){if(Fc(u),f.length!==u.length)throw new Error("amount of public keys and messages should be equal");let h=c(p),_=u,y=f.map(a),m=new Map;for(let T=0;T<y.length;T++){let O=y[T],v=_[T],E=m.get(v);E===void 0&&(E=[],m.set(v,E)),E.push(O)}let b=[],g=t.Point.BASE;try{for(let[T,O]of m){let v=O.reduce((E,C)=>E.add(C));b.push(d(v,T))}return b.push(d(g.negate(),h)),i.eql(s(b),i.ONE)}catch{return!1}},aggregatePublicKeys(p){Fc(p),p=p.map(f=>a(f));let u=p.reduce((f,h)=>f.add(h),t.Point.ZERO);return u.assertValidity(),u},aggregateSignatures(p){Fc(p),p=p.map(f=>c(f));let u=p.reduce((f,h)=>f.add(h),r.Point.ZERO);return u.assertValidity(),u},hash(p,u){fe(p);let f=u?{DST:u}:void 0;return r.hashToCurve(p,f)},Signature:n}}function wd(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Pc(e.G1),a=Object.assign(s,Sc(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Pc(e.G2),l=Object.assign(c,Sc(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),d=Fm(e.fields,a.Point,l.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:p,pairing:u,pairingBatch:f,calcPairingPrecomputes:h}=d,_=bd(d,a,l,e.G2.Signature,!1),y=bd(d,l,a,e.G1.ShortSignature,!0),m=e.randomBytes||uo,b=()=>{let R=Ds(r.ORDER);return Oc(m(R),r.ORDER)},g={randomSecretKey:b,randomPrivateKey:b,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:O}=e.G2;function v(R,V){return R instanceof a.Point?R:y.hash(de("point",R),V?.DST)}function E(R,V){return R instanceof l.Point?R:_.hash(de("point",R),V?.DST)}function C(R){return _.getPublicKey(R).toBytes(!0)}function w(R){return y.getPublicKey(R).toBytes(!0)}function I(R,V,F){let D=E(R,F),k=_.sign(D,V);return R instanceof l.Point?k:O.toBytes(k)}function P(R,V,F){let D=v(R,F),k=y.sign(D,V);return R instanceof a.Point?k:T.toBytes(k)}function A(R,V,F,D){let k=E(V,D);return _.verify(R,k,F)}function x(R,V,F,D){let k=v(V,D);return y.verify(R,k,F)}function N(R){let V=_.aggregatePublicKeys(R);return R[0]instanceof a.Point?V:V.toBytes(!0)}function S(R){let V=_.aggregateSignatures(R);return R[0]instanceof l.Point?V:O.toBytes(V)}function B(R){let V=y.aggregateSignatures(R);return R[0]instanceof a.Point?V:T.toBytes(V)}function M(R,V,F,D){let k=V.map(te=>E(te,D));return _.verifyBatch(R,k,F)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:y,millerLoopBatch:p,pairing:u,pairingBatch:f,verifyBatch:M,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:g,getPublicKey:C,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:P,verify:A,verifyShortSignature:x,aggregatePublicKeys:N,aggregateSignatures:S,aggregateShortSignatures:B,G1:a,G2:l,Signature:O,ShortSignature:T}}var Td=BigInt(0),Br=BigInt(1),Ge=BigInt(2),Nd=BigInt(3);function kc(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let l=0;l<o;l++){let d=BigInt(l+1),p=[];for(let u=0,f=Br;u<n;u++){let h=(d*f-d)/s%a;p.push(e.pow(t,h)),f*=r}c.push(p)}return c}function Ed(e,t,r){let n=t.pow(r,(e.ORDER-Br)/Nd),o=t.pow(r,(e.ORDER-Br)/Ge);function i(u,f){let h=t.mul(t.frobeniusMap(u,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**Ge-Br)/Nd),a=t.pow(r,(e.ORDER**Ge-Br)/Ge);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(u,f){return[t.mul(u,s),t.neg(f)]}let l=u=>(f,h)=>{let _=h.toAffine(),y=u(_.x,_.y);return f.fromAffine({x:y[0],y:y[1]})},d=l(i),p=l(c);return{psi:i,psi2:c,G2psi:d,G2psi2:p,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var Od=(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]}},Bc=class{constructor(t,r={}){this.MASK=Br;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=Cr(o),this.BYTES=Math.ceil(Cr(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,Ge),this.NONRESIDUE=Od(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=kc(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Od(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Td<=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 yi(this,t,r)}invertBatch(t){return mt(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),l=o.sub(a,c),d=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:l,c1:d}}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 _i(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);_i(r,a)===-1&&(a=r.sub(a,s));let l=r.sqrt(a),d=n.create({c0:l,c1:r.div(r.mul(i,this.Fp_div2),l)});if(!n.eql(n.sqr(d),t))throw new Error("Cannot find square root");let p=d,u=n.neg(p),{re:f,im:h}=n.reim(p),{re:_,im:y}=n.reim(u);return h>y||h===y&&f>_?p:u}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%Ge,i=r===Td,s=n%Ge;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 $(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])}}},Dc=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=kc(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,l=i.mul(t,s),d=i.mul(r,a),p=i.mul(n,c);return{c0:i.add(l,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(d,p)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(l,d)),i.mulByNonresidue(p)),c2:i.sub(i.add(d,i.mul(i.add(t,n),i.add(s,c))),i.add(l,p))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),Ge),a=o.mul(o.mul(r,n),Ge),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 To()}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 yi(this,t,r)}invertBatch(t){return mt(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 $(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)}}},Uc=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=kc(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){To()}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 yi(this,t,r)}invertBatch(t){return mt(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 $(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),l=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(l),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),l)}}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)}),l=s.mul01(r,o,i),d=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(l),c),c1:s.sub(d,s.add(c,l))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:l,c2:d}=r,{first:p,second:u}=o.Fp4Square(i,l),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:y}=o.Fp4Square(s,d),m=o.mulByNonresidue(y);return{c0:n.create({c0:o.add(o.mul(o.sub(p,i),Ge),p),c1:o.add(o.mul(o.sub(f,s),Ge),f),c2:o.add(o.mul(o.sub(_,a),Ge),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),Ge),m),c1:o.add(o.mul(o.add(u,l),Ge),u),c2:o.add(o.mul(o.add(h,d),Ge),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),ed(r,o)&&(n=this.mul(n,t));return n}};function Rd(e){let t=$e(e.ORDER),r=new Bc(t,e),n=new Dc(r),o=new Uc(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Fe=BigInt(0),Ls=BigInt(1),yt=BigInt(2),qs=BigInt(3),wi=BigInt(4),nn=BigInt("0xd201000000010000"),Bm=Cr(nn),ro={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Fe,b:wi,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Dm=$e(ro.n,{modFromBytes:!0,isLE:!0}),{Fp:L,Fp2:W,Fp6:Um,Fp12:Q}=Rd({ORDER:ro.p,X_LEN:Bm,FP2_NONRESIDUE:[Ls,Ls],Fp2mulByB:({c0:e,c1:t})=>{let r=L.mul(e,wi),n=L.mul(t,wi);return{c0:L.sub(r,n),c1:L.add(r,n)}},Fp12finalExponentiate:e=>{let t=nn,r=Q.div(Q.frobeniusMap(e,6),e),n=Q.mul(Q.frobeniusMap(r,2),r),o=Q.conjugate(Q._cyclotomicExp(n,t)),i=Q.mul(Q.conjugate(Q._cyclotomicSquare(n)),o),s=Q.conjugate(Q._cyclotomicExp(i,t)),a=Q.conjugate(Q._cyclotomicExp(s,t)),c=Q.mul(Q.conjugate(Q._cyclotomicExp(a,t)),Q._cyclotomicSquare(o)),l=Q.conjugate(Q._cyclotomicExp(c,t)),d=Q.frobeniusMap(Q.mul(o,a),2),p=Q.frobeniusMap(Q.mul(s,n),3),u=Q.frobeniusMap(Q.mul(c,Q.conjugate(n)),1),f=Q.mul(Q.mul(l,Q.conjugate(i)),n);return Q.mul(Q.mul(Q.mul(d,p),u),f)}}),{G2psi:vd,G2psi2:km}=Ed(L,W,W.div(W.ONE,W.NONRESIDUE)),Lc=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:L.ORDER,m:2,k:128,expand:"xmd",hash:Ve}),jc={p:W.ORDER,n:ro.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([wi,wi]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},Ms=Ti(L.toBytes(Fe),{infinity:!0,compressed:!0});function js(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 Ti(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 Lm(e,t,r){let{BYTES:n,ORDER:o}=L,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return Ms.slice();let c=!!(a*yt/o);return Ti(Oe(s,n),{compressed:!0,sort:c})}else return i?$(Uint8Array.of(64),new Uint8Array(2*n-1)):$(Oe(s,n),Oe(a,n))}function qc(e){e.assertValidity();let{BYTES:t,ORDER:r}=L,{x:n,y:o}=e.toAffine();if(e.is0())return Ms.slice();let i=!!(o*yt/r);return Ti(Oe(n,t),{compressed:!0,sort:i})}function qm(e){let{compressed:t,infinity:r,sort:n,value:o}=js(e),{BYTES:i,ORDER:s}=L;if(o.length===48&&t){let a=Qe(o),c=L.create(a&Ut(L.BITS));if(r){if(c!==Fe)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Fe,y:Fe}}let l=L.add(L.pow(c,qs),L.create(ro.b)),d=L.sqrt(l);if(!d)throw new Error("invalid G1 point: compressed point");return d*yt/s!==BigInt(n)&&(d=L.neg(d)),{x:L.create(c),y:L.create(d)}}else if(o.length===96&&!t){let a=Qe(o.subarray(0,i)),c=Qe(o.subarray(i));if(r){if(a!==Fe||c!==Fe)throw new Error("G1: non-empty point at infinity");return Ni.G1.Point.ZERO.toAffine()}return{x:L.create(a),y:L.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Id(e){let{infinity:t,sort:r,value:n}=js(de("signatureHex",e,48)),o=L.ORDER,i=Ni.G1.Point,s=Qe(n);if(t)return i.ZERO;let a=L.create(s&Ut(L.BITS)),c=L.add(L.pow(a,qs),L.create(ro.b)),l=L.sqrt(c);if(!l)throw new Error("invalid G1 point: compressed");let d=BigInt(r);l*yt/o!==d&&(l=L.neg(l));let p=i.fromAffine({x:a,y:l});return p.assertValidity(),p}function Mm(e,t,r){let{BYTES:n,ORDER:o}=L,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return $(Ms,Oe(Fe,n));let c=!!(a.c1===Fe?a.c0*yt/o:a.c1*yt/o);return $(Ti(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return $(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:l}=W.reim(s),{re:d,im:p}=W.reim(a);return $(Oe(l,n),Oe(c,n),Oe(p,n),Oe(d,n))}}function Mc(e){e.assertValidity();let{BYTES:t}=L;if(e.is0())return $(Ms,Oe(Fe,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),l=!!((a>Fe?a*yt:s*yt)/L.ORDER&Ls),d=o;return $(Ti(Oe(i,t),{sort:l,compressed:!0}),Oe(d,t))}function jm(e){let{BYTES:t,ORDER:r}=L,{compressed:n,infinity:o,sort:i,value:s}=js(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,l,d)=>Qe(c.slice(l,d));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),l=a(s,t,2*t),d=W.create({c0:L.create(l),c1:L.create(c)}),p=W.add(W.pow(d,qs),jc.b),u=W.sqrt(p),f=u.c1===Fe?u.c0*yt/r:u.c1*yt/r?Ls:Fe;return u=i&&f>0?u:W.neg(u),{x:d,y:u}}else if(s.length===192&&!n){if(o){if(s.reduce((u,f)=>u!==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),l=a(s,1*t,2*t),d=a(s,2*t,3*t),p=a(s,3*t,4*t);return{x:W.fromBigTuple([l,c]),y:W.fromBigTuple([p,d])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Ad(e){let{ORDER:t}=L,{infinity:r,sort:n,value:o}=js(de("signatureHex",e)),i=Ni.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 l=L.create(a&Ut(L.BITS)),d=L.create(c),p=W.create({c0:d,c1:l}),u=W.add(W.pow(p,qs),jc.b),f=W.sqrt(u);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),y=BigInt(n),m=_>Fe&&_*yt/t!==y,b=_===Fe&&h*yt/t!==y;(m||b)&&(f=W.neg(f));let g=i.fromAffine({x:p,y:f});return g.assertValidity(),g}var Ni=wd({fields:{Fp:L,Fp2:W,Fp6:Um,Fp12:Q,Fr:Dm},G1:{...ro,Fp:L,htfDefaults:{...Lc,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(L.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(nn).negate().multiplyUnsafe(nn).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(nn).add(t),mapToCurve:Jm,fromBytes:qm,toBytes:Lm,ShortSignature:{fromBytes(e){return fe(e),Id(e)},fromHex(e){return Id(e)},toBytes(e){return qc(e)},toRawBytes(e){return qc(e)},toHex(e){return j(qc(e))}}},G2:{...jc,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Lc},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:Wm,isTorsionFree:(e,t)=>t.multiplyUnsafe(nn).negate().equals(vd(e,t)),clearCofactor:(e,t)=>{let r=nn,n=t.multiplyUnsafe(r).negate(),o=vd(e,t),i=t.double();return i=km(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:jm,toBytes:Mm,Signature:{fromBytes(e){return fe(e),Ad(e)},fromHex(e){return Ad(e)},toBytes(e){return Mc(e)},toRawBytes(e){return Mc(e)},toHex(e){return j(Mc(e))}}},params:{ateLoopSize:nn,r:ro.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Lc,hash:Ve}),Km=Ac(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))))),$m=Ac(L,[["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)))),Hm=Vc(L,{A:L.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:L.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:L.create(BigInt(11))}),Gm=Vc(W,{A:W.create({c0:L.create(Fe),c1:L.create(BigInt(240))}),B:W.create({c0:L.create(BigInt(1012)),c1:L.create(BigInt(1012))}),Z:W.create({c0:L.create(BigInt(-2)),c1:L.create(BigInt(-1))})});function Jm(e){let{x:t,y:r}=Hm(L.create(e[0]));return $m(t,r)}function Wm(e){let{x:t,y:r}=Gm(W.fromBigTuple(e));return Km(t,r)}function Sd(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 Ni.verifyShortSignature(o,i,n)}var Ym=BigInt(1e6),Kc=e=>_e(new Vt(e)),on=e=>{let r=Kc(e)/Ym;return new Date(Number(r))};var Cd=60*1e3,Zm=60,Xm=24,Qm=Xm*Zm,e_=5,t_=5,r_=30*Qm,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 n_(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var gt=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??Sd,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=e_,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return Dr(t,this.cert.tree)}lookup_subtree(t){return Ri(t,this.cert.tree)}async verify(){let t=await $s(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=i_(r),i=$(ac,t),s=De(this.lookup_path(["time"]));if(!s)throw re.fromCode(new It("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Cd,l=new Date,d=l.getTime()+a,p=d-c,u=d+t_*Cd,f=on(s),h=f.getTime()<p,_=f.getTime()>u;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Ye.fromCode(new Nr(this._maxAgeInMinutes,f,l,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ae.fromCode(new Se("System time has been synced with the IC network, but certificate is still too far in the future.")):Ye.fromCode(new Nr(5,f,l,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Ye.fromCode(new It("Invalid signature"))}catch(a){throw Ye.fromCode(new It("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:r_,agent:this.#t});if(r.cert.delegation)throw re.fromCode(new Xi);await r.verify();let n;if(Pd(this._principal)){let i=this._principal.canisterId;if(n=q.fromUint8Array(t.subnet_id),!$c({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Ye.fromCode(new jn(i,n))}else if(Vd(this._principal))n=this._principal.subnetId;else throw ft;let o=De(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw Vd(this._principal)?Ye.fromCode(new Qi(n)):Ye.fromCode(new ts(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(Pd(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function Vd(e){return"subnetId"in e}function Pd(e){return"canisterId"in e}var Oi=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),o_=96;function i_(e){let t=Oi.byteLength+o_;if(e.byteLength!==t)throw re.fromCode(new po(t,e.byteLength));let r=e.slice(0,Oi.byteLength);if(!Wn(r,Oi))throw re.fromCode(new rs(Oi,r));return e.slice(Oi.byteLength)}function De(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function $s(e){switch(e[0]){case pe.Empty:return Ve(Ks("ic-hashtree-empty"));case pe.Pruned:return e[1];case pe.Leaf:return Ve($(Ks("ic-hashtree-leaf"),e[1]));case pe.Labeled:return Ve($(Ks("ic-hashtree-labeled"),e[1],await $s(e[2])));case pe.Fork:return Ve($(Ks("ic-hashtree-fork"),await $s(e[1]),await $s(e[2])));default:throw ft}}function Ks(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return $(t,r)}function Fd(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 sn;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(sn||(sn={}));var le;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(le||(le={}));function Dr(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 Yr("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 ft}case pe.Pruned:return{status:Be.Unknown};case pe.Labeled:case pe.Fork:return{status:Be.Error};default:throw ft}let r=Fd(e),n=Ei(r,t);switch(n.status){case le.Found:return Dr(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 ft}}function Ri(e,t){if(e.length===0)return{status:sn.Found,value:t};let r=Fd(e),n=Ei(r,t);switch(n.status){case le.Found:return Ri(e.slice(1),n.value);case le.Unknown:return{status:sn.Unknown};case le.Absent:case le.Greater:case le.Less:return{status:sn.Absent};default:throw ft}}function Gs(e){switch(e[0]){case pe.Empty:return[];case pe.Fork:return Gs(e[1]).concat(Gs(e[2]));default:return[e]}}function Ei(e,t){switch(t[0]){case pe.Labeled:return n_(e,t[1])?{status:le.Greater}:Wn(e,t[1])?{status:le.Found,value:t[2]}:{status:le.Less};case pe.Fork:{let r=Ei(e,t[1]);switch(r.status){case le.Greater:{let n=Ei(e,t[2]);return n.status===le.Less?{status:le.Absent}:n}case le.Unknown:{let n=Ei(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 Hs(e,t){switch(t[0]){case pe.Empty|pe.Pruned:return[];case pe.Leaf:return[e];case pe.Fork:return Hs(e,t[1]).concat(Hs(e,t[2]));case pe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return Hs(o,n)}default:throw ft}}function $c(e){let t=s_(e),r=Hc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function s_(e){let{subnetId:t,tree:r,canisterId:n}=e,o=Ri(["canister_ranges",t.toUint8Array()],r);if(o.status!==sn.Found)return a_(t,r);let i=o.value,s=c_(i);if(s.length===0)throw re.fromCode(new jn(n,t));s.sort(fo);let a=l_(s,n),c=s[a];return u_(c,i)}function a_(e,t){let r=Dr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw re.fromCode(new At(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function Hc(e){return je(e).map(n=>[q.fromUint8Array(n[0]),q.fromUint8Array(n[1])])}function c_(e){let t=[];for(let r of Hs([],e)){let n=r[0];if(!n)throw re.fromCode(new It("Path is invalid"));t.push(n)}return t}function l_(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);fo(e[i],r)<=0?o=i:n=i+1}return n}function u_(e,t){let r=Dr([e],t);if(r.status!==Be.Found)throw re.fromCode(new At(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function Gc(e,t){return e.delegation?q.fromUint8Array(e.delegation.subnet_id):q.selfAuthenticating(t)}var Bd=q.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function Js(e,t){switch(t){case"raw":return e;case"leb128":return Kc(e);case"cbor":return je(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function Dd(e){return je(e).map(r=>q.fromUint8Array(r))}function Ud(e,t){let r=typeof e=="string"?G(e):e;return[G("canister"),t,G("metadata"),r]}function an(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function Io(e,t){let r=Ri(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==sn.Found)throw re.fromCode(new At("Node not found",r.status));if(r.value instanceof Uint8Array)throw ae.fromCode(new Yr("Invalid node tree"));let n=Gs(r.value),o=new Map;return n.forEach(i=>{let s=q.from(i[1]).toText(),a=Dr(["public_key"],i[2]);if(a.status!==Be.Found)throw re.fromCode(new At("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw re.fromCode(new po(44,c.byteLength));o.set(s,c)}),o}var kd=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=q.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,l)=>{let d=p_(c,o);return(async()=>{try{if(t.rootKey===null)throw Pe.fromCode(new Ct);let p=t.rootKey,u=await t.readState(o,{paths:[d]}),f=await gt.create({certificate:u.certificate,rootKey:p,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="subnet"){let g=d_(u.certificate,o,p);return{path:b,data:g}}return{path:b,data:De(m.lookup_path(d))}},{path:_,data:y}=h(f,i[l]);if(!y)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,on(y));break}case"controllers":{s.set(_,Dd(y));break}case"module_hash":{s.set(_,j(y));break}case"subnet":{s.set(_,y);break}case"candid":{s.set(_,new TextDecoder().decode(y));break}default:an(_)&&s.set(_.key,Js(y,_.decodeStrategy))}}catch(p){if(p instanceof st&&(p.hasCode(It)||p.hasCode(Nr)))throw p;an(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},d_=(e,t,r)=>{if(!t._isPrincipal)throw z.fromCode(new Se("Invalid canisterId"));let n=je(e),{delegation:o}=n,i;o&&o.subnet_id?i=q.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=q.selfAuthenticating(new Uint8Array(r)):i=Bd;let s=Io(n,i);return{subnetId:i.toText(),nodeKeys:s}},p_=(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(an(e))return typeof e.path=="string"||e.path instanceof Uint8Array?Ud(e.path,r):e.path}throw ae.fromCode(new Se(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function Ld(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=q.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,l)=>{let d=f_(c,o);return(async()=>{try{if(t.rootKey===null)throw Pe.fromCode(new Ct);let p=t.rootKey,u=await t.readSubnetState(o,{paths:[d]}),f=await gt.create({certificate:u.certificate,rootKey:p,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="nodeKeys"){let g=Io(m.cert,o);return{path:b,data:g}}return{path:b,data:De(m.lookup_path(d))}},{path:_,data:y}=h(f,i[l]);if(!y)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,on(y));break}case"canisterRanges":{s.set(_,Hc(y));break}case"publicKey":{s.set(_,y);break}case"nodeKeys":{s.set(_,y);break}default:an(_)&&s.set(_.key,Js(y,_.decodeStrategy))}}catch(p){if(p instanceof st&&(p.hasCode(It)||p.hasCode(Nr)))throw p;an(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function f_(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(an(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]}return e.path}}throw ae.fromCode(new Se(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}function Ws(e,t,r){let n=new Uint8Array(De(e.lookup_path([...t,"reject_code"])))[0],o=new TextDecoder().decode(De(e.lookup_path([...t,"reject_message"]))),i=De(e.lookup_path([...t,"error_code"])),s=i?new TextDecoder().decode(i):void 0;return new as(r,n,o,s)}var cn=BigInt(0),ve=BigInt(1),Jc=BigInt(2),h_=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 __(e,t={}){let r=Us("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;Vr(t,{},{uvRatio:"function"});let a=Jc<<BigInt(o.BYTES*8)-ve,c=y=>n.create(y),l=t.uvRatio||((y,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(y,m))}}catch{return{isValid:!1,value:cn}}});if(!m_(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function d(y,m,b=!1){let g=b?ve:cn;return Fs("coordinate "+y,m,g,a),m}function p(y){if(!(y instanceof h))throw new Error("ExtendedPoint expected")}let u=tn((y,m)=>{let{X:b,Y:g,Z:T}=y,O=y.is0();m==null&&(m=O?h_:n.inv(T));let v=c(b*m),E=c(g*m),C=n.mul(T,m);if(O)return{x:cn,y:ve};if(C!==ve)throw new Error("invZ was invalid");return{x:v,y:E}}),f=tn(y=>{let{a:m,d:b}=i;if(y.is0())throw new Error("bad point: ZERO");let{X:g,Y:T,Z:O,T:v}=y,E=c(g*g),C=c(T*T),w=c(O*O),I=c(w*w),P=c(E*m),A=c(w*c(P+C)),x=c(I+c(b*c(E*C)));if(A!==x)throw new Error("bad point: equation left != right (1)");let N=c(g*T),S=c(O*v);if(N!==S)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,b,g,T){this.X=d("x",m),this.Y=d("y",b),this.Z=d("z",g,!0),this.T=d("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:g}=m||{};return d("x",b),d("y",g),new h(b,g,ve,c(b*g))}static fromBytes(m,b=!1){let g=n.BYTES,{a:T,d:O}=i;m=bc(en(m,g,"point")),Xn(b,"zip215");let v=bc(m),E=m[g-1];v[g-1]=E&-129;let C=Sr(v),w=b?a:n.ORDER;Fs("point.y",C,cn,w);let I=c(C*C),P=c(I-ve),A=c(O*I-T),{isValid:x,value:N}=l(P,A);if(!x)throw new Error("bad point: invalid y coordinate");let S=(N&ve)===ve,B=(E&128)!==0;if(!b&&N===cn&&B)throw new Error("bad point: x=0 and x_0=1");return B!==S&&(N=c(-N)),h.fromAffine({x:N,y:C})}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(Jc),this}assertValidity(){f(this)}equals(m){p(m);let{X:b,Y:g,Z:T}=this,{X:O,Y:v,Z:E}=m,C=c(b*E),w=c(O*T),I=c(g*E),P=c(v*T);return C===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:b,Y:g,Z:T}=this,O=c(b*b),v=c(g*g),E=c(Jc*c(T*T)),C=c(m*O),w=b+g,I=c(c(w*w)-O-v),P=C+v,A=P-E,x=C-v,N=c(I*A),S=c(P*x),B=c(I*x),M=c(A*P);return new h(N,S,M,B)}add(m){p(m);let{a:b,d:g}=i,{X:T,Y:O,Z:v,T:E}=this,{X:C,Y:w,Z:I,T:P}=m,A=c(T*C),x=c(O*w),N=c(E*g*P),S=c(v*I),B=c((T+O)*(C+w)-A-x),M=S-N,R=S+N,V=c(x-b*A),F=c(B*M),D=c(R*V),k=c(B*V),te=c(M*R);return new h(F,D,te,k)}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:g}=_.cached(this,m,T=>_t(h,T));return _t(h,[b,g])[0]}multiplyUnsafe(m,b=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===cn?h.ZERO:this.is0()||m===ve?this:_.unsafe(this,m,g=>_t(h,g),b)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return u(this,m)}clearCofactor(){return s===ve?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:b}=this.toAffine(),g=n.toBytes(b);return g[g.length-1]|=m&ve?128:0,g}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 _t(h,m)}static msm(m,b){return Eo(h,o,m,b)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,ve,c(i.Gx*i.Gy)),h.ZERO=new h(cn,ve,ve,cn),h.Fp=n,h.Fn=o;let _=new Oo(h,o.BITS);return h.BASE.precompute(8),h}var zs=class{constructor(t){this.ep=t}static fromBytes(t){To()}static fromHex(t){To()}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 y_(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Vr(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||uo,c=r.adjustScalarBytes||(w=>w),l=r.domain||((w,I,P)=>{if(Xn(P,"phflag"),I.length||P)throw new Error("Contexts/pre-hash are not supported");return w});function d(w){return s.create(Sr(w))}function p(w){let I=g.secretKey;w=de("private key",w,I);let P=de("hashed private key",t(w),2*I),A=c(P.slice(0,I)),x=P.slice(I,2*I),N=d(A);return{head:A,prefix:x,scalar:N}}function u(w){let{head:I,prefix:P,scalar:A}=p(w),x=o.multiply(A),N=x.toBytes();return{head:I,prefix:P,scalar:A,point:x,pointBytes:N}}function f(w){return u(w).pointBytes}function h(w=Uint8Array.of(),...I){let P=$(...I);return d(t(l(P,de("context",w),!!n)))}function _(w,I,P={}){w=de("message",w),n&&(w=n(w));let{prefix:A,scalar:x,pointBytes:N}=u(I),S=h(P.context,A,w),B=o.multiply(S).toBytes(),M=h(P.context,B,N,w),R=s.create(S+M*x);if(!s.isValid(R))throw new Error("sign failed: invalid s");let V=$(B,s.toBytes(R));return en(V,g.signature,"result")}let y={zip215:!0};function m(w,I,P,A=y){let{context:x,zip215:N}=A,S=g.signature;w=de("signature",w,S),I=de("message",I),P=de("publicKey",P,g.publicKey),N!==void 0&&Xn(N,"zip215"),n&&(I=n(I));let B=S/2,M=w.subarray(0,B),R=Sr(w.subarray(B,S)),V,F,D;try{V=e.fromBytes(P,N),F=e.fromBytes(M,N),D=o.multiplyUnsafe(R)}catch{return!1}if(!N&&V.isSmallOrder())return!1;let k=h(x,F.toBytes(),V.toBytes(),I);return F.add(V.multiplyUnsafe(k)).subtract(D).clearCofactor().is0()}let b=i.BYTES,g={secretKey:b,publicKey:b,signature:2*b,seed:b};function T(w=a(g.seed)){return en(w,g.seed,"seed")}function O(w){let I=C.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function v(w){return jt(w)&&w.length===s.BYTES}function E(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let C={getExtendedPublicKey:u,randomSecretKey:T,isValidSecretKey:v,isValidPublicKey:E,toMontgomery(w){let{y:I}=e.fromBytes(w),P=g.publicKey,A=P===32;if(!A&&P!==57)throw new Error("only defined for 25519 and 448");let x=A?i.div(ve+I,ve-I):i.div(I-ve,I+ve);return i.toBytes(x)},toMontgomerySecret(w){let I=g.secretKey;en(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:O,getPublicKey:f,sign:_,verify:m,utils:C,Point:e,lengths:g})}function g_(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=$e(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 x_(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function qd(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=g_(e),i=__(t,r),s=y_(i,n,o);return x_(e,s)}var b_=BigInt(0),Ur=BigInt(1),Md=BigInt(2),Gb=BigInt(3),w_=BigInt(5),T_=BigInt(8),Ao=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),vi={p:Ao,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:T_,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function N_(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=Ao,a=e*e%i*e%i,c=kt(a,Md,i)*a%i,l=kt(c,Ur,i)*e%i,d=kt(l,w_,i)*l%i,p=kt(d,t,i)*d%i,u=kt(p,r,i)*p%i,f=kt(u,n,i)*u%i,h=kt(f,o,i)*f%i,_=kt(h,o,i)*f%i,y=kt(_,t,i)*d%i;return{pow_p_5_8:kt(y,Md,i)*e%i,b2:a}}function O_(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Wc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Zc(e,t){let r=Ao,n=ce(t*t*t,r),o=ce(n*n*t,r),i=N_(e*o).pow_p_5_8,s=ce(e*n*i,r),a=ce(t*s*s,r),c=s,l=ce(s*Wc,r),d=a===e,p=a===ce(-e,r),u=a===ce(-e*Wc,r);return d&&(s=c),(p||u)&&(s=l),Pr(s,r)&&(s=ce(-s,r)),{isValid:d||p,value:s}}var ln=$e(vi.p,{isLE:!0}),E_=$e(vi.n,{isLE:!0}),R_={...vi,Fp:ln,hash:au,adjustScalarBytes:O_,uvRatio:Zc},Je=qd(R_);var zc=Wc,v_=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),I_=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),A_=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),S_=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),jd=e=>Zc(Ur,e),C_=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Yc=e=>Je.Point.Fp.create(Sr(e)&C_);function Kd(e){let{d:t}=vi,r=Ao,n=m=>ln.create(m),o=n(zc*e*e),i=n((o+Ur)*A_),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:l}=Zc(i,a),d=n(l*e);Pr(d,r)||(d=n(-d)),c||(l=d),c||(s=o);let p=n(s*(o-Ur)*S_-a),u=l*l,f=n((l+l)*a),h=n(p*v_),_=n(Ur-u),y=n(Ur+u);return new Je.Point(n(f*y),n(_*h),n(h*y),n(f*_))}function V_(e){fe(e,64);let t=Yc(e.subarray(0,32)),r=Kd(t),n=Yc(e.subarray(32,64)),o=Kd(n);return new kr(r.add(o))}var kr=class e extends zs{constructor(t){super(t)}static fromAffine(t){return new e(Je.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return V_(de("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=vi,o=Ao,i=T=>ln.create(T),s=Yc(t);if(!Qu(ln.toBytes(s),t)||Pr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(Ur+r*a),l=i(Ur-r*a),d=i(c*c),p=i(l*l),u=i(r*n*d-p),{isValid:f,value:h}=jd(i(u*p)),_=i(h*l),y=i(h*_*u),m=i((s+s)*_);Pr(m,o)&&(m=i(-m));let b=i(c*y),g=i(m*b);if(!f||Pr(g,o)||b===b_)throw new Error("invalid ristretto255 encoding 2");return new e(new Je.Point(m,b,Ur,g))}static fromHex(t){return e.fromBytes(de("ristrettoHex",t,32))}static msm(t,r){return Eo(e,Je.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=Ao,s=y=>ln.create(y),a=s(s(n+r)*s(n-r)),c=s(t*r),l=s(c*c),{value:d}=jd(s(a*l)),p=s(d*a),u=s(d*c),f=s(p*u*o),h;if(Pr(o*f,i)){let y=s(r*zc),m=s(t*zc);t=y,r=m,h=s(p*I_)}else h=u;Pr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return Pr(_,i)&&(_=s(-_)),ln.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=l=>ln.create(l),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};kr.BASE=new kr(Je.Point.BASE);kr.ZERO=new kr(Je.Point.ZERO);kr.Fp=ln;kr.Fn=E_;function Ys(e){if(!Number.isFinite(e)||e<=0)throw new Error(`expirationTime must be a positive finite number, got ${e}`)}var Zs=class{#e;#t;#r=null;constructor(t){if(typeof globalThis.indexedDB>"u")throw new Error("IndexedDBExpirableStore requires IndexedDB, which is not available in this environment");Ys(t.expirationTime),this.#e=t.dbName,this.#t=t.storeName,this.expirationTime=t.expirationTime}#o(){return this.#r||(this.#r=this.#s().catch(t=>{throw this.#r=null,t})),this.#r}async#s(){let t=await this.#a();if(t.objectStoreNames.contains(this.#t))return t;let r=t.version+1;return t.close(),this.#a(r)}#a(t){let r=this.#t;return new Promise((n,o)=>{let i=globalThis.indexedDB.open(this.#e,t);i.onupgradeneeded=()=>{let s=i.result;s.objectStoreNames.contains(r)||s.createObjectStore(r,{keyPath:"key"})},i.onsuccess=()=>{let s=i.result;s.onversionchange=()=>{s.close(),this.#r=null},n(s)},i.onerror=()=>o(i.error)})}async get(t){let r=await this.#o();return new Promise((n,o)=>{let a=r.transaction(this.#t,"readonly").objectStore(this.#t).get(t);a.onsuccess=()=>{let c=a.result;if(!c){n(void 0);return}if(Date.now()-c.timestamp>this.expirationTime){this.delete(t).then(()=>n(void 0),()=>n(void 0));return}n(c.value)},a.onerror=()=>o(a.error)})}async set(t,r){await this.#n();let n=await this.#o();return new Promise((o,i)=>{let s=n.transaction(this.#t,"readwrite"),a=s.objectStore(this.#t),c={key:t,value:r,timestamp:Date.now()};a.put(c),s.oncomplete=()=>o(),s.onerror=()=>i(s.error)})}async delete(t){let r=await this.#o();return new Promise((n,o)=>{let i=r.transaction(this.#t,"readwrite");i.objectStore(this.#t).delete(t),i.oncomplete=()=>n(),i.onerror=()=>o(i.error)})}async#n(){let t=await this.#o(),r=Date.now();return new Promise((n,o)=>{let i=t.transaction(this.#t,"readwrite"),a=i.objectStore(this.#t).openCursor();a.onsuccess=()=>{let c=a.result;if(!c)return;let l=c.value;r-l.timestamp>this.expirationTime&&c.delete(),c.continue()},i.oncomplete=()=>n(),i.onerror=()=>o(i.error)})}};var Xs=class{#e;constructor(t){Ys(t.expirationTime),this.expirationTime=t.expirationTime,this.#e=new Map}get(t){let r=this.#e.get(t);return r?Date.now()-r.timestamp>this.expirationTime?(this.#e.delete(t),Promise.resolve(void 0)):Promise.resolve(r.value):Promise.resolve(void 0)}set(t,r){return this.#t(),this.#e.set(t,{value:r,timestamp:Date.now()}),Promise.resolve()}delete(t){return this.#e.delete(t),Promise.resolve()}#t(){let t=Date.now();for(let[r,n]of this.#e)t-n.timestamp>this.expirationTime&&this.#e.delete(r)}};function $d(e){return typeof globalThis.indexedDB<"u"?new Zs(e):new Xs({expirationTime:e.expirationTime})}var Hd=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw z.fromCode(new Wo("Length too long (> 4 bytes)"))},Gd=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw z.fromCode(new Wo("Length too long (> 4 bytes)"))},Xc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw z.fromCode(new St("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw z.fromCode(new St("Length too long (> 4 bytes)"))},P_=(e,t)=>{let r=Xc(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw z.fromCode(new St("Length too long (> 4 bytes)"))},Ii=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),no=Uint8Array.from([48,5,6,3,43,101,112]),ow=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),iw=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 oo(e,t){let r=2+Hd(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+Hd(n)+n);return i[o++]=48,o+=Gd(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=Gd(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var io=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw z.fromCode(new St(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Xc(o,r),!Wn(o.slice(r,r+t.byteLength),t))throw z.fromCode(new St("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=P_(o,r)-1;r+=Xc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw z.fromCode(new ns(i,s.length));return s};var Qs=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 oo(t,no)}static derDecode(t){let r=io(t,no);if(r.length!==this.RAW_KEY_LENGTH)throw z.fromCode(new St("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw z.fromCode(new St("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 Qc=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))}},ea=class extends Qc{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 ta=class e{#e;#t;#r;#o;#s;#a;#n;#i;#l=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.#o=i,this.#i=c,this.#s=c.now(),this.#a=s,this.#n=a}get ellapsedTimeInMsec(){return this.#i.now()-this.#s}get currentInterval(){return this.#e}get count(){return this.#l}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.#o),this.#l++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#a||this.#l>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var F_=300*1e3;function Jd(){return L_(D_(B_(),1e3),k_(1e3,1.2),U_(F_))}function B_(){let e=!0;return async()=>e?(e=!1,!0):!1}function D_(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function U_(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw re.fromCode(new Kn(`Request timed out after ${e} msec`,n,o))}}function k_(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function L_(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var zd={preSignReadStateRequest:!1};function Yd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function el(e,t){return e!==null&&typeof e=="object"&&Yd(e,t)}function M_(e,t){return Yd(e,t)&&typeof e[t]=="function"}function Wd(e){return el(e,"body")&&el(e.body,"content")&&e.body.content.request_type===Zn.ReadState&&el(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&M_(e.body.content.ingress_expiry,"toHash")}async function ra(e,t,r,n={}){let o=[G("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await j_({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 Pe.fromCode(new Ct);let c=await gt.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),l=De(c.lookup_path([...o,G("status")])),d;switch(typeof l>"u"?d=lt.Unknown:d=new TextDecoder().decode(l),d){case lt.Replied:return{reply:De(c.lookup_path([...o,"reply"])),certificate:c,rawCertificate:i.certificate};case lt.Received:case lt.Unknown:case lt.Processing:{let p=n.strategy??Jd();return await p(t,r,d),ra(e,t,r,{...n,strategy:p,request:s})}case lt.Rejected:throw vt.fromCode(Ws(c,o,r));case lt.Done:throw ae.fromCode(new us(r))}throw ft}async function j_(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Wd(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Wd(o))throw z.fromCode(new xs(o));return o}var nl=60*1e3,$_=1e6,H_=0,G_="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var J_="ic0.app",W_=".ic0.app",z_="icp0.io",Y_=".icp0.io",Z_="icp-api.io",X_=".icp-api.io",tl=200,Zd=202,Q_=404;function ey(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(`${window.location.protocol}//${e}`):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?`:${o.port}`:""}`):t=new URL("https://icp-api.io")}return t.toString()}var Lr=class e{#e;#t;#r;#o;#s;#a;#n;#i;#l;#T;#c;#d;#f;#u;#x;get#R(){return this.#u*nl}#h;#m;#b;#_;constructor(t={}){if(this.#e=null,this.#t=!1,this.#r=H_,this.#o=!1,this.#s=null,this.#a=!1,this._isAgent=!0,this.config={},this.log=new ea,this.#h=[],this.#m=[],this.#b=new Map,this.#_=!0,this.#N=(o,i)=>{if(this.#_===!1)return o;let{status:s,signatures:a=[],requestId:c}=o,l=i.size;if(a.length>l)throw re.fromCode(new hs(a.length,l));for(let d of a){let{timestamp:p,identity:u}=d,f=q.fromUint8Array(u).toText(),h;if(s===Hr.Replied){let{reply:g}=o;h=si({status:s,reply:g,timestamp:BigInt(p),request_id:c})}else if(s===Hr.Rejected){let{reject_code:g,reject_message:T,error_code:O}=o;h=si({status:s,reject_code:g,reject_message:T,error_code:O,timestamp:BigInt(p),request_id:c})}else throw ae.fromCode(new Se(`Unknown status: ${s}`));let _=$(cc,h),y=i.get(f);if(!y)throw re.fromCode(new _s);let m=Qs.fromDer(y).rawKey;if(!Je.verify(d.signature,_,m))throw Ye.fromCode(new ys(f))}return o},this.config=t,t.fetch)this.#i=t.fetch;else{let o=globalThis.fetch;if(typeof o!="function")throw z.fromCode(new ps);this.#i=o.bind(globalThis)}this.#l=t.fetchOptions,this.#T=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#a=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(G_);let r=ey(t.host);this.host=new URL(r),this.host.hostname.endsWith(W_)?this.host.hostname=J_:this.host.hostname.endsWith(Y_)?this.host.hostname=z_:this.host.hostname.endsWith(X_)&&(this.host.hostname=Z_),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#x=t.subnetNodeKeyExpirableStore??$d({dbName:`icp-sdk-${this.host.host}`,storeName:"subnetNodeKeys",expirationTime:5*nl}),this.#d=t.retryTimes??3;let n=()=>new ta({maxIterations:this.#d});if(this.#f=t.backoffStrategy||n,t.credentials){let{name:o,password:i}=t.credentials;this.#c=`${o}${i?`:${i}`:""}`}if(this.#n=Promise.resolve(t.identity||new at),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw z.fromCode(new $t("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw z.fromCode(new $t("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#u=t.ingressExpiryInMinutes||5,this.addTransform("update",mc(mi)),t.useQueryNonces&&this.addTransform("query",mc(mi)),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 z.fromCode(new fs)}}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 Pe.fromCode(new zr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw Pe.fromCode(new zr);let s=q.from(t),a=r.effectiveCanisterId?q.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),l=rl(this.#u,this.#r),d={request_type:Vs.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:l},p=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Ar.Call,body:d}),u;r?.nonce?u=f(r.nonce):p.body.nonce?u=f(p.body.nonce):u=void 0,d.nonce=u;function f(m){return Object.assign(m,{__nonce__:void 0})}p=await i.transformRequest(p);let h=fi(p.body),_=this.#f(),y=vr(d);try{let g=o?()=>{let E=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,p),this.#i(E,{...this.#T,...p.request,body:h})}:()=>{let E=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,p),this.#i(E,{...this.#T,...p.request,body:h})},{responseBodyBytes:T,...O}=await this.#y({requestFn:g,backoff:_,tries:0}),v=T.byteLength>0?je(T):null;return{requestId:y,response:{...O,body:v},requestDetails:d}}catch(m){let b;if(m instanceof st){if(m.hasCode(Yo))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode($t)&&!this.#o)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:y,senderPubKey:p.body.sender_pubkey,senderSignature:p.body.sender_sig,ingressExpiry:p.body.content.ingress_expiry},b=m}else b=ae.fromCode(new Se(m));throw this.log.error(`Error while making call: ${b.message}`,b),b}}async update(t,r,n={}){let o=q.from(r.effectiveCanisterId),{requestId:i,response:s,requestDetails:a}=await this.call(t,r),{body:c,...l}=s;if(jl(c))return this.#v(c,s,i,o,r.methodName,l,a,n);if(Ml(c)&&this.#I(c,i,o,r.methodName,l),s.status===Zd)return{...await ra(this,o,i,n),requestDetails:a,callResponse:s};let d=new Se(`Unexpected response from call: status ${s.status} with unrecognized body`);throw d.callContext={canisterId:o,methodName:r.methodName,httpDetails:l},ae.fromCode(d)}async#v(t,r,n,o,i,s,a,c){if(this.rootKey==null)throw Pe.fromCode(new Ct);let l=t.certificate,d=await gt.create({certificate:l,rootKey:this.rootKey,principal:{canisterId:o},blsVerify:c.blsVerify,agent:this}),p=[G("request_status"),n],u=De(d.lookup_path([...p,G("status")])),f=u?new TextDecoder().decode(u):void 0;switch(f){case lt.Replied:return{reply:De(d.lookup_path([...p,"reply"])),certificate:d,rawCertificate:l,requestDetails:a,callResponse:r};case lt.Rejected:{let h=Ws(d,p,n);throw h.callContext={canisterId:o,methodName:i,httpDetails:s},vt.fromCode(h)}case void 0:return this.log.warn(`v4 sync response certificate does not contain request ID ${j(n)} status. Falling back to polling.`),{...await ra(this,o,n,c),requestDetails:a,callResponse:r};default:{let h=new gs(f,n,r,l);throw h.callContext={canisterId:o,methodName:i,httpDetails:s},ae.fromCode(h)}}}#I(t,r,n,o,i){let{reject_code:s,reject_message:a,error_code:c}=t,l=new ls(r,s,a,c);throw l.callContext={canisterId:n,methodName:o,httpDetails:i},vt.fromCode(l)}async#w(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),l=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${l.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ae.fromCode(new Kn(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let d;try{this.log.print(`fetching "${l.pathname}" with request:`,n),d=await this.#i(l,{...this.#l,...n.request,body:o})}catch(m){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
|
|
53
55
|
${m}
|
|
54
|
-
Retrying query.`),await this.#
|
|
55
|
-
${
|
|
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};
|
|
56
|
+
Retrying query.`),await this.#w({...t,tries:a+1});throw Jo.fromCode(new Zo(m))}let p=_c(d.headers);if(d.status!==tl){let m=await d.text();if(Xd(m))throw z.fromCode(new $t(m,this.#u));if(a<this.#d)return await this.#w({...t,tries:a+1});throw re.fromCode(new zo(d.status,d.statusText,p,m))}let f={...je(go(await d.arrayBuffer())),httpDetails:{ok:d.ok,status:d.status,statusText:d.statusText,headers:p},requestId:i};if(!this.#_)return f;let h=f.signatures?.[0]?.timestamp;if(!h)throw re.fromCode(new ms("Timestamp not found in query response. This suggests a malformed or malicious response."));let _=Number(BigInt(h)/BigInt($_));if(Date.now()+this.#r-_>this.#R){if(a<this.#d)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:_}),await this.syncTime(r),await this.#w({...t,tries:a+1});throw Ye.fromCode(new ss(this.#u,i,a))}return f}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw re.fromCode(new Kn(`Retry strategy exhausted after ${o} attempts.`));i>0&&await new Promise(d=>setTimeout(d,i));let s,a=new Uint8Array;try{s=await r(),s.status===tl&&(a=go(await s.clone().arrayBuffer()))}catch(d){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
|
|
57
|
+
${d}
|
|
58
|
+
Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw Jo.fromCode(new Zo(d))}let c=_c(s.headers);if(s.status===tl||s.status===Zd)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let l=await s.text();if(s.status===Q_&&s.url.includes("api/v4"))throw re.fromCode(new Yo);if(Xd(l))throw z.fromCode(new $t(l,this.#u));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw re.fromCode(new zo(s.status,s.statusText,c,l))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?q.from(r.effectiveCanisterId):q.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 Pe.fromCode(new zr);let c=q.from(t),l=a.getPrincipal(),d=rl(this.#u,this.#r),p={request_type:Zn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:l,ingress_expiry:d},u=vr(p);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Ar.Query,body:p}),s=await a.transformRequest(s);let f=fi(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:u,backoff:o,tries:0},_=async()=>{let y=await this.#w(h);return{requestDetails:p,...y}};try{if(!this.#_)return await _();let[y,m]=await Promise.all([_(),this.fetchSubnetKeys(i)]);try{return this.#N(y,m)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),await this.#x.delete(i.toString());let b=await this.fetchSubnetKeys(i);return this.#N(y,b)}}catch(y){let m;if(y instanceof st){if(y.hasCode($t)&&!this.#o)return await this.syncTime(i),this.query(t,r,n);y.code.requestContext={requestId:u,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},m=y}else m=ae.fromCode(new Se(y));throw this.log.error(`Error while making query: ${m.message}`,m),m}}#N;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw Pe.fromCode(new zr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Ar.ReadState,body:{request_type:Zn.ReadState,paths:t.paths,sender:o,ingress_expiry:rl(this.#u,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#g();let i=q.from(t);function s(d){for(let p of d.paths){let[u,f]=p,h=new TextEncoder().encode("request_status");if(Wn(u,h))return f}}let a,c;if(o)a=o;else{c=s(r);let d=await this.#n;if(!d)throw Pe.fromCode(new zr);a=await this.createReadStateRequest(r,d)}let l=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#O(l,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#g();let n=q.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.#O(o,{subnetId:n},i)}async#O(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#y({requestFn:()=>this.#i(t,{...this.#l,...n.request,body:fi(n.body)}),backoff:i,tries:0});return je(s)}catch(s){let a;if(s instanceof st){if(s.hasCode($t)&&!this.#o){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ft;return await this.#O(t,r,n,o)}s.code.requestContext={requestId:o??vr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ae.fromCode(new Se(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw re.fromCode(new Yr("Could not decode time from response"));let o=Dr(["time"],r);if(o.status!==Be.Found)throw re.fromCode(new At("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 re.fromCode(new es("Time was not in its expected format."));let i=on(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}return this.log.warn("No certificate found in response"),0}async syncTime(t){this.#s=this.#s??(async()=>{await this.#g();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??q.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new at,host:this.host.toString(),fetch:this.#i,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await kd({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#E(r,i)}catch(n){let o=n instanceof st?n:ae.fromCode(new Se(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#s.finally(()=>{this.#s=null})}async syncTimeWithSubnet(t){await this.#g();let r=Date.now();try{let n=e.createSync({identity:new at,host:this.host.toString(),fetch:this.#i,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await Ld({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#E(r,o)}catch(n){let o=n instanceof st?n:ae.fromCode(new Se(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#E(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#o=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#y({backoff:n,requestFn:()=>this.#i(r,{headers:t,...this.#l}),tries:0});return je(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.#g(),this.#A(t)])}async#g(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw Pe.fromCode(new Ct(this.#t))}async#A(t){this.#a&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=q.from(t),n=await this.#x.get(r.toText());if(n)return n;let o=this.#b.get(r.toText());if(o)return o;let i=this.#S(r).finally(()=>{this.#b.delete(r.toText())});return this.#b.set(r.toText(),i),i}async#S(t){await this.#p(t);let r=this.rootKey,n=await this.readState(t,{paths:[[G("subnet")]]}),o=await gt.create({certificate:n.certificate,rootKey:r,principal:{canisterId:t},agent:this});if(!o.cert.delegation){let a=q.selfAuthenticating(r);if(!$c({canisterId:t,subnetId:a,tree:o.cert.tree}))throw Ye.fromCode(new jn(t,a))}let i=Gc(o.cert,r),s=Io(o.cert,i);return await this.#x.set(t.toText(),s),s}async getSubnetIdFromCanister(t){let r=q.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[G("time")]]}),o=await gt.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return Gc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===Ar.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.#o}};function rl(e,t){let r=e*nl;return Yn.fromDeltaInMilliseconds(r,t)}function Xd(e){return e.includes("Invalid request expiry: ")}var ut=Symbol.for("ic-agent-metadata"),Co=class e{static agentOf(t){return t[ut].config.agent}static interfaceOf(t){return t[ut].service}static canisterIdOf(t){return q.from(t[ut].config.canisterId)}static createActorClass(t,r){let n=t({IDL:Jn});class o extends e{constructor(s){if(!s.canisterId)throw z.fromCode(new Xo(s.canisterId));let a=typeof s.canisterId=="string"?q.fromText(s.canisterId):s.canisterId;super({config:{...Qd,...s,canisterId:a},service:n});for(let[c,l]of n._fields)r?.httpDetails&&l.annotations.push(ol),r?.certificate&&l.annotations.push(ep),this[c]=ty(this,c,l,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw z.fromCode(new Xo(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[ut]=Object.freeze(t)}};function So(e,t){let r=Jn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Qd={pollingOptions:zd,queryStrategy:"query"},ol="http-details",ep="certificate";function ty(e,t,r,n){let o,i=r.annotations.includes("query")||r.annotations.includes("composite_query"),s=e[ut].config.queryStrategy;i&&s==="query"?o=async(c,...l)=>{c={...c,...e[ut].config.queryTransform?.(t,l,{...e[ut].config,...c})};let d=c.agent||e[ut].config.agent||new Lr,p=q.from(c.canisterId||e[ut].config.canisterId),u=Jn.encode(r.argTypes,l),f=await d.query(p,{methodName:t,arg:u,effectiveCanisterId:c.effectiveCanisterId}),h={...f.httpDetails,requestDetails:f.requestDetails};switch(f.status){case Hr.Rejected:{let _=new cs(f.requestId,f.reject_code,f.reject_message,f.error_code,f.signatures);throw _.callContext={canisterId:p,methodName:t,httpDetails:h},vt.fromCode(_)}case Hr.Replied:return r.annotations.includes(ol)?{httpDetails:h,result:So(r.retTypes,f.reply.arg)}:So(r.retTypes,f.reply.arg)}}:o=async(c,...l)=>{c={...c,...e[ut].config.callTransform?.(t,l,{...e[ut].config,...c})};let d=c.agent||e[ut].config.agent||Lr.createSync(),{canisterId:p,effectiveCanisterId:u,pollingOptions:f}={...Qd,...e[ut].config,...c},h=q.from(p),_=u!==void 0?q.from(u):h,y=Jn.encode(r.argTypes,l),m,b,g,T;try{({reply:m,certificate:b,callResponse:g,requestDetails:T}=await d.update(h,{methodName:t,arg:y,effectiveCanisterId:_,nonce:c.nonce},{...f,blsVerify:n}))}catch(C){if(C instanceof vt){let w=Object.create(Object.getPrototypeOf(C.code),Object.getOwnPropertyDescriptors(C.code));throw w.callContext={...C.code.callContext,canisterId:h,methodName:t},vt.fromCode(w)}throw C}let O=r.annotations.includes(ol),v=r.annotations.includes(ep),E={...g,requestDetails:T};return O&&v?{httpDetails:E,certificate:b,result:So(r.retTypes,m)}:v?{certificate:b,result:So(r.retTypes,m)}:O?{httpDetails:E,result:So(r.retTypes,m)}:So(r.retTypes,m)};let a=(...c)=>o({},...c);return a.withOptions=c=>(...l)=>o(c,...l),a}var ry=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=ny({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},ny=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?qi(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 oy(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 iy(e){return oo(e,Ii)}var sy=class{constructor(e){this._cose=e,this.#e=iy(e)}_cose;#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},ip=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new sy(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return $r(this.#e)}},ay=class extends ip{#e;#t;constructor({authData:e,...t}){super(t);let r=ry({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}},cy=class extends ip{},ly=class extends Error{},uy=class extends Error{},dy=class extends Error{},py=class extends Error{},fy=class extends Error{},hy=class extends Error{},my=class extends Error{},tp=class extends Error{};var _y={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},yy=6e4,sp=()=>window.crypto.getRandomValues(new Uint8Array(16)),gy=()=>sp(),xy=()=>sp(),by=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new ly}},ap=({appId:e})=>e?.id??by(),wy=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:ap({appId:e})}}),o=()=>({user:{id:xy(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:gy(),...n(),...o(),pubKeyCredParams:Object.values(_y).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},Ty=(e={})=>({rpId:ap(e),allowCredentials:[],userVerification:"required"}),il=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}},un=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(un||{}),cp=({timeout:e})=>AbortSignal.timeout(e??yy),Ny=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...Ty(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:cp({timeout:n})}),rp=e=>{if(e.status!=="initialized")throw new uy},np=e=>{if(U(e))throw new dy},op=({type:e})=>{if(e!=="public-key")throw new py},sl=class Ai extends zt{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=Ai.#r({credential:new ay(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:wy(t),signal:cp({timeout:r})});np(o),op(o);let{response:{attestationObject:i},rawId:s}=o;if(U(i))throw new fy;let{authData:a}=Ss.decode(mr(i)),c=oy(a);return new Ai({...n,rawId:mr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new Ai(t)}getPublicKey(){rp(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){rp(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await il({fn:async()=>{let n=await Ny({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return np(n),op(n),n},step:0,onProgress:this.#e});return await il({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Bl({a:this.#t.credential.getCredentialId(),b:mr(n)}))throw new hy;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:mr(n)});this.#t=Ai.#r({credential:new cy({rawId:mr(n),cose:i})})},step:1,onProgress:this.#e}),await il({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 tp;if(U(s))throw new tp;let a=Ss.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:mr(s)});if(U(a))throw new my;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},Oy=async()=>J(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var Vo=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 Vo{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 Si=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var Po="http://127.0.0.1:5987",lp="rdmx6-jaaaa-aaaaa-aaadq-cai";var up=async({identity:e,container:t})=>{let n=J(t)&&t!==!1?t===!0?Po:t:"https://icp-api.io",o=J(t);return await Lr.create({identity:e,shouldFetchRootKey:o,host:n})};var Fo=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 up({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var Bo=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 Fo.getInstance().getAgent(n);return Co.createActor(t,{agent:o,canisterId:r})}};function dp(e){return e!==null&&typeof e=="object"}var Ci=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}if(dp(t)){let r=t;if(dp(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Ht(n.buffer))}if(r instanceof ArrayBuffer)return this.fromRaw(Ht(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=oo(t,no);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=io(t,no);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}},dt=class e extends zt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Je.utils.randomPrivateKey()),lu(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=Je.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(Ci.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(Ci.fromRaw(t),r)}static fromSecretKey(t){let r=Je.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=Ci.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=Je.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)),Ht(a)));return Je.verify(o,i,s)}};var al=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function pp(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 al("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 xt=class e extends zt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=pp(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Ht(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=pp(r),o=Ht(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=Ht(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var na=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 q.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 oa(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function cl(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var dn=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:oa(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Ey(e,t,r,n){let o=new dn(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...lc,...new Uint8Array(vr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Lt=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await Ey(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:l,targets:d}=s;if(d!==void 0&&!Array.isArray(d))throw new Error("Invalid targets.");return{delegation:new dn(cl(c),BigInt(`0x${l}`),d&&d.map(p=>{if(typeof p!="string")throw new Error("Invalid target.");return q.fromHex(p)})),signature:cl(a)}});return new this(o,cl(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:oa(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:oa(n)}}),publicKey:oa(this.publicKey)}}},qt=class extends zt{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 vr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...ai,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Vi=class e extends na{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function ll(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"?q.fromText(o):o)):r.push(typeof n=="string"?q.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 fp=["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),fp.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...l)=>{let d=this,p=()=>{c=void 0,s.apply(d,l)};clearTimeout(c),c=window.setTimeout(p,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);fp.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 Ry=(e,t)=>t.some(r=>e instanceof r),hp,mp;function vy(){return hp||(hp=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Iy(){return mp||(mp=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var _p=new WeakMap,dl=new WeakMap,yp=new WeakMap,ul=new WeakMap,fl=new WeakMap;function Ay(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Yt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&_p.set(r,e)}).catch(()=>{}),fl.set(t,e),t}function Sy(e){if(dl.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)});dl.set(e,t)}var pl={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return dl.get(e);if(t==="objectStoreNames")return e.objectStoreNames||yp.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Yt(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 gp(e){pl=e(pl)}function Cy(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(ia(this),t,...r);return yp.set(n,t.sort?t.sort():[t]),Yt(n)}:Iy().includes(e)?function(...t){return e.apply(ia(this),t),Yt(_p.get(this))}:function(...t){return Yt(e.apply(ia(this),t))}}function Vy(e){return typeof e=="function"?Cy(e):(e instanceof IDBTransaction&&Sy(e),Ry(e,vy())?new Proxy(e,pl):e)}function Yt(e){if(e instanceof IDBRequest)return Ay(e);if(ul.has(e))return ul.get(e);let t=Vy(e);return t!==e&&(ul.set(e,t),fl.set(t,e)),t}var ia=e=>fl.get(e);function bp(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Yt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Yt(s.result),c.oldVersion,c.newVersion,Yt(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",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}var Py=["get","getKey","getAll","getAllKeys","count"],Fy=["put","add","delete","clear"],hl=new Map;function xp(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(hl.get(t))return hl.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Fy.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Py.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return hl.set(t,i),i}gp(e=>({...e,get:(t,r,n)=>xp(t,r)||e.get(t,r,n),has:(t,r)=>!!xp(t,r)||e.has(t,r)}));var wp="auth-client-db",Tp="ic-keyval",By=async(e=wp,t=Tp,r)=>(globalThis.localStorage?.getItem(ke)&&(globalThis.localStorage.removeItem(ke),globalThis.localStorage.removeItem(We)),await bp(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function Dy(e,t,r){return await e.get(t,r)}async function Uy(e,t,r,n){return await e.put(t,n,r)}async function ky(e,t,r){return await e.delete(t,r)}var sa=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=wp,storeName:n=Tp,version:o=Np}=t??{},i=await By(r,n,o);return new e(i,n)}async set(t,r){return await Uy(this._db,this._storeName,t,r)}async get(t){return await Dy(this._db,this._storeName,t)??null}async remove(t){return await ky(this._db,this._storeName,t)}};var We="identity",ke="delegation",Op="iv",Np=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}},Zt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}sa.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 Ly=BigInt(1e9),qy=BigInt(3600),My=Ly*qy,jy="https://identity.internetcomputer.org",Ky="#authorize",$y=BigInt(8)*My,ml="ECDSA",_l="Ed25519",Hy=500,aa="UserInterrupt",Bi=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??ml,o=null;if(t.identity)o=t.identity;else{let c=await r.get(We);if(!c)try{let l=new Fi,d=await l.get(ke),p=await l.get(We);d&&p&&n===ml&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ke,d),await r.set(We,p),c=d,await l.remove(ke),await l.remove(We))}catch(l){console.error(`error while attempting to recover localstorage: ${l}`)}if(c)try{typeof c=="object"?n===_l&&typeof c=="string"?o=dt.fromJSON(c):o=await xt.fromKeyPair(c):typeof c=="string"&&(o=dt.fromJSON(c))}catch{}}let i=new at,s=null;if(o)try{let c=await r.get(ke);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=Lt.fromJSON(c),ll(s)?"toDer"in o?i=Vi.fromDelegation(o,s):i=qt.fromDelegation(o,s):(await yl(r),o=null))}catch(c){console.error(c),await yl(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=Pi.create(t.idleOptions)),o||(n===_l?o=dt.generate():(t.storage&&n===ml&&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 '${_l}' as the key type, as it can serialize to a string`),o=await xt.generate()),await Ep(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 dn(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Lt.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=Vi.fromDelegation(i,this._chain):this._identity=qt.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(ke,JSON.stringify(this._chain.toJSON())),await Ep(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&ll(this._chain)}async login(t){let r=Gy(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??$y,o=new URL(r?.identityProvider?.toString()||jy);o.hash=Ky,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(aa,r?.onError):setTimeout(i,Hy))};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 yl(this._storage),this._identity=new at,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function yl(e){await e.remove(We),await e.remove(ke),await e.remove(Op)}function Gy(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function Jy(e){if(e instanceof xt)return e.getKeyPair();if(e instanceof dt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Ep(e,t){let r=Jy(t);await e.set(We,r)}var Ce=class e{static#e;#t;constructor(){}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await Bi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>{let t=new Zt;return await Promise.all([t.remove(We),t.remove(ke)]),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(We,r.getKeyPair()),n.set(ke,JSON.stringify(t.toJSON()))])}};var gl=async e=>{await Wy(),await Ce.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},Wy=async()=>{await Ce.getInstance().logout(),Ue.getInstance().reset(),Bo.getInstance().reset(),Fo.getInstance().reset()};var Rp=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{Si({message:"junoSignOutAuthTimer"}),await gl()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":Si({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},Ue.getInstance().subscribe(o=>{if(U(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Do=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"&&_r(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 Ie=class e extends Vo{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 Di=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await zy({fn:e});!r||!t||Ie.getInstance().get()?.syncTabs===!1||Yy()},vp=async({fn:e})=>{let{createAuthClient:t}=Ce.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},zy=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ce.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},Yy=()=>{try{Do.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var xl=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var Ip="juno.datastore.error.user.cannot_update";var Xt={certified:!1};var ca=()=>Ce.getInstance().getAuthClient()?.getIdentity(),Zy=async()=>{let{getAuthClient:e,createAuthClient:t}=Ce.getInstance();return(e()??await t()).getIdentity()},Xy=async()=>{let e=Ue.getInstance().get();if(U(e))return null;let t=Ce.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var ue=e=>J(e)?e:ca()??new at;var bl=({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}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),d=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),p=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}),u=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:u,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),y=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),g=e.Variant({JwtFindProvider:l,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),T=e.Variant({PrepareAutomation:g,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:T}),v=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}),E=e.Variant({Heap:e.Record({offset:e.Nat64}),Stable:e.Record({key:e.Opt(v)})}),C=e.Variant({Append:e.Null,Clear:e.Null,AppendWithRouting:e.Null}),w=e.Record({cursor:E,strategy:C,chunk_size:e.Opt(e.Nat32)}),I=e.Record({next_cursor:e.Opt(E)}),P=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),A=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),x=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),N=e.Record({field:x,desc:e.Bool}),S=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),B=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(S),description:e.Opt(e.Text),created_at:e.Opt(S)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),R=e.Record({order:e.Opt(N),owner:e.Opt(e.Principal),matcher:e.Opt(B),paginate:e.Opt(M)}),V=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),D=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),k=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:D,expires_at:e.Opt(e.Nat64)}),te=e.Record({version:e.Opt(e.Nat64)}),Z=e.Variant({Db:e.Null,Storage:e.Null}),Y=e.Record({version:e.Opt(e.Nat64)}),xe=e.Record({proposal_ids:e.Vec(e.Nat)}),be=e.Record({cycles:e.Nat,destination_id:e.Principal}),ze=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ne=e.Record({key:v,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,ze)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ie=e.Variant({GitHub:e.Null,Google:e.Null}),er=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),fn=e.Record({delegation:e.Opt(er),client_id:e.Text}),tr=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ie,fn))}),rr=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),nr=e.Record({allowed_callers:e.Vec(e.Principal)}),et=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(tr),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),tt=e.Variant({GitHub:e.Null}),or=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),hn=e.Record({owner:e.Text,name:e.Text}),mn=e.Record({refs:e.Opt(e.Vec(e.Text))}),bt=e.Record({controller:e.Opt(or),repositories:e.Vec(e.Tuple(hn,mn))}),ir=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(tt,bt))}),wt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(ir),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),rt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),nt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Tt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),sr=e.Variant({Deny:e.Null,Allow:e.Null}),ar=e.Record({status_code:e.Nat16,location:e.Text}),Le=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),_n=e.Record({db:e.Opt(nt),authentication:e.Opt(et),storage:Le,automation:e.Opt(wt)}),yn=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),gn=e.Variant({OpenId:yn}),xn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),bn=e.Record({signature:e.Vec(e.Nat8),delegation:xn}),wn=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),Tn=e.Variant({Ok:bn,Err:wn}),cr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),lr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Nn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ur=e.Variant({AssetsUpgrade:lr,SegmentsDeployment:Nn}),qe=e.Record({status:cr,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:ur}),ot=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),dr=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Nt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ot,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),On=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)}),Ot=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}),En=e.Variant({Callback:e.Record({token:Ot,callback:e.Func([],[],["query"])})}),Rn=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(En),status_code:e.Nat16}),vn=e.Record({token:e.Opt(Ot),body:e.Vec(e.Nat8)}),Et=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}),we=e.Record({batch_id:e.Nat}),In=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,ne)),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)}),it=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}),Sn=e.Record({desc:e.Bool}),Cn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Vn=e.Record({order:e.Opt(Sn),paginate:e.Opt(Cn)}),Pn=e.Record({proposal_id:e.Nat}),pr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Pn,qe)),items_length:e.Nat64}),Fn=e.Record({include_system:e.Bool}),Bn=e.Record({matcher:e.Opt(Fn)}),fr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Nt)),items_length:e.Nat64}),Dn=e.Record({stable:e.Nat64,heap:e.Nat64}),Un=e.Record({openid:e.Opt(tr),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),Sa=e.Record({openid:e.Opt(ir),version:e.Opt(e.Nat64)}),Ca=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:D,expires_at:e.Opt(e.Nat64)}),Va=e.Record({controller:Ca,controllers:e.Vec(e.Principal)}),Pa=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Lo=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:ot,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),qo=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),Ba=e.Record({skip_certification:e.Opt(e.Bool)}),Da=e.Record({config:qo,options:Ba}),Mo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),jo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([y],[O],[]),certify_assets_chunk:e.Func([w],[I],[]),commit_asset_upload:e.Func([P],[],[]),commit_proposal:e.Func([A],[e.Null],[]),commit_proposal_asset_upload:e.Func([P],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(P)],[],[]),count_assets:e.Func([e.Text,R],[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,R],[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([V],[e.Vec(e.Tuple(e.Principal,k))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,te],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,R],[],[]),del_filtered_docs:e.Func([e.Text,R],[],[]),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,te))],[],[]),del_rule:e.Func([Z,e.Text,Y],[],[]),delete_proposal_assets:e.Func([xe],[],[]),deposit_cycles:e.Func([be],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ne)],["query"]),get_auth_config:e.Func([],[e.Opt(et)],["query"]),get_automation_config:e.Func([],[e.Opt(wt)],["query"]),get_config:e.Func([],[_n],[]),get_db_config:e.Func([],[e.Opt(nt)],["query"]),get_delegation:e.Func([gn],[Tn],["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(ne)))],["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([Z,e.Text],[e.Opt(Nt)],["query"]),get_storage_config:e.Func([],[Le],["query"]),http_request:e.Func([On],[Rn],["query"]),http_request_streaming_callback:e.Func([Ot],[vn],["query"]),init_asset_upload:e.Func([Et],[we],[]),init_proposal:e.Func([ur],[e.Nat,qe],[]),init_proposal_asset_upload:e.Func([Et,e.Nat],[we],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Et),e.Nat],[e.Vec(e.Tuple(e.Text,we))],[]),list_assets:e.Func([e.Text,R],[In],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,k))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,An))],["query"]),list_docs:e.Func([e.Text,R],[it],["query"]),list_proposals:e.Func([Vn],[pr],["query"]),list_rules:e.Func([Z,Bn],[fr],["query"]),memory_size:e.Func([],[Dn],["query"]),reject_proposal:e.Func([A],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Un],[et],[]),set_automation_config:e.Func([Sa],[wt],[]),set_controllers:e.Func([Va],[e.Vec(e.Tuple(e.Principal,k))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Pa],[nt],[]),set_doc:e.Func([e.Text,e.Text,Lo],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Lo))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([Z,e.Text,Fa],[Nt],[]),set_storage_config:e.Func([qo],[Le],[]),set_storage_config_with_options:e.Func([Da],[Le],[]),submit_proposal:e.Func([e.Nat],[e.Nat,qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Mo],[jo],[]),upload_proposal_asset_chunk:e.Func([Mo],[jo],[])})},wl=({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}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),d=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),p=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}),u=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:u,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),y=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),g=e.Variant({JwtFindProvider:l,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),T=e.Variant({PrepareAutomation:g,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:T}),v=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}),E=e.Variant({Heap:e.Record({offset:e.Nat64}),Stable:e.Record({key:e.Opt(v)})}),C=e.Variant({Append:e.Null,Clear:e.Null,AppendWithRouting:e.Null}),w=e.Record({cursor:E,strategy:C,chunk_size:e.Opt(e.Nat32)}),I=e.Record({next_cursor:e.Opt(E)}),P=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),A=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),x=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),N=e.Record({field:x,desc:e.Bool}),S=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),B=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(S),description:e.Opt(e.Text),created_at:e.Opt(S)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),R=e.Record({order:e.Opt(N),owner:e.Opt(e.Principal),matcher:e.Opt(B),paginate:e.Opt(M)}),V=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),D=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),k=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:D,expires_at:e.Opt(e.Nat64)}),te=e.Record({version:e.Opt(e.Nat64)}),Z=e.Variant({Db:e.Null,Storage:e.Null}),Y=e.Record({version:e.Opt(e.Nat64)}),xe=e.Record({proposal_ids:e.Vec(e.Nat)}),be=e.Record({cycles:e.Nat,destination_id:e.Principal}),ze=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ne=e.Record({key:v,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,ze)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ie=e.Variant({GitHub:e.Null,Google:e.Null}),er=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),fn=e.Record({delegation:e.Opt(er),client_id:e.Text}),tr=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ie,fn))}),rr=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),nr=e.Record({allowed_callers:e.Vec(e.Principal)}),et=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(tr),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),tt=e.Variant({GitHub:e.Null}),or=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),hn=e.Record({owner:e.Text,name:e.Text}),mn=e.Record({refs:e.Opt(e.Vec(e.Text))}),bt=e.Record({controller:e.Opt(or),repositories:e.Vec(e.Tuple(hn,mn))}),ir=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(tt,bt))}),wt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(ir),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),rt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),nt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Tt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),sr=e.Variant({Deny:e.Null,Allow:e.Null}),ar=e.Record({status_code:e.Nat16,location:e.Text}),Le=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),_n=e.Record({db:e.Opt(nt),authentication:e.Opt(et),storage:Le,automation:e.Opt(wt)}),yn=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),gn=e.Variant({OpenId:yn}),xn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),bn=e.Record({signature:e.Vec(e.Nat8),delegation:xn}),wn=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),Tn=e.Variant({Ok:bn,Err:wn}),cr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),lr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Nn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ur=e.Variant({AssetsUpgrade:lr,SegmentsDeployment:Nn}),qe=e.Record({status:cr,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:ur}),ot=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),dr=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Nt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ot,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),On=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)}),Ot=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}),En=e.Variant({Callback:e.Record({token:Ot,callback:e.Func([],[],[])})}),Rn=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(En),status_code:e.Nat16}),vn=e.Record({token:e.Opt(Ot),body:e.Vec(e.Nat8)}),Et=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}),we=e.Record({batch_id:e.Nat}),In=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,ne)),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)}),it=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}),Sn=e.Record({desc:e.Bool}),Cn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Vn=e.Record({order:e.Opt(Sn),paginate:e.Opt(Cn)}),Pn=e.Record({proposal_id:e.Nat}),pr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Pn,qe)),items_length:e.Nat64}),Fn=e.Record({include_system:e.Bool}),Bn=e.Record({matcher:e.Opt(Fn)}),fr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Nt)),items_length:e.Nat64}),Dn=e.Record({stable:e.Nat64,heap:e.Nat64}),Un=e.Record({openid:e.Opt(tr),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),Sa=e.Record({openid:e.Opt(ir),version:e.Opt(e.Nat64)}),Ca=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:D,expires_at:e.Opt(e.Nat64)}),Va=e.Record({controller:Ca,controllers:e.Vec(e.Principal)}),Pa=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Lo=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:ot,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),qo=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),Ba=e.Record({skip_certification:e.Opt(e.Bool)}),Da=e.Record({config:qo,options:Ba}),Mo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),jo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([y],[O],[]),certify_assets_chunk:e.Func([w],[I],[]),commit_asset_upload:e.Func([P],[],[]),commit_proposal:e.Func([A],[e.Null],[]),commit_proposal_asset_upload:e.Func([P],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(P)],[],[]),count_assets:e.Func([e.Text,R],[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,R],[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([V],[e.Vec(e.Tuple(e.Principal,k))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,te],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,R],[],[]),del_filtered_docs:e.Func([e.Text,R],[],[]),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,te))],[],[]),del_rule:e.Func([Z,e.Text,Y],[],[]),delete_proposal_assets:e.Func([xe],[],[]),deposit_cycles:e.Func([be],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ne)],[]),get_auth_config:e.Func([],[e.Opt(et)],[]),get_automation_config:e.Func([],[e.Opt(wt)],[]),get_config:e.Func([],[_n],[]),get_db_config:e.Func([],[e.Opt(nt)],[]),get_delegation:e.Func([gn],[Tn],[]),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(ne)))],[]),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([Z,e.Text],[e.Opt(Nt)],[]),get_storage_config:e.Func([],[Le],[]),http_request:e.Func([On],[Rn],[]),http_request_streaming_callback:e.Func([Ot],[vn],[]),init_asset_upload:e.Func([Et],[we],[]),init_proposal:e.Func([ur],[e.Nat,qe],[]),init_proposal_asset_upload:e.Func([Et,e.Nat],[we],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Et),e.Nat],[e.Vec(e.Tuple(e.Text,we))],[]),list_assets:e.Func([e.Text,R],[In],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,k))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,An))],[]),list_docs:e.Func([e.Text,R],[it],[]),list_proposals:e.Func([Vn],[pr],[]),list_rules:e.Func([Z,Bn],[fr],[]),memory_size:e.Func([],[Dn],[]),reject_proposal:e.Func([A],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Un],[et],[]),set_automation_config:e.Func([Sa],[wt],[]),set_controllers:e.Func([Va],[e.Vec(e.Tuple(e.Principal,k))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Pa],[nt],[]),set_doc:e.Func([e.Text,e.Text,Lo],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Lo))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([Z,e.Text,Fa],[Nt],[]),set_storage_config:e.Func([qo],[Le],[]),set_storage_config_with_options:e.Func([Da],[Le],[]),submit_proposal:e.Func([e.Nat],[e.Nat,qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Mo],[jo],[]),upload_proposal_asset_chunk:e.Func([Mo],[jo],[])})},Qy=({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}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),d=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),p=e.Record({delegation:i,account:d}),u=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:u,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),y=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:p,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),g=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}),v=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(v)}),C=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)}),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)}),A=e.Record({delegation:e.Opt(P),client_id:e.Text}),x=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,A))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=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(S)}),M=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),R=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),V=e.Variant({Deny:e.Null,Allow:e.Null}),F=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),k=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),Z=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:Z}),xe=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),be=e.Record({signature:e.Vec(e.Nat8),delegation:xe}),ze=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),ne=e.Variant({Ok:be,Err:ze}),ie=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),er=e.Record({e12s:e.Nat64}),fn=e.Record({updated_at:e.Nat64,fee_cycles:er,fee_icp:e.Opt(t)}),tr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),rr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),nr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),et=e.Variant({AssetsUpgrade:rr,SegmentsDeployment:nr}),tt=e.Record({status:tr,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:et}),or=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),hn=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)}),mn=e.Variant({Heap:e.Null,Stable:e.Null}),bt=e.Record({memory:mn,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}),ir=e.Variant({Callback:e.Record({token:bt,callback:e.Func([],[],["query"])})}),wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ir),status_code:e.Nat16}),rt=e.Record({token:e.Opt(bt),body:e.Vec(e.Nat8)}),nt=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}),Tt=e.Record({batch_id:e.Nat}),sr=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ar=e.Record({field:sr,desc:e.Bool}),Le=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),_n=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Le),description:e.Opt(e.Text),created_at:e.Opt(Le)}),yn=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),gn=e.Record({order:e.Opt(ar),owner:e.Opt(e.Principal),matcher:e.Opt(_n),paginate:e.Opt(yn)}),xn=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}),bn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),wn=e.Record({key:xn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,bn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Tn=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,wn)),items_length:e.Nat64}),cr=e.Variant({Emulator:e.Null,Automation:e.Null}),lr=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Nn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),created_at:e.Nat64,scope:lr,expires_at:e.Opt(e.Nat64)}),ur=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ot=e.Record({status:qe,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)}),dr=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Nt=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),On=e.Record({status:qe,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Nt}),Ot=e.Record({desc:e.Bool}),En=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Rn=e.Record({order:e.Opt(Ot),paginate:e.Opt(En)}),vn=e.Record({proposal_id:e.Nat}),Et=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(vn,tt)),items_length:e.Nat64}),we=e.Variant({Orbiter:e.Null,Satellite:e.Null}),In=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(we)}),An=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:we}),it=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Sn=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),Cn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),scope:lr,expires_at:e.Opt(e.Nat64)}),Vn=e.Record({controller:Cn,controllers:e.Vec(e.Principal)}),Pn=e.Record({fee_cycles:er,fee_icp:e.Opt(t)}),pr=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:we}),Fn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:we}),Bn=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),fr=e.Record({segment_id:e.Principal,segment_kind:we}),Dn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Un=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([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),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([C],[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(d)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[k],["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([Y],[ne],["query"]),get_fee:e.Func([ie],[fn],["query"]),get_or_init_account:e.Func([],[d],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],["query"]),get_rate_config:e.Func([ie],[or],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([hn],[wt],["query"]),http_request_streaming_callback:e.Func([bt],[rt],["query"]),init_proposal:e.Func([et],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([nt,e.Nat],[Tt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(nt),e.Nat],[e.Vec(e.Tuple(e.Text,Tt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),list_assets:e.Func([e.Text,gn],[Tn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Nn))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,ur))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ot))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(dr,On))],["query"]),list_proposals:e.Func([Rn],[Et],["query"]),list_segments:e.Func([In],[e.Vec(e.Tuple(An,it))],["query"]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([Sn],[B],[]),set_controllers:e.Func([Vn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ie,Pn],[],[]),set_many_segments:e.Func([e.Vec(pr)],[e.Vec(it)],[]),set_rate_config:e.Func([ie,or],[],[]),set_segment:e.Func([pr],[it],[]),set_segment_metadata:e.Func([Fn],[it],[]),set_storage_config:e.Func([Bn],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),unset_many_segments:e.Func([e.Vec(fr)],[],[]),unset_segment:e.Func([fr],[],[]),upload_proposal_asset_chunk:e.Func([Dn],[Un],[])})},e0=({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}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),d=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),p=e.Record({delegation:i,account:d}),u=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:u,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),y=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:p,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),g=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}),v=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(v)}),C=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)}),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)}),A=e.Record({delegation:e.Opt(P),client_id:e.Text}),x=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,A))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=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(S)}),M=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),R=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),V=e.Variant({Deny:e.Null,Allow:e.Null}),F=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),k=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),Z=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:Z}),xe=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),be=e.Record({signature:e.Vec(e.Nat8),delegation:xe}),ze=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),ne=e.Variant({Ok:be,Err:ze}),ie=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),er=e.Record({e12s:e.Nat64}),fn=e.Record({updated_at:e.Nat64,fee_cycles:er,fee_icp:e.Opt(t)}),tr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),rr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),nr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),et=e.Variant({AssetsUpgrade:rr,SegmentsDeployment:nr}),tt=e.Record({status:tr,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:et}),or=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),hn=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)}),mn=e.Variant({Heap:e.Null,Stable:e.Null}),bt=e.Record({memory:mn,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}),ir=e.Variant({Callback:e.Record({token:bt,callback:e.Func([],[],[])})}),wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ir),status_code:e.Nat16}),rt=e.Record({token:e.Opt(bt),body:e.Vec(e.Nat8)}),nt=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}),Tt=e.Record({batch_id:e.Nat}),sr=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ar=e.Record({field:sr,desc:e.Bool}),Le=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),_n=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Le),description:e.Opt(e.Text),created_at:e.Opt(Le)}),yn=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),gn=e.Record({order:e.Opt(ar),owner:e.Opt(e.Principal),matcher:e.Opt(_n),paginate:e.Opt(yn)}),xn=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}),bn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),wn=e.Record({key:xn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,bn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Tn=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,wn)),items_length:e.Nat64}),cr=e.Variant({Emulator:e.Null,Automation:e.Null}),lr=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Nn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),created_at:e.Nat64,scope:lr,expires_at:e.Opt(e.Nat64)}),ur=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ot=e.Record({status:qe,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)}),dr=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Nt=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),On=e.Record({status:qe,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Nt}),Ot=e.Record({desc:e.Bool}),En=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Rn=e.Record({order:e.Opt(Ot),paginate:e.Opt(En)}),vn=e.Record({proposal_id:e.Nat}),Et=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(vn,tt)),items_length:e.Nat64}),we=e.Variant({Orbiter:e.Null,Satellite:e.Null}),In=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(we)}),An=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:we}),it=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Sn=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),Cn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),scope:lr,expires_at:e.Opt(e.Nat64)}),Vn=e.Record({controller:Cn,controllers:e.Vec(e.Principal)}),Pn=e.Record({fee_cycles:er,fee_icp:e.Opt(t)}),pr=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:we}),Fn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:we}),Bn=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),fr=e.Record({segment_id:e.Principal,segment_kind:we}),Dn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Un=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([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),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([C],[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(d)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[k],[]),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([Y],[ne],[]),get_fee:e.Func([ie],[fn],[]),get_or_init_account:e.Func([],[d],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],[]),get_rate_config:e.Func([ie],[or],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([hn],[wt],[]),http_request_streaming_callback:e.Func([bt],[rt],[]),init_proposal:e.Func([et],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([nt,e.Nat],[Tt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(nt),e.Nat],[e.Vec(e.Tuple(e.Text,Tt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),list_assets:e.Func([e.Text,gn],[Tn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Nn))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,ur))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ot))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(dr,On))],[]),list_proposals:e.Func([Rn],[Et],[]),list_segments:e.Func([In],[e.Vec(e.Tuple(An,it))],[]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([Sn],[B],[]),set_controllers:e.Func([Vn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ie,Pn],[],[]),set_many_segments:e.Func([e.Vec(pr)],[e.Vec(it)],[]),set_rate_config:e.Func([ie,or],[],[]),set_segment:e.Func([pr],[it],[]),set_segment_metadata:e.Func([Fn],[it],[]),set_storage_config:e.Func([Bn],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),unset_many_segments:e.Func([e.Vec(fr)],[],[]),unset_segment:e.Func([fr],[],[]),upload_proposal_asset_chunk:e.Func([Dn],[Un],[])})};var t0=async({identity:e,host:t,localActor:r})=>await Lr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),r0=async({agent:e,...t})=>e??await n0(t),n0=async({identity:e,container:t})=>{let r=J(t)&&t!==!1;return await t0({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var Ap=({satelliteId:e,certified:t=!1,...r})=>Cp({canisterId:e,...r,idlFactory:t?wl:bl});var Sp=({consoleId:e,certified:t=!1,...r})=>Cp({canisterId:e,...r,idlFactory:t?e0:Qy}),Cp=({canisterId:e,idlFactory:t,...r})=>{if(U(e))throw new Error("No canister ID provided.");return o0({canisterId:e,idlFactory:t,...r})},o0=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await r0(n);return Co.createActor(t,{agent:o,canisterId:e,...r??{}})};var Vp=({satelliteId:e,container:t})=>{let{satelliteId:r}=Tl({satelliteId:e}),{container:n}=Nl({container:t});if(J(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?Po:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Tl=({satelliteId:e})=>J(e)?{satelliteId:e}:Ie.getInstance().get()??{satelliteId:void 0},Nl=({container:e})=>J(e)?{container:e}:Ie.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>Fp({idlFactory:t?wl:bl,actorKey:`stock#${t?"update":"query"}`,...e}),Pp=({idlFactory:e,...t})=>Fp({idlFactory:e,actorKey:"extended#query",...t}),Fp=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Tl({satelliteId:e});Ko(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Nl({container:t});return await Bo.getInstance().getActor({satelliteId:n,container:o,...r})};var la=class extends Error{},qr=class extends Error{},ua=class extends Error{},da=class extends Error{},Uo=class extends Error{},pa=class extends Error{},fa=class extends Error{},ha=class extends Error{},ma=class extends Error{};var Bp=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 ma("Invalid list matcher for timestamp",e)}},pn=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:U(e)?[]:[{key:se(e.key),description:se(e.description),created_at:Bp(e.createdAt),updated_at:Bp(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"?q.fromText(n):n)});var Dp=async({data:e})=>{try{return await ji(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Ol=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await Ll(t),version:se(r)}},El=e=>{let{version:t}=e;return{version:se(t)}},so=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:me(o),owner:r.toText(),data:await ji(i),version:me(n),...s}};var Up=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=me(await n(e,t));if(!U(o))return so({doc:o,key:t})},kp=async({docs:e,...t})=>{let{get_many_docs:r}=await ge(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=me(a);i.push(J(c)?await so({key:s,doc:c}):void 0)}return i},Lp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,i=await Ol(t),s=await n(e,o,i);return await so({key:o,doc:s})},qp=async({docs:e,...t})=>{let{set_many_docs:r}=await ge(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await Ol(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await so({key:s,doc:a}));return i},Mp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,El(t))},jp=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:i})=>[o,i.key,El(i)]);await r(n)},Kp=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,pn(t))},$p=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await ge(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,pn(t)),l=[];for(let[d,p]of o){let{data:u,owner:f,description:h,version:_,...y}=p;l.push({key:d,description:me(h),owner:f.toText(),data:await Dp({data:u}),version:me(_),...y})}return{items:l,items_length:s,items_page:me(i),matches_length:a,matches_pages:me(c)}},Hp=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,pn(t))};var _a=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Up({...r,satellite:{...e,identity:n},options:t??Xt})},GO=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await kp({...r,satellite:{...e,identity:n},options:t??Xt})},Gp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Lp({...t,satellite:{...e,identity:r},options:{certified:!0}})},Jp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await qp({...t,satellite:{...e,identity:r},options:{certified:!0}})},JO=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Mp({...t,satellite:{...e,identity:r},options:{certified:!0}})},WO=async({satellite:e,...t})=>{let r=ue(e?.identity);return await jp({...t,satellite:{...e,identity:r},options:{certified:!0}})},zO=async({satellite:e,filter:t,...r})=>{let n=ue(e?.identity);return await Kp({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},YO=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await $p({...n,filter:r??{},satellite:{...e,identity:o},options:t??Xt})},ZO=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await Hp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Xt})};var Wp=async({provider:e})=>{let{user:t,userId:r}=await ya();if(J(t))return t;try{return await i0({userId:r,provider:e})}catch(n){if(xl({error:n,type:Ip})){let o=await zp({userId:r});if(J(o))return o}throw n}},ya=async()=>{let e=ca();if(U(e))throw new ha("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await zp({userId:t});return{userId:t,user:r}},zp=({userId:e})=>_a({collection:"#user",key:e}),i0=({userId:e,...t})=>Gp({collection:"#user",doc:{key:e,data:t}});var ga=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await Di({fn:async()=>{let{user:r}=await ya();Ue.getInstance().set(r??null)},syncTabsOnSuccess:e})},Yp=async()=>{await vp({fn:async({authenticated:t})=>{let n=t?ya:()=>Promise.resolve({user:null}),{user:o}=await n();Ue.getInstance().set(o??null)}})},xa=async({user:e})=>{await Di({fn:async()=>{Ue.getInstance().set(e)},syncTabsOnSuccess:!0})};var Zp=()=>{try{let e=Do.getInstance(),t=async()=>{await Yp(),Si({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Xp=()=>{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()},Qp=()=>{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()},ef=()=>{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()},tf=()=>{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()},ba=()=>{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 rf=BigInt(144e11),nf=!1,of={width:576,height:576},sf={width:424,height:576},Rl="internetcomputer.org",af="ic0.app",wa="id.ai";var cf=({width:e,height:t})=>{if(!Ki()||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 Qt=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 lf=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(lf||{});var Ta=class{async signIn({options:t,authClient:r,initAuth:n}){await Qt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Qt({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 qr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===aa){o(new ua(i));return}o(new la(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??rf,allowPinAuthentication:t?.allowPin??nf,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Na=class extends Ta{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Ie.getInstance().get()?.container;if(U(i)||i===!1){let d=[Rl,af].includes(this.#e??wa);return pt(this.#e)?`https://${wa}`:d?`https://identity.${this.#e??Rl}`:`https://${this.#e}`}let s=Ie.getInstance().get(),a=J(s)&&J(s?.internetIdentityId)?s.internetIdentityId:lp,{host:c,protocol:l}=new URL(i===!0?Po:i);return/apple/i.test(navigator?.vendor)?`${l}//${c}?canisterId=${a}`:`${l}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:cf((()=>{try{let{hostname:i}=new URL(n);return i.includes(wa)}catch{return!1}})()?sf:of)},identityProvider:n}}};var vl=e=>$r(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),s0=()=>crypto.getRandomValues(new Uint8Array(32)),a0=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 vl(mr(o))},uf=async({caller:e})=>{let t=s0();return{nonce:await a0({salt:t,caller:e}),salt:t}};var ff="juno:auth:openid",df={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},hf={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"},c0=class extends Error{},l0=class extends Error{},u0=class extends Error{},d0=class extends Error{},p0=class extends Error{},f0=class extends Error{},h0=class extends Error{},mf=class extends Error{},m0=class extends Error{},_0=class extends Error{},y0=class extends Error{constructor(e){super("GitHub OAuth initialization failed",e)}},g0=class extends Error{constructor(e){super("GitHub OAuth finalization failed",e)}},_f="__caller__",yf="__salt__",gf="__state__",x0=({caller:e,state:t,salt:r})=>{let n={[_f]:e.toJSON(),[yf]:$r(r),[gf]:t};return JSON.stringify(n)},b0=e=>{let{[_f]:t,[yf]:r,[gf]:n}=JSON.parse(e);return{caller:dt.fromParsedJson(t),salt:Dl(r),state:n}},pf=async({generateState:e})=>{let t=dt.generate(),{nonce:r,salt:n}=await uf({caller:t}),o=await e({nonce:r}),i=x0({caller:t,salt:n,state:o});return sessionStorage.setItem(ff,i),{nonce:r,state:o}},w0=()=>{let e=sessionStorage.getItem(ff);if(U(e))throw new l0;return b0(e)},xf=({auth:e,identity:t})=>"satellite"in e?Ap({...e.satellite,identity:t}):Sp({...e.console,identity:t}),T0=async({actorParams:e,args:t})=>{let{authenticate:r}=await xf(e);return await r(t)},N0=async({actorParams:e,args:t})=>{let{get_delegation:r}=await xf(e);return await r(t)},O0=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Lt.fromDelegations(n,Uint8Array.from(r));return{identity:qt.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Il=async({jwt:e,context:t,auth:r})=>{let n=await xt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await E0({jwt:e,publicKey:o,context:t,auth:r});return{identity:O0({sessionKey:n,delegations:i}),data:s}},E0=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await T0({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new p0("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,l=await R0({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:d,signature:p}=l,{pubkey:u,expiration:f,targets:h}=d;return{delegations:[s,[{delegation:new dn(Uint8Array.from(u),f,me(h)),signature:Uint8Array.from(p)}]],data:c}},R0=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(l=>{setInterval(l,1e3*a)});let c=await N0({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:l}=c;if("NoSuchDelegation"in l||"GetCachedJwks"in l)continue;throw new m0("Getting delegation failed",{cause:c})}return c.Ok}throw new _0},v0=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 y0({cause:t})}}},I0=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 g0({cause:r})}}},A0=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 I0({url:r,body:{code:i,state:s}});if("error"in a)throw a.error;let{success:{token:c}}=a;if(pt(c))throw new mf;return await Il({jwt:c,auth:e,context:t})},S0=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(pt(r)||!r.startsWith("#"))throw new f0("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(pt(s)||o!==s)throw new h0("The provided state is invalid",{cause:o});if(pt(i))throw new mf;return await Il({jwt:i,auth:e,context:t})},bf=async e=>{let t=w0();if("github"in e){let{github:{redirect:n,auth:o}}=e,{finalizeUrl:i}=hf;return await A0({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 Il({jwt:n,context:t,auth:o})}return await S0({...r,context:t})},Al=({url:e})=>{try{return new URL(e)}catch{throw new c0("Cannot parse authURL",{cause:e})}},C0=({initUrl:e})=>async({nonce:t})=>{let r=Al({url:e});r.searchParams.set("nonce",t);let n=await v0({url:r.toString()});if("error"in n)throw n.error;let{success:{state:o}}=n;return o},V0=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=Al({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()},P0=()=>vl(crypto.getRandomValues(new Uint8Array(12))),F0=async e=>P0(),B0=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=Al({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),_r(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},D0=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 u0;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new d0("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function Oa(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...l}=a,{authUrl:d,authScopes:p,initUrl:u}=hf,f=await pf({generateState:C0({initUrl:c??u})});V0({...l,...f,authUrl:d,authScopes:p});return}let t=await pf({generateState:F0}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=df;return await D0({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=df;B0({...n,...t,authUrl:o,authScopes:i})}var Ea=({url:e})=>{try{return new URL(e)}catch{return console.warn(`Cannot parse URL ${e}. Skipping option.`),null}};var U0=async e=>{let{satelliteId:t}=Ie.getInstance().get()??{satelliteId:void 0};if(U(t))throw new qr("Satellite ID not set. Have you initialized the Satellite?");let r=Ie.getInstance().get()?.container,n={auth:{satellite:{satelliteId:t,container:r}}},i=(()=>{let p="github"in e?e?.github?.options?.finalizeUrl:void 0;if(_r(p))return p;let u=ba();return pt(u)?null:Ea({url:`${u}/v1/auth/finalize/github`})?.toString()??null})(),{identity:{delegationChain:s,sessionKey:a,identity:c},data:{doc:l}}=await bf("github"in e?{github:{redirect:J(i)?{finalizeUrl:i}:null,...n}}:{google:{redirect:null,...n}});await Ce.getInstance().setAuthClientStorage({delegationChain:s,sessionKey:a});let d=await so({doc:l,key:c.getPrincipal().toText()});await xa({user:d})};var wf=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),k0=()=>{window.addEventListener("beforeunload",wf,{capture:!0})},L0=()=>{window.removeEventListener("beforeunload",wf,{capture:!0})},Ra=async({fn:e})=>{try{return k0(),await e()}finally{L0()}};function Tf(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function Cl(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 Sl;function q0(){return Sl||(Sl=Cl("keyval-store","keyval")),Sl}function Nf(e,t,r=q0()){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 M0=class extends Error{constructor(){super("A dev identity can only be used in browser environments")}},j0=class extends Error{constructor(){super("A dev identity must only be used on localhost (127.0.0.1 or localhost)")}},K0=class extends Error{constructor(e){super(`Identifier must be 32 characters or less, got ${e}`)}},$0=Cl("juno-dev-identifiers","juno-dev-identifiers-store");var Of=async({identifier:e="dev",maxTimeToLiveInMilliseconds:t}={})=>{if(!(typeof window<"u"))throw new M0;let{location:{hostname:r}}=window;if(!["127.0.0.1","localhost"].includes(r))throw new j0;let n=()=>{if(e.length>32)throw new K0(e.length);return new TextEncoder().encode(e.padEnd(32,"0"))},o=async()=>{let a=n(),c=dt.generate(a),l=await xt.generate({extractable:!1}),d=t??6048e5,p=await Lt.create(c,l.getPublicKey(),new Date(Date.now()+d));return{identity:qt.fromDelegation(l,p),sessionKey:l,delegationChain:p}},i=async()=>{await Nf(e,a=>{let c=Date.now();return{createdAt:a?.createdAt??c,updatedAt:c}},$0)},s=await o();return await i(),s};var va=class{async signIn({options:t,initAuth:r,setStorage:n}){let{sessionKey:o,delegationChain:i}=await Of(t);await n({sessionKey:o,delegationChain:i}),await r({provider:void 0})}};var Ia=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??tf();if(U(r))throw new Uo;let{redirect:n}=t;await Oa({github:{redirect:{...n??{},clientId:r,initUrl:(()=>{let i=t?.redirect?.initUrl;if(_r(i))return i;let s=ba();if(!pt(s))return Ea({url:`${s}/v1/auth/init/github`})?.toString()})()}}})}};var Aa=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??ef();if(U(r))throw new Uo;let{redirect:n}=t;await Oa({google:{redirect:{...n??{},clientId:r}}})}};var Ef=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Jp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...J(n)&&{aaguid:qi(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var Rf=(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))(Rf||{}),vf=(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))(vf||{});var ko=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Ie.getInstance().get()??{satelliteId:void 0};if(U(i))throw new qr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:y})=>{switch(_){case un.RequestingUserCredential:t?.({step:1,state:y});break;case un.FinalizingCredential:t?.({step:2,state:y});break;case un.Signing:t?.({step:3,state:y});break}},c=await Qt({fn:async()=>await sl.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:l,sessionKey:d}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),u=await Qt({fn:async()=>await Ef({delegationIdentity:l,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Qt({fn:async()=>await this.#t({delegationIdentity:l,sessionKey:d}),step:4,onProgress:t}),await Qt({fn:async()=>await o({user:u}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ie.getInstance().get()??{satelliteId:void 0};if(U(o))throw new qr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:p})=>{let u=await _a({collection:"#user-webauthn",key:$r(p),options:{certified:!0},satellite:{identity:new at,satelliteId:o}});if(U(u))throw new pa("No public key found for the selected passkey.");let{data:f}=u,{publicKey:h}=f;return io(h,Ii)},s=({step:p,state:u})=>{switch(p){case un.RequestingUserCredential:t?.({step:0,state:u});break;case un.FinalizingCredential:t?.({step:1,state:u});break;case un.Signing:t?.({step:2,state:u});break}},a=await sl.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:l}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Qt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:l}),step:3,onProgress:t}),await Qt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await xt.generate({extractable:!1}),o=r??144e5,i=await Lt.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:qt.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Zt;await Promise.all([n.set(We,t.getKeyPair()),n.set(ke,JSON.stringify(r.getDelegation().toJSON()))])}};var If=async({provider:e})=>{await Di({fn:async()=>{let r=await Wp({provider:e});Ue.getInstance().set(r)},syncTabsOnSuccess:!0})},G0=async e=>{if("google"in e){let{google:{options:t}}=e;await Ui({fn:()=>new Aa().signIn({options:t}),context:{windowGuard:!1}});return}if("github"in e){let{github:{options:t}}=e;await Ui({fn:()=>new Ia().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Ui({fn:()=>new ko().signIn({options:t,loadAuth:()=>ga({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Ui({fn:()=>new Na({domain:n}).signIn({options:o,authClient:Ce.getInstance().getAuthClient(),initAuth:If}),context:r});return}if("dev"in e){let{dev:{options:t}}=e,{setAuthClientStorage:r}=Ce.getInstance();await Ui({fn:()=>new va().signIn({options:t,initAuth:If,setStorage:r}),context:{windowGuard:!1}});return}throw new da("An unknown or unsupported provider was provided for sign-in.")},Ui=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Ra({fn:e})};var J0=async e=>{let t=async()=>await W0(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Ra({fn:t})},W0=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new ko().signUp({options:t,loadAuthWithUser:xa});return}throw new fa("An unknown or unsupported provider was provided for sign-up.")};var T2=e=>e?.data?.provider==="webauthn",N2=e=>e?.data?.provider==="google",O2=e=>e?.data?.provider==="github";var I2=async({idlFactory:e,satellite:t})=>{let r=ue(t?.identity);return await Pp({idlFactory:e,...t,identity:r})};var Af=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(z0(r));o?.onInitiatedBatch();let{chunkIds:l}=await X0({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Z0({commitFn:a,batchId:c,data:e,headers:t,chunkIds:l}),o?.onCommittedBatch()};var z0=({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)}),Y0=({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??[]]}},Z0=async({commitFn:e,...t})=>{let r=Y0(t);await e(r)},X0=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Ki()?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 Q0({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*Q0({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=>eg(o)))}}var eg=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var Sf=async({asset:e,...t})=>{let r=await ge(t);await Af({actor:r,asset:e})},Cf=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await ge(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,pn(t));return{items:o.map(([l,d])=>d),items_length:i,items_page:me(s),matches_length:a,matches_pages:me(c)}},Vf=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,pn(t))},Pf=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),Ff=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await ge({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Bf=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,pn(t))},Df=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await ge(n);return o(e,t,se(r))},Uf=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return me(await n(e,t))},kf=async({assets:e,...t})=>{let{get_many_assets:r}=await ge(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>me(s))};var Lf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var $2=e=>qf(e),H2=e=>qf({filename:e.data.name,...e}),qf=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let l=ue(s?.identity),d=decodeURI(e),p=o??`/${r}/${d}`,u={...s,identity:l};return await Sf({asset:{data:t,filename:d,collection:r,token:i,headers:n,fullPath:p,encoding:a,description:c},satellite:u,options:{certified:!0}}),{downloadUrl:Mf({satellite:u,assetKey:{fullPath:p,token:i}}),fullPath:p,...J(i)&&{token:i},name:d}},G2=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)},{items:i,...s}=await Cf({collection:e,filter:t??{},satellite:o,options:n??Xt}),a=i.map(({key:{full_path:c,token:l,name:d,owner:p,description:u},headers:f,encodings:h,created_at:_,updated_at:y})=>{let m=me(l);return{fullPath:c,description:me(u),name:d,downloadUrl:Mf({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((b,[g,{modified:T,sha256:O,total_length:v}])=>({...b,[g]:{modified:T,sha256:Lf(O),total_length:v}}),{}),owner:p.toText(),created_at:_,updated_at:y}});return{items:a,assets:a,...s}},J2=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)};return await Vf({collection:e,satellite:o,filter:t??{},options:n??Xt})},W2=({collection:e,fullPath:t,satellite:r})=>Pf({collection:e,fullPath:t,satellite:{...r,identity:ue(r?.identity)},options:{certified:!0}}),z2=({collection:e,fullPath:t,token:r,satellite:n})=>Df({collection:e,fullPath:t,token:r,satellite:{...n,identity:ue(n?.identity)},options:{certified:!0}}),Y2=({assets:e,satellite:t})=>Ff({assets:e,satellite:{...t,identity:ue(t?.identity)},options:{certified:!0}}),Z2=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:ue(t?.identity)};return await Bf({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},X2=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Uf({...r,satellite:{...e,identity:n},options:t??Xt})},Q2=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await kf({...r,satellite:{...e,identity:n},options:t??Xt})},Mf=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:ue(r?.identity)};return`${Vp(n)}${e}${J(t)?`?token=${t}`:""}`};var tg=e=>{let t=e?.satelliteId??Xp();Ko(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Qp();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},lE=e=>rg(e),rg=async e=>{let t=tg(e);Ie.getInstance().set(t),await ga();let r=t.workers?.auth!==void 0?Rp(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Zp();return[...J(r)?[r]:[],...J(n)?[n]:[]]},ng=e=>Ue.getInstance().subscribe(e),uE=ng;export{lf as AuthClientSignInProgressStep,ha as InitError,Na as InternetIdentityProvider,ma as ListError,la as SignInError,qr as SignInInitError,Uo as SignInMissingClientIdError,da as SignInProviderNotSupportedError,ua as SignInUserInterruptError,fa as SignUpProviderNotSupportedError,Rf as WebAuthnSignInProgressStep,pa as WebAuthnSignInRetrievePublicKeyError,vf as WebAuthnSignUpProgressStep,uE as authSubscribe,J2 as countAssets,ZO as countDocs,W2 as deleteAsset,JO as deleteDoc,Z2 as deleteFilteredAssets,zO as deleteFilteredDocs,Y2 as deleteManyAssets,WO as deleteManyDocs,Mf as downloadUrl,X2 as getAsset,_a as getDoc,Xy as getIdentityOnce,Q2 as getManyAssets,GO as getManyDocs,I2 as getSatelliteExtendedActor,U0 as handleRedirectCallback,lE as initJuno,rg as initSatellite,O2 as isGitHubUser,N2 as isGoogleUser,Oy as isWebAuthnAvailable,T2 as isWebAuthnUser,G2 as listAssets,YO as listDocs,ng as onAuthStateChange,z2 as setAssetToken,Gp as setDoc,Jp as setManyDocs,G0 as signIn,gl as signOut,J0 as signUp,Zy as unsafeIdentity,$2 as uploadBlob,H2 as uploadFile};
|
|
59
|
+
/*! Bundled license information:
|
|
60
|
+
|
|
61
|
+
@noble/hashes/esm/utils.js:
|
|
62
|
+
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
63
|
+
*/
|
|
57
64
|
/*! Bundled license information:
|
|
58
65
|
|
|
59
66
|
@noble/hashes/esm/utils.js:
|