@libp2p/plaintext 3.0.20 → 3.0.21
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/index.min.js +1 -1
- package/dist/index.min.js.map +4 -4
- package/package.json +9 -9
package/dist/index.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPlaintext = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PPlaintext=(()=>{var Xr=Object.defineProperty;var ea=Object.getOwnPropertyDescriptor;var ra=Object.getOwnPropertyNames;var na=Object.prototype.hasOwnProperty;var ht=(e,t)=>{for(var r in t)Xr(e,r,{get:t[r],enumerable:!0})},oa=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ra(t))!na.call(e,o)&&o!==r&&Xr(e,o,{get:()=>t[o],enumerable:!(n=ea(t,o))||n.enumerable});return e};var sa=e=>oa(Xr({},"__esModule",{value:!0}),e);var Gf={};ht(Gf,{plaintext:()=>$f});var hr=class extends Error{static name="UnexpectedPeerError";constructor(t="Unexpected Peer"){super(t),this.name="UnexpectedPeerError"}},ke=class extends Error{static name="InvalidCryptoExchangeError";constructor(t="Invalid crypto exchange"){super(t),this.name="InvalidCryptoExchangeError"}},j=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},de=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var pe=class extends Error{static name="ProtocolError";constructor(t="Protocol error"){super(t),this.name="ProtocolError"}};var Pe=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Wr=Symbol.for("@libp2p/peer-id");var Zo=Symbol.for("@libp2p/service-capabilities");var rn={};ht(rn,{base58btc:()=>G,base58flickr:()=>ha});var Au=new Uint8Array(0);function Yo(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function Dt(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}function $o(e){return new TextEncoder().encode(e)}function Go(e){return new TextDecoder().decode(e)}function ia(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var s=e.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=e.length,f=e.charAt(0),c=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(b){if(b instanceof Uint8Array||(ArrayBuffer.isView(b)?b=new Uint8Array(b.buffer,b.byteOffset,b.byteLength):Array.isArray(b)&&(b=Uint8Array.from(b))),!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(b.length===0)return"";for(var E=0,p=0,w=0,v=b.length;w!==v&&b[w]===0;)w++,E++;for(var B=(v-w)*u+1>>>0,D=new Uint8Array(B);w!==v;){for(var _=b[w],F=0,C=B-1;(_!==0||F<p)&&C!==-1;C--,F++)_+=256*D[C]>>>0,D[C]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");p=F,w++}for(var L=B-p;L!==B&&D[L]===0;)L++;for(var K=f.repeat(E);L<B;++L)K+=e.charAt(D[L]);return K}function m(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var E=0;if(b[E]!==" "){for(var p=0,w=0;b[E]===f;)p++,E++;for(var v=(b.length-E)*c+1>>>0,B=new Uint8Array(v);b[E];){var D=r[b.charCodeAt(E)];if(D===255)return;for(var _=0,F=v-1;(D!==0||_<w)&&F!==-1;F--,_++)D+=a*B[F]>>>0,B[F]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");w=_,E++}if(b[E]!==" "){for(var C=v-w;C!==v&&B[C]===0;)C++;for(var L=new Uint8Array(p+(v-C)),K=p;C!==v;)L[K++]=B[C++];return L}}}function d(b){var E=m(b);if(E)return E;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:m,decode:d}}var aa=ia,ca=aa,Wo=ca;var Jr=class{name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Qr=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Jo(this,t)}},tn=class{decoders;constructor(t){this.decoders=t}or(t){return Jo(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Jo(e,t){return new tn({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var en=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Jr(t,r,n),this.decoder=new Qr(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function me({name:e,prefix:t,encode:r,decode:n}){return new en(e,t,r,n)}function Nt({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Wo(r,e);return me({prefix:t,name:e,encode:n,decode:s=>Dt(o(s))})}function fa(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,a=0,f=0;for(let c=0;c<o;++c){let u=t[e[c]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|u,i+=r,i>=8&&(i-=8,s[f++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function ua(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let f=0;f<e.length;++f)for(a=a<<8|e[f],i+=8;i>r;)i-=r,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function la(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}function z({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=la(n);return me({prefix:t,name:e,encode(s){return ua(s,n,r)},decode(s){return fa(s,o,r,e)}})}var G=Nt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ha=Nt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var nn={};ht(nn,{base32:()=>ye,base32hex:()=>ya,base32hexpad:()=>ga,base32hexpadupper:()=>xa,base32hexupper:()=>ba,base32pad:()=>pa,base32padupper:()=>ma,base32upper:()=>da,base32z:()=>wa});var ye=z({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),da=z({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),pa=z({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ma=z({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ya=z({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ba=z({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ga=z({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),xa=z({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),wa=z({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var on={};ht(on,{base36:()=>Ne,base36upper:()=>Ea});var Ne=Nt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ea=Nt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Sa=es,Qo=128,va=127,Aa=~va,Ba=Math.pow(2,31);function es(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Ba;)t[r++]=e&255|Qo,e/=128;for(;e&Aa;)t[r++]=e&255|Qo,e>>>=7;return t[r]=e|0,es.bytes=r-n+1,t}var Ia=sn,La=128,ts=127;function sn(e,n){var r=0,n=n||0,o=0,s=n,i,a=e.length;do{if(s>=a)throw sn.bytes=0,new RangeError("Could not decode varint");i=e[s++],r+=o<28?(i&ts)<<o:(i&ts)*Math.pow(2,o),o+=7}while(i>=La);return sn.bytes=s-n,r}var Ta=Math.pow(2,7),_a=Math.pow(2,14),Ra=Math.pow(2,21),Da=Math.pow(2,28),Ca=Math.pow(2,35),Oa=Math.pow(2,42),Fa=Math.pow(2,49),Ka=Math.pow(2,56),Ua=Math.pow(2,63),ka=function(e){return e<Ta?1:e<_a?2:e<Ra?3:e<Da?4:e<Ca?5:e<Oa?6:e<Fa?7:e<Ka?8:e<Ua?9:10},Pa={encode:Sa,decode:Ia,encodingLength:ka},Na=Pa,Me=Na;function qe(e,t=0){return[Me.decode(e,t),Me.decode.bytes]}function be(e,t,r=0){return Me.encode(e,t,r),t}function ge(e){return Me.encodingLength(e)}function Bt(e,t){let r=t.byteLength,n=ge(e),o=n+ge(r),s=new Uint8Array(o+r);return be(e,s,0),be(r,s,n),s.set(t,o),new xe(e,r,t,s)}function an(e){let t=Dt(e),[r,n]=qe(t),[o,s]=qe(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new xe(r,o,i,t)}function rs(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Yo(e.bytes,r.bytes)}}var xe=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function ns(e,t){let{bytes:r,version:n}=e;return n===0?qa(r,cn(e),t??G.encoder):Ha(r,cn(e),t??ye.encoder)}var os=new WeakMap;function cn(e){let t=os.get(e);if(t==null){let r=new Map;return os.set(e,r),r}return t}var it=class e{code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==He)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Va)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Bt(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&rs(t.multihash,n.multihash)}toString(t){return ns(this,t)}toJSON(){return{"/":ns(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new e(n,o,s,i??ss(n,o,s.bytes))}else if(r[ja]===!0){let{version:n,multihash:o,code:s}=r,i=an(o);return e.create(n,s,i)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==He)throw new Error(`Version 0 CID must use dag-pb (code: ${He}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=ss(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,He,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=Dt(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new xe(r.multihashCode,r.digestSize,s,o);return[r.version===0?e.createV0(i):e.createV1(r.codec,i),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,m]=qe(t.subarray(r));return r+=m,l},o=n(),s=He;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),f=n(),c=r+f,u=c-i;return{version:o,codec:s,multihashCode:a,digestSize:f,multihashSize:u,size:c}}static parse(t,r){let[n,o]=Ma(t,r),s=e.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return cn(s).set(n,t),s}};function Ma(e,t){switch(e[0]){case"Q":{let r=t??G;return[G.prefix,r.decode(`${G.prefix}${e}`)]}case G.prefix:{let r=t??G;return[G.prefix,r.decode(e)]}case ye.prefix:{let r=t??ye;return[ye.prefix,r.decode(e)]}case Ne.prefix:{let r=t??Ne;return[Ne.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function qa(e,t,r){let{prefix:n}=r;if(n!==G.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return o}function Ha(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let s=r.encode(e);return t.set(n,s),s}else return o}var He=112,Va=18;function ss(e,t,r){let n=ge(e),o=n+ge(t),s=new Uint8Array(o+r.byteLength);return be(e,s,0),be(t,s,n),s.set(r,o),s}var ja=Symbol.for("@ipld/js-cid/CID");var fn={};ht(fn,{identity:()=>It});var is=0,za="identity",as=Dt;function Za(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return Bt(is,as(e))}var It={code:is,name:za,encode:as,digest:Za};function at(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var cs="1.2.840.10045.3.1.7",fs="1.3.132.0.34",us="1.3.132.0.35";async function ls(e,t,r,n){let o=await crypto.subtle.importKey("jwk",e,{name:"ECDSA",namedCurve:e.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let s=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,t,r.subarray());return n?.signal?.throwIfAborted(),s}function gt(e=0){return new Uint8Array(e)}function dt(e=0){return new Uint8Array(e)}function pr(e,t){t==null&&(t=e.reduce((o,s)=>o+s.length,0));let r=dt(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var ds=Symbol.for("@achingbrain/uint8arraylist");function hs(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let o=r+n.byteLength;if(t<o)return{buf:n,index:t-r};r=o}throw new RangeError("index is out of bounds")}function mr(e){return!!e?.[ds]}var rt=class e{bufs;length;[ds]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(mr(n)){r+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(mr(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=hs(this.bufs,t);return r.buf[r.index]}set(t,r){let n=hs(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(mr(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:o}=this._subList(t,r);return pr(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:pr(n,o)}sublist(t,r){let{bufs:n,length:o}=this._subList(t,r),s=new e;return s.length=o,s.bufs=n,s}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,f=a+i.byteLength;if(o=f,t>=f)continue;let c=t>=a&&t<f,u=r>a&&r<=f;if(c&&u){if(t===a&&r===f){n.push(i);break}let l=t-a;n.push(i.subarray(l,l+(r-t)));break}if(c){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(u){if(r===f){n.push(i);break}n.push(i.subarray(0,r-a));break}n.push(i)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!mr(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let l=0;l<s;l++)i[l]=-1;for(let l=0;l<o;l++)i[n[l]]=l;let a=i,f=this.byteLength-n.byteLength,c=n.byteLength-1,u;for(let l=r;l<=f;l+=u){u=0;for(let m=c;m>=0;m--){let d=this.get(l+m);if(n[m]!==d){u=Math.max(1,m-a[d]);break}}if(u===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let o=gt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let o=gt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let o=gt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let o=gt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let o=gt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let o=gt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let o=gt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let o=gt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!at(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((o,s)=>o+s.byteLength,0)),n.length=r,n}};var un={};ht(un,{base10:()=>Ya});var Ya=Nt({prefix:"9",name:"base10",alphabet:"0123456789"});var ln={};ht(ln,{base16:()=>$a,base16upper:()=>Ga});var $a=z({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ga=z({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var hn={};ht(hn,{base2:()=>Xa});var Xa=z({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var dn={};ht(dn,{base256emoji:()=>ec});var ps=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Wa=ps.reduce((e,t,r)=>(e[r]=t,e),[]),Ja=ps.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function Qa(e){return e.reduce((t,r)=>(t+=Wa[r],t),"")}function tc(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Ja[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var ec=me({prefix:"\u{1F680}",name:"base256emoji",encode:Qa,decode:tc});var pn={};ht(pn,{base64:()=>rc,base64pad:()=>nc,base64url:()=>oc,base64urlpad:()=>sc});var rc=z({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),nc=z({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),oc=z({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),sc=z({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var mn={};ht(mn,{base8:()=>ic});var ic=z({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var yn={};ht(yn,{identity:()=>ac});var ac=me({prefix:"\0",name:"identity",encode:e=>Go(e),decode:e=>$o(e)});var cl=new TextEncoder,fl=new TextDecoder;var xn={};ht(xn,{sha256:()=>yr,sha512:()=>lc});var uc=20;function gn({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new bn(e,t,r,n,o)}var bn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,s){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??uc,this.maxDigestLength=s}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?ms(n,this.code,r?.truncate):n.then(o=>ms(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function ms(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return Bt(t,e)}function bs(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var yr=gn({name:"sha2-256",code:18,encode:bs("SHA-256")}),lc=gn({name:"sha2-512",code:19,encode:bs("SHA-512")});var wn={...yn,...hn,...mn,...un,...ln,...nn,...on,...rn,...pn,...dn},El={...xn,...fn};function xs(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var gs=xs("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),En=xs("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=dt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),hc={utf8:gs,"utf-8":gs,hex:wn.base16,latin1:En,ascii:En,binary:En,...wn},br=hc;function X(e,t="utf8"){let r=br[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function Z(e,t="utf8"){let r=br[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var dc=parseInt("11111",2),Sn=parseInt("10000000",2),pc=parseInt("01111111",2),ws={0:Ve,1:Ve,2:mc,3:gc,4:xc,5:bc,6:yc,16:Ve,22:Ve,48:Ve};function Lt(e,t={offset:0}){let r=e[t.offset]&dc;if(t.offset++,ws[r]!=null)return ws[r](e,t);throw new Error("No decoder for tag "+r)}function je(e,t){let r=0;if((e[t.offset]&Sn)===Sn){let n=e[t.offset]&pc,o="0x";t.offset++;for(let s=0;s<n;s++,t.offset++)o+=e[t.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=e[t.offset],t.offset++;return r}function Ve(e,t){je(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=Lt(e,t);if(n===null)break;r.push(n)}return r}function mc(e,t){let r=je(e,t),n=t.offset,o=t.offset+r,s=[];for(let i=n;i<o;i++)i===n&&e[i]===0||s.push(e[i]);return t.offset+=r,Uint8Array.from(s)}function yc(e,t){let r=je(e,t),n=t.offset+r,o=e[t.offset];t.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let a=`${s}.${i}`,f=[];for(;t.offset<n;){let c=e[t.offset];if(t.offset++,f.push(c&127),c<128){f.reverse();let u=0;for(let l=0;l<f.length;l++)u+=f[l]<<l*7;a+=`.${u}`,f=[]}}return a}function bc(e,t){return t.offset++,null}function gc(e,t){let r=je(e,t),n=e[t.offset];t.offset++;let o=e.subarray(t.offset,t.offset+r-1);if(t.offset+=r,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function xc(e,t){let r=je(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function wc(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new rt;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function vn(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=wc(e.byteLength);return new rt(Uint8Array.from([t.byteLength|Sn]),t)}function pt(e){let t=new rt,r=128;return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new rt(Uint8Array.from([2]),vn(t),t)}function gr(e){let t=Uint8Array.from([0]),r=new rt(t,e);return new rt(Uint8Array.from([3]),vn(r),r)}function Mt(e,t=48){let r=new rt;for(let n of e)r.append(n);return new rt(Uint8Array.from([t]),vn(r),r)}var Ec=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),Sc=Uint8Array.from([6,5,43,129,4,0,34]),vc=Uint8Array.from([6,5,43,129,4,0,35]),Ac={ext:!0,kty:"EC",crv:"P-256"},Bc={ext:!0,kty:"EC",crv:"P-384"},Ic={ext:!0,kty:"EC",crv:"P-521"},An=32,Bn=48,In=66;function Es(e){let t=e[1][1][0],r=1,n,o;if(t.byteLength===An*2+1)return n=Z(t.subarray(r,r+An),"base64url"),o=Z(t.subarray(r+An),"base64url"),new Ee({...Ac,key_ops:["verify"],x:n,y:o});if(t.byteLength===Bn*2+1)return n=Z(t.subarray(r,r+Bn),"base64url"),o=Z(t.subarray(r+Bn),"base64url"),new Ee({...Bc,key_ops:["verify"],x:n,y:o});if(t.byteLength===In*2+1)return n=Z(t.subarray(r,r+In),"base64url"),o=Z(t.subarray(r+In),"base64url"),new Ee({...Ic,key_ops:["verify"],x:n,y:o});throw new j(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function Ss(e){return Mt([pt(Uint8Array.from([1])),Mt([Lc(e.crv)],160),Mt([gr(new rt(Uint8Array.from([4]),X(e.x??"","base64url"),X(e.y??"","base64url")))],161)]).subarray()}function Lc(e){if(e==="P-256")return Ec;if(e==="P-384")return Sc;if(e==="P-521")return vc;throw new j(`Invalid curve ${e}`)}var Ee=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=Ss(this.jwk)),this._raw}toMultihash(){return It.digest(Se(this))}toCID(){return it.createV1(114,this.toMultihash())}toString(){return G.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:at(this.raw,t.raw)}async verify(t,r,n){return ls(this.jwk,r,t,n)}};function Ln(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function qt(e,t=""){if(typeof e!="number"){let r=t&&`"${t}" `;throw new TypeError(`${r}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw new RangeError(`${r}expected integer >= 0, got ${e}`)}}function mt(e,t,r=""){let n=Ln(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",f=n?`length=${o}`:`type=${typeof e}`,c=i+"expected Uint8Array"+a+", got "+f;throw n?new RangeError(c):new TypeError(c)}return e}function xr(e){if(typeof e!="function"||typeof e.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(qt(e.outputLen),qt(e.blockLen),e.outputLen<1)throw new Error('"outputLen" must be >= 1');if(e.blockLen<1)throw new Error('"blockLen" must be >= 1')}function ve(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 wr(e,t){mt(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw new RangeError('"digestInto() output" expected to be of length >='+r)}function Ot(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Er(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function xt(e,t){return e<<32-t|e>>>t}var As=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Tc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Sr(e){if(mt(e),As)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Tc[e[r]];return t}var Ct={_0:48,_9:57,A:65,F:70,a:97,f:102};function vs(e){if(e>=Ct._0&&e<=Ct._9)return e-Ct._0;if(e>=Ct.A&&e<=Ct.F)return e-(Ct.A-10);if(e>=Ct.a&&e<=Ct.f)return e-(Ct.a-10)}function ze(e){if(typeof e!="string")throw new TypeError("hex string expected, got "+typeof e);if(As)try{return Uint8Array.fromHex(e)}catch(o){throw o instanceof SyntaxError?new RangeError(o.message):o}let t=e.length,r=t/2;if(t%2)throw new RangeError("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=vs(e.charCodeAt(s)),a=vs(e.charCodeAt(s+1));if(i===void 0||a===void 0){let f=e[s]+e[s+1];throw new RangeError('hex string expected, got non-hex character "'+f+'" at index '+s)}n[o]=i*16+a}return n}function Tn(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];mt(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}function _n(e,t={}){let r=(o,s)=>e(s).update(o).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.canXOF=n.canXOF,r.create=o=>e(o),Object.assign(r,t),Object.freeze(r)}function Bs(e=32){qt(e,"bytesLength");let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(e>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var Rn=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Is(e,t,r){return e&t^~e&r}function Ls(e,t,r){return e&t^e&r^t&r}var Ze=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,r,n,o){this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Er(this.buffer)}update(t){ve(this),mt(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let f=Er(t);for(;o<=s-i;i+=o)this.process(f,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ve(this),wr(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,Ot(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)r[l]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let a=Er(t),f=this.outputLen;if(f%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let c=f/4,u=this.get();if(c>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<c;l++)a.setUint32(4*l,u[l],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Ft=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ot=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var vr=BigInt(4294967295),Ts=BigInt(32);function _c(e,t=!1){return t?{h:Number(e&vr),l:Number(e>>Ts&vr)}:{h:Number(e>>Ts&vr)|0,l:Number(e&vr)|0}}function _s(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=_c(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var Dn=(e,t,r)=>e>>>r,Cn=(e,t,r)=>e<<32-r|t>>>r,Jt=(e,t,r)=>e>>>r|t<<32-r,Qt=(e,t,r)=>e<<32-r|t>>>r,Ye=(e,t,r)=>e<<64-r|t>>>r-32,$e=(e,t,r)=>e>>>r-32|t<<64-r;function Tt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Rs=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Ds=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Cs=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Os=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Fs=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Ks=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Dc=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]),Ht=new Uint32Array(64),On=class extends Ze{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:f}=this;return[t,r,n,o,s,i,a,f]}set(t,r,n,o,s,i,a,f){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=f|0}process(t,r){for(let l=0;l<16;l++,r+=4)Ht[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let m=Ht[l-15],d=Ht[l-2],b=xt(m,7)^xt(m,18)^m>>>3,E=xt(d,17)^xt(d,19)^d>>>10;Ht[l]=E+Ht[l-7]+b+Ht[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:f,G:c,H:u}=this;for(let l=0;l<64;l++){let m=xt(a,6)^xt(a,11)^xt(a,25),d=u+m+Is(a,f,c)+Dc[l]+Ht[l]|0,E=(xt(n,2)^xt(n,13)^xt(n,22))+Ls(n,o,s)|0;u=c,c=f,f=a,a=i+d|0,i=s,s=o,o=n,n=d+E|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,f=f+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(n,o,s,i,a,f,c,u)}roundClean(){Ot(Ht)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),Ot(this.buffer)}},Fn=class extends On{A=Ft[0]|0;B=Ft[1]|0;C=Ft[2]|0;D=Ft[3]|0;E=Ft[4]|0;F=Ft[5]|0;G=Ft[6]|0;H=Ft[7]|0;constructor(){super(32)}};var Us=_s(["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))),Cc=Us[0],Oc=Us[1],Vt=new Uint32Array(80),jt=new Uint32Array(80),Kn=class extends Ze{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:f,Eh:c,El:u,Fh:l,Fl:m,Gh:d,Gl:b,Hh:E,Hl:p}=this;return[t,r,n,o,s,i,a,f,c,u,l,m,d,b,E,p]}set(t,r,n,o,s,i,a,f,c,u,l,m,d,b,E,p){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=f|0,this.Eh=c|0,this.El=u|0,this.Fh=l|0,this.Fl=m|0,this.Gh=d|0,this.Gl=b|0,this.Hh=E|0,this.Hl=p|0}process(t,r){for(let B=0;B<16;B++,r+=4)Vt[B]=t.getUint32(r),jt[B]=t.getUint32(r+=4);for(let B=16;B<80;B++){let D=Vt[B-15]|0,_=jt[B-15]|0,F=Jt(D,_,1)^Jt(D,_,8)^Dn(D,_,7),C=Qt(D,_,1)^Qt(D,_,8)^Cn(D,_,7),L=Vt[B-2]|0,K=jt[B-2]|0,H=Jt(L,K,19)^Ye(L,K,61)^Dn(L,K,6),U=Qt(L,K,19)^$e(L,K,61)^Cn(L,K,6),h=Cs(C,U,jt[B-7],jt[B-16]),y=Os(h,F,H,Vt[B-7],Vt[B-16]);Vt[B]=y|0,jt[B]=h|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:f,Dh:c,Dl:u,Eh:l,El:m,Fh:d,Fl:b,Gh:E,Gl:p,Hh:w,Hl:v}=this;for(let B=0;B<80;B++){let D=Jt(l,m,14)^Jt(l,m,18)^Ye(l,m,41),_=Qt(l,m,14)^Qt(l,m,18)^$e(l,m,41),F=l&d^~l&E,C=m&b^~m&p,L=Fs(v,_,C,Oc[B],jt[B]),K=Ks(L,w,D,F,Cc[B],Vt[B]),H=L|0,U=Jt(n,o,28)^Ye(n,o,34)^Ye(n,o,39),h=Qt(n,o,28)^$e(n,o,34)^$e(n,o,39),y=n&s^n&a^s&a,S=o&i^o&f^i&f;w=E|0,v=p|0,E=d|0,p=b|0,d=l|0,b=m|0,{h:l,l:m}=Tt(c|0,u|0,K|0,H|0),c=a|0,u=f|0,a=s|0,f=i|0,s=n|0,i=o|0;let x=Rs(H,h,S);n=Ds(x,K,U,y),o=x|0}({h:n,l:o}=Tt(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=Tt(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:f}=Tt(this.Ch|0,this.Cl|0,a|0,f|0),{h:c,l:u}=Tt(this.Dh|0,this.Dl|0,c|0,u|0),{h:l,l:m}=Tt(this.Eh|0,this.El|0,l|0,m|0),{h:d,l:b}=Tt(this.Fh|0,this.Fl|0,d|0,b|0),{h:E,l:p}=Tt(this.Gh|0,this.Gl|0,E|0,p|0),{h:w,l:v}=Tt(this.Hh|0,this.Hl|0,w|0,v|0),this.set(n,o,s,i,a,f,c,u,l,m,d,b,E,p,w,v)}roundClean(){Ot(Vt,jt)}destroy(){this.destroyed=!0,Ot(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Un=class extends Kn{Ah=ot[0]|0;Al=ot[1]|0;Bh=ot[2]|0;Bl=ot[3]|0;Ch=ot[4]|0;Cl=ot[5]|0;Dh=ot[6]|0;Dl=ot[7]|0;Eh=ot[8]|0;El=ot[9]|0;Fh=ot[10]|0;Fl=ot[11]|0;Gh=ot[12]|0;Gl=ot[13]|0;Hh=ot[14]|0;Hl=ot[15]|0;constructor(){super(64)}};var Ae=_n(()=>new Fn,Rn(1));var Ar=_n(()=>new Un,Rn(3));var N=(e,t,r)=>mt(e,t,r),Pn=qt,Be=Sr,Q=(...e)=>Tn(...e),Ie=e=>ze(e),te=Ln,Ge=e=>Bs(e),Ir=BigInt(0),kn=BigInt(1);function wt(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}" `;throw new TypeError(r+"expected boolean, got type="+typeof e)}return e}function Lr(e){if(typeof e=="bigint"){if(!Br(e))throw new RangeError("positive bigint expected, got "+e)}else Pn(e);return e}function Et(e,t=""){if(typeof e!="number"){let r=t&&`"${t}" `;throw new TypeError(r+"expected number, got type="+typeof e)}if(!Number.isSafeInteger(e)){let r=t&&`"${t}" `;throw new RangeError(r+"expected safe integer, got "+e)}}function Xe(e){let t=Lr(e).toString(16);return t.length&1?"0"+t:t}function ks(e){if(typeof e!="string")throw new TypeError("hex string expected, got "+typeof e);return e===""?Ir:BigInt("0x"+e)}function ee(e){return ks(Sr(e))}function _t(e){return ks(Sr(We(mt(e)).reverse()))}function Tr(e,t){if(qt(t),t===0)throw new RangeError("zero length");e=Lr(e);let r=e.toString(16);if(r.length>t*2)throw new RangeError("number too large");return ze(r.padStart(t*2,"0"))}function Nn(e,t){return Tr(e,t).reverse()}function Ps(e,t){if(e=N(e),t=N(t),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 We(e){return Uint8Array.from(N(e))}function _r(e){if(typeof e!="string")throw new TypeError("ascii string expected, got "+typeof e);return Uint8Array.from(e,(t,r)=>{let n=t.charCodeAt(0);if(t.length!==1||n>127)throw new RangeError(`string contains non-ASCII character "${e[r]}" with code ${n} at position ${r}`);return n})}var Br=e=>typeof e=="bigint"&&Ir<=e;function Fc(e,t,r){return Br(e)&&Br(t)&&Br(r)&&t<=e&&e<r}function Le(e,t,r,n){if(!Fc(t,r,n))throw new RangeError("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Te(e){if(e<Ir)throw new Error("expected non-negative bigint, got "+e);let t;for(t=0;e>Ir;e>>=kn,t+=1);return t}var Je=e=>(kn<<BigInt(e))-kn;function Ns(e,t,r){if(qt(e,"hashLen"),qt(t,"qByteLen"),typeof r!="function")throw new TypeError("hmacFn must be a function");let n=p=>new Uint8Array(p),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),a=1e3,f=n(e),c=n(e),u=0,l=()=>{f.fill(1),c.fill(0),u=0},m=(...p)=>r(c,Q(f,...p)),d=(p=o)=>{c=m(s,p),f=m(),p.length!==0&&(c=m(i,p),f=m())},b=()=>{if(u++>=a)throw new Error("drbg: tried max amount of iterations");let p=0,w=[];for(;p<t;){f=m();let v=f.slice();w.push(v),p+=f.length}return Q(...w)};return(p,w)=>{l(),d(p);let v;for(;(v=w(b()))===void 0;)d();return l(),v}}function St(e,t={},r={}){if(Object.prototype.toString.call(e)!=="[object Object]")throw new TypeError("expected valid options object");function n(s,i,a){if(!a&&i!=="function"&&!Object.hasOwn(e,s))throw new TypeError(`param "${s}" is invalid: expected own property`);let f=e[s];if(a&&f===void 0)return;let c=typeof f;if(c!==i||f===null)throw new TypeError(`param "${s}" is invalid: expected ${i}, got ${c}`)}let o=(s,i)=>Object.entries(s).forEach(([a,f])=>n(a,f,i));o(t,!1),o(r,!0)}var Mn=()=>{throw new Error("not implemented")};var st=BigInt(0),Y=BigInt(1),re=BigInt(2),Vs=BigInt(3),js=BigInt(4),zs=BigInt(5),Kc=BigInt(7),Zs=BigInt(8),Uc=BigInt(9),Ys=BigInt(16);function W(e,t){if(t<=st)throw new Error("mod: expected positive modulus, got "+t);let r=e%t;return r>=st?r:t+r}function V(e,t,r){if(t<st)throw new Error("pow2: expected non-negative exponent, got "+t);let n=e;for(;t-- >st;)n*=n,n%=r;return n}function Ms(e,t){if(e===st)throw new Error("invert: expected non-zero number");if(t<=st)throw new Error("invert: expected positive modulus, got "+t);let r=W(e,t),n=t,o=st,s=Y,i=Y,a=st;for(;r!==st;){let c=n/r,u=n-r*c,l=o-i*c,m=s-a*c;n=r,r=u,o=i,s=a,i=l,a=m}if(n!==Y)throw new Error("invert: does not exist");return W(o,t)}function qn(e,t,r){let n=e;if(!n.eql(n.sqr(t),r))throw new Error("Cannot find square root")}function $s(e,t){let r=e,n=(r.ORDER+Y)/js,o=r.pow(t,n);return qn(r,o,t),o}function kc(e,t){let r=e,n=(r.ORDER-zs)/Zs,o=r.mul(t,re),s=r.pow(o,n),i=r.mul(t,s),a=r.mul(r.mul(i,re),s),f=r.mul(i,r.sub(a,r.ONE));return qn(r,f,t),f}function Pc(e){let t=_e(e),r=Gs(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+Kc)/Ys;return((a,f)=>{let c=a,u=c.pow(f,i),l=c.mul(u,n),m=c.mul(u,o),d=c.mul(u,s),b=c.eql(c.sqr(l),f),E=c.eql(c.sqr(m),f);u=c.cmov(u,l,b),l=c.cmov(d,m,E);let p=c.eql(c.sqr(l),f),w=c.cmov(u,l,p);return qn(c,w,f),w})}function Gs(e){if(e<Vs)throw new Error("sqrt is not defined for small field");let t=e-Y,r=0;for(;t%re===st;)t/=re,r++;let n=re,o=_e(e);for(;qs(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return $s;let s=o.pow(n,t),i=(t+Y)/re;return function(f,c){let u=f;if(u.is0(c))return c;if(qs(u,c)!==1)throw new Error("Cannot find square root");let l=r,m=u.mul(u.ONE,s),d=u.pow(c,t),b=u.pow(c,i);for(;!u.eql(d,u.ONE);){if(u.is0(d))return u.ZERO;let E=1,p=u.sqr(d);for(;!u.eql(p,u.ONE);)if(E++,p=u.sqr(p),E===l)throw new Error("Cannot find square root");let w=Y<<BigInt(l-E-1),v=u.pow(m,w);l=E,m=u.sqr(v),d=u.mul(d,m),b=u.mul(b,v)}return b}}function Nc(e){return e%js===Vs?$s:e%Zs===zs?kc:e%Ys===Uc?Pc(e):Gs(e)}var Kt=(e,t)=>(W(e,t)&Y)===Y,Mc=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Hn(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=Mc.reduce((n,o)=>(n[o]="function",n),t);if(St(e,r),Et(e.BYTES,"BYTES"),Et(e.BITS,"BITS"),e.BYTES<1||e.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(e.ORDER<=Y)throw new Error("invalid field: expected ORDER > 1, got "+e.ORDER);return e}function qc(e,t,r){let n=e;if(r<st)throw new Error("invalid exponent, negatives unsupported");if(r===st)return n.ONE;if(r===Y)return t;let o=n.ONE,s=t;for(;r>st;)r&Y&&(o=n.mul(o,s)),s=n.sqr(s),r>>=Y;return o}function Qe(e,t,r=!1){let n=e,o=new Array(t.length).fill(r?n.ZERO:void 0),s=t.reduce((a,f,c)=>n.is0(f)?a:(o[c]=a,n.mul(a,f)),n.ONE),i=n.inv(s);return t.reduceRight((a,f,c)=>n.is0(f)?a:(o[c]=n.mul(a,o[c]),n.mul(a,f)),i),o}function qs(e,t){let r=e,n=(r.ORDER-Y)/re,o=r.pow(t,n),s=r.eql(o,r.ONE),i=r.eql(o,r.ZERO),a=r.eql(o,r.neg(r.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function Hc(e,t){if(t!==void 0&&Pn(t),e<=st)throw new Error("invalid n length: expected positive n, got "+e);if(t!==void 0&&t<1)throw new Error("invalid n length: expected positive bit length, got "+t);let r=Te(e);if(t!==void 0&&t<r)throw new Error(`invalid n length: expected bit length (${r}) >= n.length (${t})`);let n=t!==void 0?t:r,o=Math.ceil(n/8);return{nBitLength:n,nByteLength:o}}var Hs=new WeakMap,Rr=class{ORDER;BITS;BYTES;isLE;ZERO=st;ONE=Y;_lengths;_mod;constructor(t,r={}){if(t<=Y)throw new Error("invalid field: expected ORDER > 1, got "+t);let n;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(n=r.BITS),typeof r.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:r.sqrt,enumerable:!0}),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=Object.freeze(r.allowedLengths.slice())),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));let{nBitLength:o,nByteLength:s}=Hc(t,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=o,this.BYTES=s,Object.freeze(this)}create(t){return W(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof t);return st<=t&&t<this.ORDER}is0(t){return t===st}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&Y)===Y}neg(t){return W(-t,this.ORDER)}eql(t,r){return t===r}sqr(t){return W(t*t,this.ORDER)}add(t,r){return W(t+r,this.ORDER)}sub(t,r){return W(t-r,this.ORDER)}mul(t,r){return W(t*r,this.ORDER)}pow(t,r){return qc(this,t,r)}div(t,r){return W(t*Ms(r,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,r){return t+r}subN(t,r){return t-r}mulN(t,r){return t*r}inv(t){return Ms(t,this.ORDER)}sqrt(t){let r=Hs.get(this);return r||Hs.set(this,r=Nc(this.ORDER)),r(this,t)}toBytes(t){return this.isLE?Nn(t,this.BYTES):Tr(t,this.BYTES)}fromBytes(t,r=!1){N(t);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:a}=this;if(n){if(t.length<1||!n.includes(t.length)||t.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let c=new Uint8Array(o);c.set(t,s?0:c.length-t.length),t=c}if(t.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+t.length);let f=s?_t(t):ee(t);if(a&&(f=W(f,i)),!r&&!this.isValid(f))throw new Error("invalid field element: outside of range 0..ORDER");return f}invertBatch(t){return Qe(this,t)}cmov(t,r,n){return wt(n,"condition"),n?r:t}};Object.freeze(Rr.prototype);function _e(e,t={}){return new Rr(e,t)}function Xs(e){if(typeof e!="bigint")throw new Error("field order must be bigint");if(e<=Y)throw new Error("field order must be greater than 1");let t=Te(e-Y);return Math.ceil(t/8)}function Vn(e){let t=Xs(e);return t+Math.ceil(t/2)}function jn(e,t,r=!1){N(e);let n=e.length,o=Xs(t),s=Math.max(Vn(t),16);if(n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?_t(e):ee(e),a=W(i,t-Y)+Y;return r?Nn(a,o):Tr(a,o)}var Re=BigInt(0),ne=BigInt(1);function tr(e,t){let r=t.negate();return e?r:t}function oe(e,t){let r=Qe(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function ti(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function zn(e,t){ti(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=Je(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Ws(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(e&o),f=e>>i;a>n&&(a-=s,f+=ne);let c=t*n,u=c+Math.abs(a)-1,l=a===0,m=a<0,d=t%2!==0;return{nextN:f,offset:u,isZero:l,isNeg:m,isNegF:d,offsetF:c}}var Zn=new WeakMap,ei=new WeakMap;function Yn(e){return ei.get(e)||1}function Js(e){if(e!==Re)throw new Error("invalid wNAF")}var De=class{BASE;ZERO;Fn;bits;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>Re;)r&ne&&(n=n.add(o)),o=o.double(),r>>=ne;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=zn(r,this.bits),s=[],i=t,a=i;for(let f=0;f<n;f++){a=i,s.push(a);for(let c=1;c<o;c++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=zn(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:f,offset:c,isZero:u,isNeg:l,isNegF:m,offsetF:d}=Ws(n,a,i);n=f,u?s=s.add(tr(m,r[d])):o=o.add(tr(l,r[c]))}return Js(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=zn(t,this.bits);for(let i=0;i<s.windows&&n!==Re;i++){let{nextN:a,offset:f,isZero:c,isNeg:u}=Ws(n,i,s);if(n=a,!c){let l=r[f];o=o.add(u?l.negate():l)}}return Js(n),o}getPrecomputes(t,r,n){let o=Zn.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Zn.set(r,o))),o}cached(t,r,n){let o=Yn(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=Yn(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){ti(r,this.bits),ei.set(t,r),Zn.delete(t)}hasCache(t){return Yn(t)!==1}};function ri(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>Re||n>Re;)r&ne&&(s=s.add(o)),n&ne&&(i=i.add(o)),o=o.double(),r>>=ne,n>>=ne;return{p1:s,p2:i}}function Qs(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Hn(t),t}else return _e(e,{isLE:r})}function Dr(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 f of["p","n","h"]){let c=t[f];if(!(typeof c=="bigint"&&c>Re))throw new Error(`CURVE.${f} must be positive bigint`)}let o=Qs(t.p,r.Fp,n),s=Qs(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let f of a)if(!o.isValid(t[f]))throw new Error(`CURVE.${f} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}function Cr(e,t){return function(n){let o=e(n);return{secretKey:o,publicKey:t(o)}}}var zt=BigInt(0),nt=BigInt(1),$n=BigInt(2),Vc=BigInt(8);function jc(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),a=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,a)}function ni(e,t={}){let r=t,n=Dr("edwards",e,r,r.FpFnLE),{Fp:o,Fn:s}=n,i=n.CURVE,{h:a}=i;St(r,{},{uvRatio:"function"});let f=$n<<BigInt(s.BYTES*8)-nt,c=E=>o.create(E),u=r.uvRatio===void 0?(E,p)=>{try{return{isValid:!0,value:o.sqrt(o.div(E,p))}}catch{return{isValid:!1,value:zt}}}:r.uvRatio;if(!jc(o,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function l(E,p,w=!1){let v=w?nt:zt;return Le("coordinate "+E,p,v,f),p}function m(E){if(!(E instanceof d))throw new Error("EdwardsPoint expected")}class d{static BASE=new d(i.Gx,i.Gy,nt,c(i.Gx*i.Gy));static ZERO=new d(zt,nt,nt,zt);static Fp=o;static Fn=s;X;Y;Z;T;constructor(p,w,v,B){this.X=l("x",p),this.Y=l("y",w),this.Z=l("z",v,!0),this.T=l("t",B),Object.freeze(this)}static CURVE(){return i}static fromAffine(p){if(p instanceof d)throw new Error("extended point not allowed");let{x:w,y:v}=p||{};return l("x",w),l("y",v),new d(w,v,nt,c(w*v))}static fromBytes(p,w=!1){let v=o.BYTES,{a:B,d:D}=i;p=We(N(p,v,"point")),wt(w,"zip215");let _=We(p),F=p[v-1];_[v-1]=F&-129;let C=_t(_),L=w?f:o.ORDER;Le("point.y",C,zt,L);let K=c(C*C),H=c(K-nt),U=c(D*K-B),{isValid:h,value:y}=u(H,U);if(!h)throw new Error("bad point: invalid y coordinate");let S=(y&nt)===nt,x=(F&128)!==0;if(!w&&y===zt&&x)throw new Error("bad point: x=0 and x_0=1");return x!==S&&(y=c(-y)),d.fromAffine({x:y,y:C})}static fromHex(p,w=!1){return d.fromBytes(Ie(p),w)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(p=8,w=!0){return b.createCache(this,p),w||this.multiply($n),this}assertValidity(){let p=this,{a:w,d:v}=i;if(p.is0())throw new Error("bad point: ZERO");let{X:B,Y:D,Z:_,T:F}=p,C=c(B*B),L=c(D*D),K=c(_*_),H=c(K*K),U=c(C*w),h=c(K*c(U+L)),y=c(H+c(v*c(C*L)));if(h!==y)throw new Error("bad point: equation left != right (1)");let S=c(B*D),x=c(_*F);if(S!==x)throw new Error("bad point: equation left != right (2)")}equals(p){m(p);let{X:w,Y:v,Z:B}=this,{X:D,Y:_,Z:F}=p,C=c(w*F),L=c(D*B),K=c(v*F),H=c(_*B);return C===L&&K===H}is0(){return this.equals(d.ZERO)}negate(){return new d(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:p}=i,{X:w,Y:v,Z:B}=this,D=c(w*w),_=c(v*v),F=c($n*c(B*B)),C=c(p*D),L=w+v,K=c(c(L*L)-D-_),H=C+_,U=H-F,h=C-_,y=c(K*U),S=c(H*h),x=c(K*h),g=c(U*H);return new d(y,S,g,x)}add(p){m(p);let{a:w,d:v}=i,{X:B,Y:D,Z:_,T:F}=this,{X:C,Y:L,Z:K,T:H}=p,U=c(B*C),h=c(D*L),y=c(F*v*H),S=c(_*K),x=c((B+D)*(C+L)-U-h),g=S-y,A=S+y,T=c(h-w*U),I=c(x*g),R=c(A*T),O=c(x*T),P=c(g*A);return new d(I,R,P,O)}subtract(p){return m(p),this.add(p.negate())}multiply(p){if(!s.isValidNot0(p))throw new RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:w,f:v}=b.cached(this,p,B=>oe(d,B));return oe(d,[w,v])[0]}multiplyUnsafe(p){if(!s.isValid(p))throw new RangeError("invalid scalar: expected 0 <= sc < curve.n");return p===zt?d.ZERO:this.is0()||p===nt?this:b.unsafe(this,p,w=>oe(d,w))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return b.unsafe(this,i.n).is0()}toAffine(p){let w=this,v=p,{X:B,Y:D,Z:_}=w,F=w.is0();v==null&&(v=F?Vc:o.inv(_));let C=c(B*v),L=c(D*v),K=o.mul(_,v);if(F)return{x:zt,y:nt};if(K!==nt)throw new Error("invZ was invalid");return{x:C,y:L}}clearCofactor(){return a===nt?this:this.multiplyUnsafe(a)}toBytes(){let{x:p,y:w}=this.toAffine(),v=o.toBytes(w);return v[v.length-1]|=p&nt?128:0,v}toHex(){return Be(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let b=new De(d,s.BITS);return s.BITS>=8&&d.BASE.precompute(8),Object.freeze(d.prototype),Object.freeze(d),d}var Or=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(t){this.ep=t}static fromBytes(t){Mn()}static fromHex(t){Mn()}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 Be(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.ep.precompute(t,r),this}};function oi(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');let n=t,o=r;St(o,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",zip215:"boolean",mapToCurve:"function"});let{prehash:s}=o,{BASE:i,Fp:a,Fn:f}=e,c=n.outputLen,u=2*a.BYTES;if(c!==void 0&&(Et(c,"hash.outputLen"),c!==u))throw new Error(`hash.outputLen must be ${u}, got ${c}`);let l=o.randomBytes===void 0?Ge:o.randomBytes,m=o.adjustScalarBytes===void 0?h=>h:o.adjustScalarBytes,d=o.domain===void 0?(h,y,S)=>{if(wt(S,"phflag"),y.length||S)throw new Error("Contexts/pre-hash are not supported");return h}:o.domain;function b(h){return f.create(_t(h))}function E(h){let y=C.secretKey;N(h,C.secretKey,"secretKey");let S=N(n(h),2*y,"hashedSecretKey"),x=m(S.slice(0,y)),g=S.slice(y,2*y),A=b(x);return{head:x,prefix:g,scalar:A}}function p(h){let{head:y,prefix:S,scalar:x}=E(h),g=i.multiply(x),A=g.toBytes();return{head:y,prefix:S,scalar:x,point:g,pointBytes:A}}function w(h){return p(h).pointBytes}function v(h=Uint8Array.of(),...y){let S=Q(...y);return b(n(d(S,N(h,void 0,"context"),!!s)))}function B(h,y,S={}){h=N(h,void 0,"message"),s&&(h=s(h));let{prefix:x,scalar:g,pointBytes:A}=p(y),T=v(S.context,x,h),I=i.multiply(T).toBytes(),R=v(S.context,I,A,h),O=f.create(T+R*g);if(!f.isValid(O))throw new Error("sign failed: invalid s");let P=Q(I,f.toBytes(O));return N(P,C.signature,"result")}let D={zip215:o.zip215};function _(h,y,S,x=D){let{context:g}=x,A=x.zip215===void 0?!!D.zip215:x.zip215,T=C.signature;h=N(h,T,"signature"),y=N(y,void 0,"message"),S=N(S,C.publicKey,"publicKey"),A!==void 0&&wt(A,"zip215"),s&&(y=s(y));let I=T/2,R=h.subarray(0,I),O=_t(h.subarray(I,T)),P,M,k;try{P=e.fromBytes(S,A),M=e.fromBytes(R,A),k=i.multiplyUnsafe(O)}catch{return!1}if(!A&&P.isSmallOrder())return!1;let J=v(g,R,S,y);return M.add(P.multiplyUnsafe(J)).subtract(k).clearCofactor().is0()}let F=a.BYTES,C={secretKey:F,publicKey:F,signature:2*F,seed:F};function L(h){return h=h===void 0?l(C.seed):h,N(h,C.seed,"seed")}function K(h){return te(h)&&h.length===C.secretKey}function H(h,y){try{return!!e.fromBytes(h,y===void 0?D.zip215:y)}catch{return!1}}let U={getExtendedPublicKey:p,randomSecretKey:L,isValidSecretKey:K,isValidPublicKey:H,toMontgomery(h){let{y}=e.fromBytes(h),S=C.publicKey,x=S===32;if(!x&&S!==57)throw new Error("only defined for 25519 and 448");let g=x?a.div(nt+y,nt-y):a.div(y-nt,y+nt);return a.toBytes(g)},toMontgomerySecret(h){let y=C.secretKey;N(h,y);let S=n(h.subarray(0,y));return m(S).subarray(0,y)}};return Object.freeze(C),Object.freeze(U),Object.freeze({keygen:Cr(L,w),getPublicKey:w,sign:B,verify:_,utils:U,Point:e,lengths:C})}function er(e,t){if(Et(e),Et(t),t<0||t>4)throw new Error("invalid I2OSP length: "+t);if(e<0||e>2**(8*t)-1)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 zc(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 Zc(e){if(!te(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or ascii string");let t=typeof e=="string"?_r(e):e;if(t.length===0)throw new Error("DST must be non-empty");return t}function Gn(e,t,r,n){N(e),Et(r),t=Zc(t),t.length>255&&(t=n(Q(_r("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=Q(t,er(t.length,1)),f=new Uint8Array(s),c=er(r,2),u=new Array(i),l=n(Q(f,e,c,er(0,1),a));u[0]=n(Q(l,er(1,1),a));for(let d=1;d<i;d++){let b=[zc(l,u[d-1]),er(d+1,1),a];u[d]=n(Q(...b))}return Q(...u).slice(0,r)}var si="HashToScalar-";var Yc=BigInt(0),Ut=BigInt(1),ii=BigInt(2);var $c=BigInt(5),Gc=BigInt(8),Ce=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Qn={p:Ce,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Gc,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Xc(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=Ce,a=e*e%s*e%s,f=V(a,ii,s)*a%s,c=V(f,Ut,s)*e%s,u=V(c,$c,s)*c%s,l=V(u,t,s)*u%s,m=V(l,r,s)*l%s,d=V(m,n,s)*m%s,b=V(d,o,s)*d%s,E=V(b,o,s)*d%s,p=V(E,t,s)*u%s;return{pow_p_5_8:V(p,ii,s)*e%s,b2:a}}function Wc(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Xn=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function to(e,t){let r=Ce,n=W(t*t*t,r),o=W(n*n*t,r),s=Xc(e*o).pow_p_5_8,i=W(e*n*s,r),a=W(t*i*i,r),f=i,c=W(i*Xn,r),u=a===e,l=a===W(-e,r),m=a===W(-e*Xn,r);return u&&(i=f),(l||m)&&(i=c),Kt(i,r)&&(i=W(-i,r)),{isValid:u||l,value:i}}var Yt=ni(Qn,{uvRatio:to}),Zt=Yt.Fp,fi=Yt.Fn;function Jc(e){return oi(Yt,Ar,Object.assign({adjustScalarBytes:Wc,zip215:!0},e))}var ui=Jc({});var Wn=Xn,Qc=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),tf=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),ef=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),rf=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),ai=e=>to(Ut,e),nf=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Jn=e=>Zt.create(_t(e)&nf);function ci(e){let{d:t}=Qn,r=Ce,n=w=>Zt.create(w),o=n(Wn*e*e),s=n((o+Ut)*ef),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:f,value:c}=to(s,a),u=n(c*e);Kt(u,r)||(u=n(-u)),f||(c=u),f||(i=o);let l=n(i*(o-Ut)*rf-a),m=c*c,d=n((c+c)*a),b=n(l*Qc),E=n(Ut-m),p=n(Ut+m);return new Yt(n(d*p),n(E*b),n(b*p),n(d*E))}var $t=class e extends Or{static BASE=new e(Yt.BASE);static ZERO=new e(Yt.ZERO);static Fp=Zt;static Fn=fi;constructor(t){super(t)}static fromAffine(t){return new e(Yt.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static fromBytes(t){mt(t,32);let{a:r,d:n}=Qn,o=Ce,s=D=>Zt.create(D),i=Jn(t);if(!Ps(Zt.toBytes(i),t)||Kt(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),f=s(Ut+r*a),c=s(Ut-r*a),u=s(f*f),l=s(c*c),m=s(r*n*u-l),{isValid:d,value:b}=ai(s(m*l)),E=s(b*c),p=s(b*E*m),w=s((i+i)*E);Kt(w,o)&&(w=s(-w));let v=s(f*p),B=s(w*v);if(!d||Kt(B,o)||v===Yc)throw new Error("invalid ristretto255 encoding 2");return new e(new Yt(w,v,Ut,B))}static fromHex(t){return e.fromBytes(ze(t))}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,s=Ce,i=p=>Zt.create(p),a=i(i(n+r)*i(n-r)),f=i(t*r),c=i(f*f),{value:u}=ai(i(a*c)),l=i(u*a),m=i(u*f),d=i(l*m*o),b;if(Kt(o*d,s)){let p=i(r*Wn),w=i(t*Wn);t=p,r=w,b=i(l*tf)}else b=m;Kt(t*d,s)&&(r=i(-r));let E=i((n-r)*b);return Kt(E,s)&&(E=i(-E)),Zt.toBytes(E)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:s}=t.ep,i=c=>Zt.create(c),a=i(r*s)===i(n*o),f=i(n*s)===i(r*o);return a||f}is0(){return this.equals(e.ZERO)}};Object.freeze($t.BASE);Object.freeze($t.ZERO);Object.freeze($t.prototype);Object.freeze($t);var of=Object.freeze({Point:$t,hashToCurve(e,t){let r=t?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":t.DST,n=Gn(e,r,64,Ar);return of.deriveToCurve(n)},hashToScalar(e,t={DST:si}){let r=Gn(e,t.DST,64,Ar);return fi.create(_t(r))},deriveToCurve(e){mt(e,64);let t=Jn(e.subarray(0,32)),r=ci(t),n=Jn(e.subarray(32,64)),o=ci(n);return new $t(r.add(o))}});var rr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Fr=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var li={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new Fr("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var bt=li;var Oe=32;var eo,sf=(async()=>{try{return await bt.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function af(e,t,r){if(e.buffer instanceof ArrayBuffer){let n=await bt.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await bt.get().subtle.verify({name:"Ed25519"},n,t,r instanceof Uint8Array?r:r.subarray())}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function cf(e,t,r){return ui.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}async function hi(e,t,r){return eo==null&&(eo=await sf),eo?af(e,t,r):cf(e,t,r)}function Kr(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Ur=class{type="Ed25519";raw;constructor(t){this.raw=ro(t,Oe)}toMultihash(){return It.digest(Se(this))}toCID(){return it.createV1(114,this.toMultihash())}toString(){return G.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:at(this.raw,t.raw)}verify(t,r,n){n?.signal?.throwIfAborted();let o=hi(this.raw,r,t);return Kr(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}};function mi(e){return e=ro(e,Oe),new Ur(e)}function ro(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new j(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}var ff=Math.pow(2,7),uf=Math.pow(2,14),lf=Math.pow(2,21),no=Math.pow(2,28),oo=Math.pow(2,35),so=Math.pow(2,42),io=Math.pow(2,49),q=128,ct=127;function kt(e){if(e<ff)return 1;if(e<uf)return 2;if(e<lf)return 3;if(e<no)return 4;if(e<oo)return 5;if(e<so)return 6;if(e<io)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function ao(e,t,r=0){switch(kt(e)){case 8:t[r++]=e&255|q,e/=128;case 7:t[r++]=e&255|q,e/=128;case 6:t[r++]=e&255|q,e/=128;case 5:t[r++]=e&255|q,e/=128;case 4:t[r++]=e&255|q,e>>>=7;case 3:t[r++]=e&255|q,e>>>=7;case 2:t[r++]=e&255|q,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function hf(e,t,r=0){switch(kt(e)){case 8:t.set(r++,e&255|q),e/=128;case 7:t.set(r++,e&255|q),e/=128;case 6:t.set(r++,e&255|q),e/=128;case 5:t.set(r++,e&255|q),e/=128;case 4:t.set(r++,e&255|q),e>>>=7;case 3:t.set(r++,e&255|q),e>>>=7;case 2:t.set(r++,e&255|q),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function co(e,t){let r=e[t],n=0;if(n+=r&ct,r<q||(r=e[t+1],n+=(r&ct)<<7,r<q)||(r=e[t+2],n+=(r&ct)<<14,r<q)||(r=e[t+3],n+=(r&ct)<<21,r<q)||(r=e[t+4],n+=(r&ct)*no,r<q)||(r=e[t+5],n+=(r&ct)*oo,r<q)||(r=e[t+6],n+=(r&ct)*so,r<q)||(r=e[t+7],n+=(r&ct)*io,r<q))return n;throw new RangeError("Could not decode varint")}function df(e,t){let r=e.get(t),n=0;if(n+=r&ct,r<q||(r=e.get(t+1),n+=(r&ct)<<7,r<q)||(r=e.get(t+2),n+=(r&ct)<<14,r<q)||(r=e.get(t+3),n+=(r&ct)<<21,r<q)||(r=e.get(t+4),n+=(r&ct)*no,r<q)||(r=e.get(t+5),n+=(r&ct)*oo,r<q)||(r=e.get(t+6),n+=(r&ct)*so,r<q)||(r=e.get(t+7),n+=(r&ct)*io,r<q))return n;throw new RangeError("Could not decode varint")}function yi(e,t,r=0){return t==null&&(t=dt(kt(e))),t instanceof Uint8Array?ao(e,t,r):hf(e,t,r)}function bi(e,t=0){return e instanceof Uint8Array?co(e,t):df(e,t)}var fo=new Float32Array([-0]),Gt=new Uint8Array(fo.buffer);function gi(e,t,r){fo[0]=e,t[r]=Gt[0],t[r+1]=Gt[1],t[r+2]=Gt[2],t[r+3]=Gt[3]}function xi(e,t){return Gt[0]=e[t],Gt[1]=e[t+1],Gt[2]=e[t+2],Gt[3]=e[t+3],fo[0]}var uo=new Float64Array([-0]),ft=new Uint8Array(uo.buffer);function wi(e,t,r){uo[0]=e,t[r]=ft[0],t[r+1]=ft[1],t[r+2]=ft[2],t[r+3]=ft[3],t[r+4]=ft[4],t[r+5]=ft[5],t[r+6]=ft[6],t[r+7]=ft[7]}function Ei(e,t){return ft[0]=e[t],ft[1]=e[t+1],ft[2]=e[t+2],ft[3]=e[t+3],ft[4]=e[t+4],ft[5]=e[t+5],ft[6]=e[t+6],ft[7]=e[t+7],uo[0]}var mf=BigInt(Number.MAX_SAFE_INTEGER),yf=BigInt(Number.MIN_SAFE_INTEGER),yt=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return se;if(t<mf&&t>yf)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,o=t-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>Si&&(o=0n,++n>Si&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return se;let r=t<0;r&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new e(n,o)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):se}},se=new yt(0,0);se.toBigInt=function(){return 0n};se.zzEncode=se.zzDecode=function(){return this};se.length=function(){return 1};var Si=4294967296n;function vi(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Ai(e,t,r){if(r-t<1)return"";let o,s=[],i=0,a;for(;t<r;)a=e[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function lo(e,t,r){let n=r,o,s;for(let i=0;i<e.length;++i)o=e.charCodeAt(i),o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128);return r-n}function vt(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function kr(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var ho=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,vt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw vt(this,4);return kr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw vt(this,4);return kr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw vt(this,4);let t=xi(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw vt(this,4);let t=Ei(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw vt(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return Ai(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw vt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw vt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new yt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw vt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw vt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw vt(this,8);let t=kr(this.buf,this.pos+=4),r=kr(this.buf,this.pos+=4);return new yt(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=co(this.buf,this.pos);return this.pos+=kt(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function nr(e){return new ho(e instanceof Uint8Array?e:e.subarray())}function ie(e,t,r){let n=nr(e);return t.decode(n,void 0,r)}function po(e){let t=e??8192,r=t>>>1,n,o=t;return function(i){if(i<1||i>r)return dt(i);o+i>t&&(n=dt(t),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var ae=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function mo(){}var bo=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},bf=po();function gf(e){return globalThis.Buffer!=null?dt(e):bf(e)}var sr=class{len;head;tail;states;constructor(){this.len=0,this.head=new ae(mo,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new ae(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new go((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Pr,10,yt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=yt.fromBigInt(t);return this._push(Pr,r.length(),r)}uint64Number(t){return this._push(ao,kt(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=yt.fromBigInt(t).zzEncode();return this._push(Pr,r.length(),r)}sint64Number(t){let r=yt.fromNumber(t).zzEncode();return this._push(Pr,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(yo,1,t?1:0)}fixed32(t){return this._push(or,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=yt.fromBigInt(t);return this._push(or,4,r.lo)._push(or,4,r.hi)}fixed64Number(t){let r=yt.fromNumber(t);return this._push(or,4,r.lo)._push(or,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(gi,4,t)}double(t){return this._push(wi,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(yo,1,0):this.uint32(r)._push(wf,r,t)}string(t){let r=vi(t);return r!==0?this.uint32(r)._push(lo,r,t):this._push(yo,1,0)}fork(){return this.states=new bo(this),this.head=this.tail=new ae(mo,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new ae(mo,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=gf(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function yo(e,t,r){t[r]=e&255}function xf(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var go=class extends ae{next;constructor(t,r){super(xf,t,r),this.next=void 0}};function Pr(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function or(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function wf(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(sr.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Ef,t,e),this},sr.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Sf,t,e),this});function Ef(e,t,r){t.set(e,r)}function Sf(e,t,r){e.length<40?lo(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(X(e),r)}function xo(){return new sr}function ce(e,t){let r=xo();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}function*fe(e,t,r){let n=nr(e);yield*t.stream(n,void 0,"$",r)}var Nr={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function Mr(e,t,r,n,o){return{name:e,type:t,encode:r,decode:n,stream:o}}function ir(e){function t(s){if(e[s.toString()]==null)throw new Error("Invalid enum value");return e[s]}let r=function(i,a){let f=t(i);a.int32(f)},n=function(i){let a=i.int32();return t(a)},o=function*(i){let a=i.int32();yield t(a)};return Mr("enum",Nr.VARINT,r,n,o)}function ue(e,t,r){return Mr("message",Nr.LENGTH_DELIMITED,e,t,r)}var ut;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})(ut||(ut={}));var wo;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(wo||(wo={}));(function(e){e.codec=()=>ir(wo)})(ut||(ut={}));var Xt;(function(e){let t;e.codec=()=>(t==null&&(t=ue((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ut.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let f={},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{f.Type=ut.codec().decode(s);break}case 2:{f.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ut.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),t);function r(s){return ce(s,e.codec())}e.encode=r;function n(s,i){return ie(s,e.codec(),i)}e.decode=n;function o(s,i){return fe(s,e.codec(),i)}e.stream=o})(Xt||(Xt={}));var Eo;(function(e){let t;e.codec=()=>(t==null&&(t=ue((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ut.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let f={},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{f.Type=ut.codec().decode(s);break}case 2:{f.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ut.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),t);function r(s){return ce(s,e.codec())}e.encode=r;function n(s,i){return ie(s,e.codec(),i)}e.decode=n;function o(s,i){return fe(s,e.codec(),i)}e.stream=o})(Eo||(Eo={}));var cr={};ht(cr,{MAX_RSA_KEY_SIZE:()=>So,generateRSAKeyPair:()=>Di,jwkToJWKKeyPair:()=>Ci,jwkToPkcs1:()=>If,jwkToPkix:()=>Io,jwkToRSAPrivateKey:()=>To,pkcs1MessageToJwk:()=>Ao,pkcs1MessageToRSAPrivateKey:()=>Lo,pkcs1ToJwk:()=>Bf,pkcs1ToRSAPrivateKey:()=>_i,pkixMessageToJwk:()=>Bo,pkixMessageToRSAPublicKey:()=>qr,pkixToJwk:()=>Lf,pkixToRSAPublicKey:()=>Ri});var Fe=class{type="RSA";jwk;_raw;_multihash;constructor(t,r){this.jwk=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=cr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return it.createV1(114,this._multihash)}toString(){return G.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:at(this.raw,t.raw)}verify(t,r,n){return Ti(this.jwk,r,t,n)}},ar=class{type="RSA";jwk;_raw;publicKey;constructor(t,r){this.jwk=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=cr.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:at(this.raw,t.raw)}sign(t,r){return Li(this.jwk,t,r)}};var So=8192,vo=18,vf=1062,Af=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function Bf(e){let t=Lt(e);return Ao(t)}function Ao(e){return{n:Z(e[1],"base64url"),e:Z(e[2],"base64url"),d:Z(e[3],"base64url"),p:Z(e[4],"base64url"),q:Z(e[5],"base64url"),dp:Z(e[6],"base64url"),dq:Z(e[7],"base64url"),qi:Z(e[8],"base64url"),kty:"RSA"}}function If(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new j("JWK was missing components");return Mt([pt(Uint8Array.from([0])),pt(X(e.n,"base64url")),pt(X(e.e,"base64url")),pt(X(e.d,"base64url")),pt(X(e.p,"base64url")),pt(X(e.q,"base64url")),pt(X(e.dp,"base64url")),pt(X(e.dq,"base64url")),pt(X(e.qi,"base64url"))]).subarray()}function Lf(e){let t=Lt(e,{offset:0});return Bo(t)}function Bo(e){let t=Lt(e[1],{offset:0});return{kty:"RSA",n:Z(t[0],"base64url"),e:Z(t[1],"base64url")}}function Io(e){if(e.n==null||e.e==null)throw new j("JWK was missing components");return Mt([Af,gr(Mt([pt(X(e.n,"base64url")),pt(X(e.e,"base64url"))]))]).subarray()}function _i(e){let t=Lt(e);return Lo(t)}function Lo(e){let t=Ao(e);return To(t)}function Ri(e,t){if(e.byteLength>=vf)throw new de("Key size is too large");let r=Lt(e,{offset:0});return qr(r,e,t)}function qr(e,t,r){let n=Bo(e);if(r==null){let o=Ae(Xt.encode({Type:ut.RSA,Data:t}));r=Bt(vo,o)}return new Fe(n,r)}function To(e){if(Fi(e)>So)throw new j("Key size is too large");let t=Ci(e),r=Ae(Xt.encode({Type:ut.RSA,Data:Io(t.publicKey)})),n=Bt(vo,r);return new ar(t.privateKey,new Fe(t.publicKey,n))}async function Di(e){if(e>So)throw new j("Key size is too large");let t=await Oi(e),r=Ae(Xt.encode({Type:ut.RSA,Data:Io(t.publicKey)})),n=Bt(vo,r);return new ar(t.privateKey,new Fe(t.publicKey,n))}function Ci(e){if(e==null)throw new j("Missing key parameter");return{privateKey:e,publicKey:{kty:e.kty,n:e.n,e:e.e}}}var Ki="1.2.840.113549.1.1.1";async function Oi(e,t){let r=await bt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);t?.signal?.throwIfAborted();let n=await Tf(r,t);return{privateKey:n[0],publicKey:n[1]}}async function Li(e,t,r){let n=await bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);r?.signal?.throwIfAborted();let o=await bt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,t instanceof Uint8Array?t:t.subarray());return r?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function Ti(e,t,r,n){let o=await bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let s=await bt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,t,r instanceof Uint8Array?r:r.subarray());return n?.signal?.throwIfAborted(),s}async function Tf(e,t){if(e.privateKey==null||e.publicKey==null)throw new j("Private and public key are required");let r=await Promise.all([bt.get().subtle.exportKey("jwk",e.privateKey),bt.get().subtle.exportKey("jwk",e.publicKey)]);return t?.signal?.throwIfAborted(),r}function Fi(e){if(e.kty!=="RSA")throw new j("invalid key type");if(e.n==null)throw new j("invalid key modulus");return X(e.n,"base64url").length*8}var Hr=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(t,r){if(xr(t),mt(r,void 0,"key"),this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,o=new Uint8Array(n);o.set(r.length>n?t.create().update(r).digest():r);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),Ot(o)}update(t){return ve(this),this.iHash.update(t),this}digestInto(t){ve(this),wr(t,this),this.finished=!0;let r=t.subarray(0,this.outputLen);this.iHash.digestInto(r),this.oHash.update(r),this.oHash.digestInto(r),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||=Object.create(Object.getPrototypeOf(this),{});let{oHash:r,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ui=(()=>{let e=((t,r,n)=>new Hr(t,r).update(n).digest());return e.create=(t,r)=>new Hr(t,r),e})();var ki=(e,t)=>(e+(e>=0?t:-t)/Pi)/t;function _f(e,t,r){Le("scalar",e,Rt,r);let[[n,o],[s,i]]=t,a=ki(i*e,r),f=ki(-o*e,r),c=e-a*n-f*s,u=-a*o-f*i,l=c<Rt,m=u<Rt;l&&(c=-c),m&&(u=-u);let d=Je(Math.ceil(Te(r)/2))+Wt;if(c<Rt||c>=d||u<Rt||u>=d)throw new Error("splitScalar (endomorphism): failed for k");return{k1neg:l,k1:c,k2neg:m,k2:u}}function Ro(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function _o(e,t){St(e);let r={};for(let n of Object.keys(t))r[n]=e[n]===void 0?t[n]:e[n];return wt(r.lowS,"lowS"),wt(r.prehash,"prehash"),r.format!==void 0&&Ro(r.format),r}var Do=class extends Error{constructor(t=""){super(t)}},At={Err:Do,_tlv:{encode:(e,t)=>{let{Err:r}=At;if(Et(e,"tag"),e<0||e>255)throw new r("tlv.encode: wrong tag");if(typeof t!="string")throw new TypeError('"data" expected string, got type='+typeof t);if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,o=Xe(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let s=n>127?Xe(o.length/2|128):"";return Xe(e)+s+o+t},decode(e,t){let{Err:r}=At;t=N(t,void 0,"DER data");let n=0;if(e<0||e>255)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");let o=t[n++],s=!!(o&128),i=0;if(!s)i=o;else{let f=o&127;if(!f)throw new r("tlv.decode(long): indefinite length not supported");if(f>4)throw new r("tlv.decode(long): byte length is too big");let c=t.subarray(n,n+f);if(c.length!==f)throw new r("tlv.decode: length bytes not complete");if(c[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of c)i=i<<8|u;if(n+=f,i<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+i);if(a.length!==i)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+i)}}},_int:{encode(e){let{Err:t}=At;if(Lr(e),e<Rt)throw new t("integer: negative integers are not allowed");let r=Xe(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=At;if(e.length<1)throw new t("invalid signature integer: empty");if(e[0]&128)throw new t("invalid signature integer: negative");if(e.length>1&&e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return ee(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=At,o=N(e,void 0,"signature"),{v:s,l:i}=n.decode(48,o);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:f}=n.decode(2,s),{v:c,l:u}=n.decode(2,f);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(c)}},hexFromSig(e){let{_tlv:t,_int:r}=At,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),s=n+o;return t.encode(48,s)}};Object.freeze(At._tlv);Object.freeze(At._int);Object.freeze(At);var Rt=BigInt(0),Wt=BigInt(1),Pi=BigInt(2),Vr=BigInt(3),Rf=BigInt(4);function Ni(e,t={}){let r=Dr("weierstrass",e,t),n=r.Fp,o=r.Fn,s=r.CURVE,{h:i,n:a}=s;St(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:f,allowInfinityPoint:c}=t;if(f&&(!n.is0(s.a)||typeof f.beta!="bigint"||!Array.isArray(f.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=qi(n,o);function l(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function m(U,h,y){if(c&&h.is0())return Uint8Array.of(0);let{x:S,y:x}=h.toAffine(),g=n.toBytes(S);if(wt(y,"isCompressed"),y){l();let A=!n.isOdd(x);return Q(Mi(A),g)}else return Q(Uint8Array.of(4),g,n.toBytes(x))}function d(U){N(U,void 0,"Point");let{publicKey:h,publicKeyUncompressed:y}=u,S=U.length,x=U[0],g=U.subarray(1);if(c&&S===1&&x===0)return{x:n.ZERO,y:n.ZERO};if(S===h&&(x===2||x===3)){let A=n.fromBytes(g);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let T=p(A),I;try{I=n.sqrt(T)}catch(P){let M=P instanceof Error?": "+P.message:"";throw new Error("bad point: is not on curve, sqrt error"+M)}l();let R=n.isOdd(I);return(x&1)===1!==R&&(I=n.neg(I)),{x:A,y:I}}else if(S===y&&x===4){let A=n.BYTES,T=n.fromBytes(g.subarray(0,A)),I=n.fromBytes(g.subarray(A,A*2));if(!w(T,I))throw new Error("bad point: is not on curve");return{x:T,y:I}}else throw new Error(`bad point: got length ${S}, expected compressed=${h} or uncompressed=${y}`)}let b=t.toBytes===void 0?m:t.toBytes,E=t.fromBytes===void 0?d:t.fromBytes;function p(U){let h=n.sqr(U),y=n.mul(h,U);return n.add(n.add(y,n.mul(U,s.a)),s.b)}function w(U,h){let y=n.sqr(h),S=p(U);return n.eql(y,S)}if(!w(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let v=n.mul(n.pow(s.a,Vr),Rf),B=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(v,B)))throw new Error("bad curve params: a or b");function D(U,h,y=!1){if(!n.isValid(h)||y&&n.is0(h))throw new Error(`bad point coordinate ${U}`);return h}function _(U){if(!(U instanceof L))throw new Error("Weierstrass Point expected")}function F(U){if(!f||!f.basises)throw new Error("no endo");return _f(U,f.basises,o.ORDER)}function C(U,h,y,S,x){return y=new L(n.mul(y.X,U),y.Y,y.Z),h=tr(S,h),y=tr(x,y),h.add(y)}class L{static BASE=new L(s.Gx,s.Gy,n.ONE);static ZERO=new L(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(h,y,S){this.X=D("x",h),this.Y=D("y",y,!0),this.Z=D("z",S),Object.freeze(this)}static CURVE(){return s}static fromAffine(h){let{x:y,y:S}=h||{};if(!h||!n.isValid(y)||!n.isValid(S))throw new Error("invalid affine point");if(h instanceof L)throw new Error("projective point not allowed");return n.is0(y)&&n.is0(S)?L.ZERO:new L(y,S,n.ONE)}static fromBytes(h){let y=L.fromAffine(E(N(h,void 0,"point")));return y.assertValidity(),y}static fromHex(h){return L.fromBytes(Ie(h))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(h=8,y=!0){return H.createCache(this,h),y||this.multiply(Vr),this}assertValidity(){let h=this;if(h.is0()){if(t.allowInfinityPoint&&n.is0(h.X)&&n.eql(h.Y,n.ONE)&&n.is0(h.Z))return;throw new Error("bad point: ZERO")}let{x:y,y:S}=h.toAffine();if(!n.isValid(y)||!n.isValid(S))throw new Error("bad point: x or y not field elements");if(!w(y,S))throw new Error("bad point: equation left != right");if(!h.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:h}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(h)}equals(h){_(h);let{X:y,Y:S,Z:x}=this,{X:g,Y:A,Z:T}=h,I=n.eql(n.mul(y,T),n.mul(g,x)),R=n.eql(n.mul(S,T),n.mul(A,x));return I&&R}negate(){return new L(this.X,n.neg(this.Y),this.Z)}double(){let{a:h,b:y}=s,S=n.mul(y,Vr),{X:x,Y:g,Z:A}=this,T=n.ZERO,I=n.ZERO,R=n.ZERO,O=n.mul(x,x),P=n.mul(g,g),M=n.mul(A,A),k=n.mul(x,g);return k=n.add(k,k),R=n.mul(x,A),R=n.add(R,R),T=n.mul(h,R),I=n.mul(S,M),I=n.add(T,I),T=n.sub(P,I),I=n.add(P,I),I=n.mul(T,I),T=n.mul(k,T),R=n.mul(S,R),M=n.mul(h,M),k=n.sub(O,M),k=n.mul(h,k),k=n.add(k,R),R=n.add(O,O),O=n.add(R,O),O=n.add(O,M),O=n.mul(O,k),I=n.add(I,O),M=n.mul(g,A),M=n.add(M,M),O=n.mul(M,k),T=n.sub(T,O),R=n.mul(M,P),R=n.add(R,R),R=n.add(R,R),new L(T,I,R)}add(h){_(h);let{X:y,Y:S,Z:x}=this,{X:g,Y:A,Z:T}=h,I=n.ZERO,R=n.ZERO,O=n.ZERO,P=s.a,M=n.mul(s.b,Vr),k=n.mul(y,g),J=n.mul(S,A),tt=n.mul(x,T),et=n.add(y,S),$=n.add(g,A);et=n.mul(et,$),$=n.add(k,J),et=n.sub(et,$),$=n.add(y,x);let lt=n.add(g,T);return $=n.mul($,lt),lt=n.add(k,tt),$=n.sub($,lt),lt=n.add(S,x),I=n.add(A,T),lt=n.mul(lt,I),I=n.add(J,tt),lt=n.sub(lt,I),O=n.mul(P,$),I=n.mul(M,tt),O=n.add(I,O),I=n.sub(J,O),O=n.add(J,O),R=n.mul(I,O),J=n.add(k,k),J=n.add(J,k),tt=n.mul(P,tt),$=n.mul(M,$),J=n.add(J,tt),tt=n.sub(k,tt),tt=n.mul(P,tt),$=n.add($,tt),k=n.mul(J,$),R=n.add(R,k),k=n.mul(lt,$),I=n.mul(et,I),I=n.sub(I,k),k=n.mul(et,J),O=n.mul(lt,O),O=n.add(O,k),new L(I,R,O)}subtract(h){return _(h),this.add(h.negate())}is0(){return this.equals(L.ZERO)}multiply(h){let{endo:y}=t;if(!o.isValidNot0(h))throw new RangeError("invalid scalar: out of range");let S,x,g=A=>H.cached(this,A,T=>oe(L,T));if(y){let{k1neg:A,k1:T,k2neg:I,k2:R}=F(h),{p:O,f:P}=g(T),{p:M,f:k}=g(R);x=P.add(k),S=C(y.beta,O,M,A,I)}else{let{p:A,f:T}=g(h);S=A,x=T}return oe(L,[S,x])[0]}multiplyUnsafe(h){let{endo:y}=t,S=this,x=h;if(!o.isValid(x))throw new RangeError("invalid scalar: out of range");if(x===Rt||S.is0())return L.ZERO;if(x===Wt)return S;if(H.hasCache(this))return this.multiply(x);if(y){let{k1neg:g,k1:A,k2neg:T,k2:I}=F(x),{p1:R,p2:O}=ri(L,S,A,I);return C(y.beta,R,O,g,T)}else return H.unsafe(S,x)}toAffine(h){let y=this,S=h,{X:x,Y:g,Z:A}=y;if(n.eql(A,n.ONE))return{x,y:g};let T=y.is0();S==null&&(S=T?n.ONE:n.inv(A));let I=n.mul(x,S),R=n.mul(g,S),O=n.mul(A,S);if(T)return{x:n.ZERO,y:n.ZERO};if(!n.eql(O,n.ONE))throw new Error("invZ was invalid");return{x:I,y:R}}isTorsionFree(){let{isTorsionFree:h}=t;return i===Wt?!0:h?h(L,this):H.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:h}=t;return i===Wt?this:h?h(L,this):this.multiplyUnsafe(i)}isSmallOrder(){return i===Wt?this.is0():this.clearCofactor().is0()}toBytes(h=!0){return wt(h,"isCompressed"),this.assertValidity(),b(L,this,h)}toHex(h=!0){return Be(this.toBytes(h))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let K=o.BITS,H=new De(L,t.endo?Math.ceil(K/2):K);return K>=8&&L.BASE.precompute(8),Object.freeze(L.prototype),Object.freeze(L),L}function Mi(e){return Uint8Array.of(e?2:3)}function qi(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Df(e,t={}){let{Fn:r}=e,n=t.randomBytes===void 0?Ge:t.randomBytes,o=Object.assign(qi(e.Fp,r),{seed:Math.max(Vn(r.ORDER),16)});function s(d){try{let b=r.fromBytes(d);return r.isValidNot0(b)}catch{return!1}}function i(d,b){let{publicKey:E,publicKeyUncompressed:p}=o;try{let w=d.length;return b===!0&&w!==E||b===!1&&w!==p?!1:!!e.fromBytes(d)}catch{return!1}}function a(d){return d=d===void 0?n(o.seed):d,jn(N(d,o.seed,"seed"),r.ORDER)}function f(d,b=!0){return e.BASE.multiply(r.fromBytes(d)).toBytes(b)}function c(d){let{secretKey:b,publicKey:E,publicKeyUncompressed:p}=o,w=r._lengths;if(!te(d))return;let v=N(d,void 0,"key").length,B=v===E||v===p,D=v===b||!!w?.includes(v);if(!(B&&D))return B}function u(d,b,E=!0){if(c(d)===!0)throw new Error("first arg must be private key");if(c(b)===!1)throw new Error("second arg must be public key");let p=r.fromBytes(d);return e.fromBytes(b).multiply(p).toBytes(E)}let l={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a},m=Cr(a,f);return Object.freeze(l),Object.freeze(o),Object.freeze({getPublicKey:f,getSharedSecret:u,keygen:m,Point:e,utils:l,lengths:o})}function Hi(e,t,r={}){let n=t;xr(n),St(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let o=r.randomBytes===void 0?Ge:r.randomBytes,s=r.hmac===void 0?(x,g)=>Ui(n,x,g):r.hmac,{Fp:i,Fn:a}=e,{ORDER:f,BITS:c}=a,{keygen:u,getPublicKey:l,getSharedSecret:m,utils:d,lengths:b}=Df(e,r),E={prehash:!0,lowS:typeof r.lowS=="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},p=f*Pi+Wt<i.ORDER;function w(x){let g=f>>Wt;return x>g}function v(x,g){if(!a.isValidNot0(g))throw new Error(`invalid signature ${x}: out of range 1..Point.Fn.ORDER`);return g}function B(){if(p)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function D(x,g){Ro(g);let A=b.signature,T=g==="compact"?A:g==="recovered"?A+1:void 0;return N(x,T)}class _{r;s;recovery;constructor(g,A,T){if(this.r=v("r",g),this.s=v("s",A),T!=null){if(B(),![0,1,2,3].includes(T))throw new Error("invalid recovery id");this.recovery=T}Object.freeze(this)}static fromBytes(g,A=E.format){D(g,A);let T;if(A==="der"){let{r:P,s:M}=At.toSig(N(g));return new _(P,M)}A==="recovered"&&(T=g[0],A="compact",g=g.subarray(1));let I=b.signature/2,R=g.subarray(0,I),O=g.subarray(I,I*2);return new _(a.fromBytes(R),a.fromBytes(O),T)}static fromHex(g,A){return this.fromBytes(Ie(g),A)}assertRecovery(){let{recovery:g}=this;if(g==null)throw new Error("invalid recovery id: must be present");return g}addRecoveryBit(g){return new _(this.r,this.s,g)}recoverPublicKey(g){let{r:A,s:T}=this,I=this.assertRecovery(),R=I===2||I===3?A+f:A;if(!i.isValid(R))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let O=i.toBytes(R),P=e.fromBytes(Q(Mi((I&1)===0),O)),M=a.inv(R),k=C(N(g,void 0,"msgHash")),J=a.create(-k*M),tt=a.create(T*M),et=e.BASE.multiplyUnsafe(J).add(P.multiplyUnsafe(tt));if(et.is0())throw new Error("invalid recovery: point at infinify");return et.assertValidity(),et}hasHighS(){return w(this.s)}toBytes(g=E.format){if(Ro(g),g==="der")return Ie(At.hexFromSig(this));let{r:A,s:T}=this,I=a.toBytes(A),R=a.toBytes(T);return g==="recovered"?(B(),Q(Uint8Array.of(this.assertRecovery()),I,R)):Q(I,R)}toHex(g){return Be(this.toBytes(g))}}Object.freeze(_.prototype),Object.freeze(_);let F=r.bits2int===void 0?function(g){if(g.length>8192)throw new Error("input is too large");let A=ee(g),T=g.length*8-c;return T>0?A>>BigInt(T):A}:r.bits2int,C=r.bits2int_modN===void 0?function(g){return a.create(F(g))}:r.bits2int_modN,L=Je(c);function K(x){return Le("num < 2^"+c,x,Rt,L),a.toBytes(x)}function H(x,g){return N(x,void 0,"message"),g?N(n(x),void 0,"prehashed message"):x}function U(x,g,A){let{lowS:T,prehash:I,extraEntropy:R}=_o(A,E);x=H(x,I);let O=C(x),P=a.fromBytes(g);if(!a.isValidNot0(P))throw new Error("invalid private key");let M=[K(P),K(O)];if(R!=null&&R!==!1){let et=R===!0?o(b.secretKey):R;M.push(N(et,void 0,"extraEntropy"))}let k=Q(...M),J=O;function tt(et){let $=F(et);if(!a.isValidNot0($))return;let lt=a.inv($),he=e.BASE.multiply($).toAffine(),Ue=a.create(he.x);if(Ue===Rt)return;let lr=a.create(lt*a.create(J+Ue*P));if(lr===Rt)return;let jo=(he.x===Ue?0:2)|Number(he.y&Wt),zo=lr;return T&&w(lr)&&(zo=a.neg(lr),jo^=1),new _(Ue,zo,p?void 0:jo)}return{seed:k,k2sig:tt}}function h(x,g,A={}){let{seed:T,k2sig:I}=U(x,g,A);return Ns(n.outputLen,a.BYTES,s)(T,I).toBytes(A.format)}function y(x,g,A,T={}){let{lowS:I,prehash:R,format:O}=_o(T,E);if(A=N(A,void 0,"publicKey"),g=H(g,R),!te(x)){let P=x instanceof _?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+P)}D(x,O);try{let P=_.fromBytes(x,O),M=e.fromBytes(A);if(I&&P.hasHighS())return!1;let{r:k,s:J}=P,tt=C(g),et=a.inv(J),$=a.create(tt*et),lt=a.create(k*et),he=e.BASE.multiplyUnsafe($).add(M.multiplyUnsafe(lt));return he.is0()?!1:a.create(he.x)===k}catch{return!1}}function S(x,g,A={}){let{prehash:T}=_o(A,E);return g=H(g,T),_.fromBytes(x,"recovered").recoverPublicKey(g).toBytes()}return Object.freeze({keygen:u,getPublicKey:l,getSharedSecret:m,utils:d,lengths:b,Point:e,sign:h,verify:y,recoverPublicKey:S,Signature:_,hash:n})}var Oo={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Cf={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Vi=BigInt(2);function Of(e){let t=Oo.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),f=BigInt(88),c=e*e*e%t,u=c*c*e%t,l=V(u,r,t)*u%t,m=V(l,r,t)*u%t,d=V(m,Vi,t)*c%t,b=V(d,o,t)*d%t,E=V(b,s,t)*b%t,p=V(E,a,t)*E%t,w=V(p,f,t)*p%t,v=V(w,a,t)*E%t,B=V(v,r,t)*u%t,D=V(B,i,t)*b%t,_=V(D,n,t)*c%t,F=V(_,Vi,t);if(!Co.eql(Co.sqr(F),e))throw new Error("Cannot find square root");return F}var Co=_e(Oo.p,{sqrt:Of}),Ff=Ni(Oo,{Fp:Co,endo:Cf}),Ke=Hi(Ff,Ae);var ji=33;function zi(e,t,r,n){let o=yr.digest(r instanceof Uint8Array?r:r.subarray());if(Kr(o))return o.then(({digest:s})=>(n?.signal?.throwIfAborted(),Ke.verify(t,s,e,{prehash:!1,format:"der"}))).catch(s=>{throw s.name==="AbortError"?s:new rr(String(s))});try{return n?.signal?.throwIfAborted(),Ke.verify(t,o.digest,e,{prehash:!1,format:"der"})}catch(s){throw new rr(String(s))}}var jr=class{type="secp256k1";raw;_key;constructor(t){this._key=Yi(t),this.raw=Zi(this._key)}toMultihash(){return It.digest(Se(this))}toCID(){return it.createV1(114,this.toMultihash())}toString(){return G.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:at(this.raw,t.raw)}verify(t,r,n){return zi(this._key,r,t,n)}};function $i(e){return new jr(e)}function Zi(e){return Ke.Point.fromBytes(e).toBytes()}function Yi(e){try{return Ke.Point.fromBytes(e),e}catch(t){throw new de(String(t))}}function Gi(e){if(e.byteLength===Oe)return mi(e);if(e.byteLength===ji)return $i(e);let t=Lt(e),r=t[1]?.[0];if(r===cs||r===fs||r===us)return Es(t);if(t[0]?.[0]===Ki)return qr(t,e);throw new j("Could not extract public key from raw bytes")}function Se(e){return Xt.encode({Type:ut[e.type],Data:e.raw})}var Xi=Symbol.for("nodejs.util.inspect.custom"),Kf=114,fr=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Wr]=!0;toString(){return this.string==null&&(this.string=G.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return it.createV1(Kf,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return at(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return at(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[Xi](){return`PeerId(${this.toString()})`}},zr=class extends fr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Zr=class extends fr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Yr=class extends fr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Uf=2336,Fo=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=It.digest(X(this.url))}[Xi](){return`PeerId(${this.url})`}[Wr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return it.createV1(Uf,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=Z(t)),t.toString()===this.toString())}};function Wi(e){if(e.type==="Ed25519")return new Zr({multihash:e.toCID().multihash,publicKey:e});if(e.type==="secp256k1")return new Yr({multihash:e.toCID().multihash,publicKey:e});if(e.type==="RSA")return new zr({multihash:e.toCID().multihash,publicKey:e});throw new Pe}var Ko=class e extends Error{name="TimeoutError";constructor(t,r){super(t,r),Error.captureStackTrace?.(this,e)}},Ji=e=>e.reason??new DOMException("This operation was aborted.","AbortError");function Uo(e,t){let{milliseconds:r,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=t,a,f,u=new Promise((l,m)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(i?.aborted){m(Ji(i));return}if(i&&(f=()=>{m(Ji(i))},i.addEventListener("abort",f,{once:!0})),e.then(l,m),r===Number.POSITIVE_INFINITY)return;let d=new Ko;a=s.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(b){m(b)}return}typeof e.cancel=="function"&&e.cancel(),o===!1?l():o instanceof Error?m(o):(d.message=o??`Promise timed out after ${r} milliseconds`,m(d))},r)}).finally(()=>{u.clear(),f&&i&&i.removeEventListener("abort",f)});return u.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},u}var kf=e=>{let t=e.addEventListener||e.on||e.addListener,r=e.removeEventListener||e.off||e.removeListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}};function Pf(e,t,r){let n,o=new Promise((s,i)=>{if(r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[t].flat(),f=[],{addListener:c,removeListener:u}=kf(e),l=async(...d)=>{let b=r.multiArgs?d:d[0];if(r.filter)try{if(!await r.filter(b))return}catch(E){n(),i(E);return}f.push(b),r.count===f.length&&(n(),s(f))},m=(...d)=>{n(),i(r.rejectionMultiArgs?d:d[0])};n=()=>{for(let d of a)u(d,l);for(let d of r.rejectionEvents)a.includes(d)||u(d,m)};for(let d of a)c(d,l);for(let d of r.rejectionEvents)a.includes(d)||c(d,m);r.signal&&r.signal.addEventListener("abort",()=>{m(r.signal.reason)},{once:!0}),r.resolveImmediately&&s(f)});if(o.cancel=n,typeof r.timeout=="number"){let s=Uo(o,{milliseconds:r.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function Qi(e,t,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Pf(e,t,r),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}var le=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function Nf(e){return e.reason}async function ko(e,t,r){if(t==null)return e;let n=r?.translateError??Nf;if(t.aborted)return e.catch(()=>{}),Promise.reject(n(t));let o;try{return await Promise.race([e,new Promise((s,i)=>{o=()=>{i(n(t))},t.addEventListener("abort",o)})])}finally{o!=null&&t.removeEventListener("abort",o)}}var qf=4194304,$r=class extends Error{static name="UnwrappedError";name="UnwrappedError"},No=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Mo=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},qo=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Hf(e){return typeof e?.closeRead=="function"}function Vf(e){return typeof e?.close=="function"}function Po(e){return Hf(e)?e.remoteWriteStatus!=="writable"&&e.readBufferLength===0:Vf(e)?e.status!=="open":!1}function jf(e){return e?.addEventListener!=null&&e?.removeEventListener!=null&&e?.send!=null&&e?.push!=null&&e?.log!=null}function zf(e,t){let r=t?.maxBufferSize??qf,n=new rt,o,s=!1;if(!jf(e))throw new j("Argument should be a Stream or a Multiaddr");let i=u=>{if(n.append(u.data),n.byteLength>r){let l=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${l} > ${r}`))}o?.resolve()};e.addEventListener("message",i);let a=u=>{u.error!=null?o?.reject(u.error):o?.resolve()};e.addEventListener("close",a);let f=()=>{o?.resolve()};e.addEventListener("remoteCloseWrite",f);let c={readBuffer:n,async read(u){if(s===!0)throw new $r("Stream was unwrapped");if(Po(e)){if(n.byteLength===0&&u?.bytes==null)return null;if(u?.bytes!=null&&n.byteLength<u.bytes)throw e.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new le(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let l=u?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=l){o.resolve();break}if(await ko(o.promise,u?.signal),Po(e)){if(n.byteLength===0&&u?.bytes==null)return null;break}o=Promise.withResolvers()}let m=u?.bytes??n.byteLength;if(n.byteLength<m){if(Po(e))throw e.log.error("closed while reading %d/%d bytes",n.byteLength,m),new le(`Unexpected EOF - stream closed while reading ${n.byteLength}/${m} bytes`);return c.read(u)}let d=n.sublist(0,m);return n.consume(m),d},async write(u,l){if(s===!0)throw new $r("Stream was unwrapped");e.send(u)||await Qi(e,"drain",{signal:l?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,e.removeEventListener("message",i),e.removeEventListener("close",a),e.removeEventListener("remoteCloseWrite",f),n.byteLength>0&&(e.log("stream unwrapped with %d unread bytes",n.byteLength),e.unshift(n))),e}};return c}function Zf(e,t={}){let r=zf(e,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=kt(t.maxDataLength));let n=t?.lengthDecoder??bi,o=t?.lengthEncoder??yi;return{async read(i){let a=-1,f=new rt;for(;;){let u=await r.read({...i,bytes:1});if(u==null)break;f.append(u);try{a=n(f)}catch(l){if(l instanceof RangeError)continue;throw l}if(a<0)throw new No("Invalid message length");if(t?.maxLengthLength!=null&&f.byteLength>t.maxLengthLength)throw new qo(`Message length length too long - ${f.byteLength} > ${t.maxLengthLength}`);if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new Mo(`Message length too long - ${a} > ${t.maxDataLength}`);let c=await r.read({...i,bytes:a});if(c==null)throw e.log.error("tried to read %d bytes but the stream closed",a),new le(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(c.byteLength!==a)throw e.log.error("read %d/%d bytes before the stream closed",c.byteLength,a),new le(`Unexpected EOF - read ${c.byteLength}/${a} bytes before the stream closed`);return c},async write(i,a){await r.write(new rt(o(i.byteLength),i),a)},async writeV(i,a){let f=new rt(...i.flatMap(c=>[o(c.byteLength),c]));await r.write(f,a)},unwrap(){return r.unwrap()}}}function ta(e,t){let r=Zf(e,t),n={read:async(o,s)=>{let i=await r.read(s);return o.decode(i)},write:async(o,s,i)=>{await r.write(s.encode(o),i)},writeV:async(o,s,i)=>{await r.writeV(o.map(a=>s.encode(a)),i)},pb:o=>({read:async s=>n.read(o,s),write:async(s,i)=>n.write(s,o,i),writeV:async(s,i)=>n.writeV(s,o,i),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var Gr;(function(e){let t;e.codec=()=>(t==null&&(t=ue((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.id!=null&&(i.uint32(10),i.bytes(s.id)),s.pubkey!=null&&(i.uint32(18),ur.codec().encode(s.pubkey,i)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let f={},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{f.id=s.bytes();break}case 2:{f.pubkey=ur.codec().decode(s,s.uint32(),{limits:a.limits?.pubkey});break}default:{s.skipType(u&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.id`,value:s.bytes()};break}case 2:{yield*ur.codec().stream(s,s.uint32(),`${a}.pubkey`,{limits:f.limits?.pubkey});break}default:{s.skipType(u&7);break}}}})),t);function r(s){return ce(s,e.codec())}e.encode=r;function n(s,i){return ie(s,e.codec(),i)}e.decode=n;function o(s,i){return fe(s,e.codec(),i)}e.stream=o})(Gr||(Gr={}));var Pt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})(Pt||(Pt={}));var Ho;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(Ho||(Ho={}));(function(e){e.codec=()=>ir(Ho)})(Pt||(Pt={}));var ur;(function(e){let t;e.codec=()=>(t==null&&(t=ue((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),Pt.codec().encode(s.Type,i)),s.Data!=null&&s.Data.byteLength>0&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let f={Data:gt(0)},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{f.Type=Pt.codec().decode(s);break}case 2:{f.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:Pt.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),t);function r(s){return ce(s,e.codec())}e.encode=r;function n(s,i){return ie(s,e.codec(),i)}e.decode=n;function o(s,i){return fe(s,e.codec(),i)}e.stream=o})(ur||(ur={}));var Yf="/plaintext/2.0.0",Vo=class{protocol=Yf;privateKey;log;constructor(t){this.privateKey=t.privateKey,this.log=t.logger.forComponent("libp2p:plaintext")}[Symbol.toStringTag]="@libp2p/plaintext";[Zo]=["@libp2p/connection-encryption"];async secureInbound(t,r){return this._encrypt(t,r)}async secureOutbound(t,r){return this._encrypt(t,r)}async _encrypt(t,r){let n=t.log?.newScope("plaintext")??this.log,o=ta(t).pb(Gr);n("write pubkey exchange to peer %p",r?.remotePeer);let s=this.privateKey.publicKey;await o.write({id:s.toMultihash().bytes,pubkey:{Type:Pt[s.type],Data:s.raw}},r);let i=await o.read(r),a;try{if(i.pubkey==null)throw new pe("Public key missing");if(i.pubkey.Data.byteLength===0)throw new pe("Public key data too short");if(i.id==null)throw new pe("Remote id missing");let f=Gi(i.pubkey.Data);if(a=Wi(f),!at(a.toMultihash().bytes,i.id))throw new ke("Public key did not match id")}catch(f){throw n.error("invalid public key - %e",f),new ke(`Invalid public key - ${f.message}`)}if(r?.remotePeer!=null&&!a.equals(r?.remotePeer))throw new hr;return n("plaintext key exchange completed successfully with peer %p",a),{connection:o.unwrap().unwrap(),remotePeer:a}}};function $f(){return e=>new Vo(e)}return sa(Gf);})();
|
|
2
|
+
"use strict";var Libp2PPlaintext=(()=>{var gn=Object.defineProperty;var vc=Object.getOwnPropertyDescriptor;var Ac=Object.getOwnPropertyNames;var Bc=Object.prototype.hasOwnProperty;var H=(t,e)=>{for(var r in e)gn(t,r,{get:e[r],enumerable:!0})},Ic=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ac(e))!Bc.call(t,o)&&o!==r&&gn(t,o,{get:()=>e[o],enumerable:!(n=vc(e,o))||n.enumerable});return t};var Lc=t=>Ic(gn({},"__esModule",{value:!0}),t);var Fh={};H(Fh,{plaintext:()=>Ch});var Fr=class extends Error{static name="UnexpectedPeerError";constructor(e="Unexpected Peer"){super(e),this.name="UnexpectedPeerError"}},Xt=class extends Error{static name="InvalidCryptoExchangeError";constructor(e="Invalid crypto exchange"){super(e),this.name="InvalidCryptoExchangeError"}},j=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}},wt=class extends Error{static name="InvalidPublicKeyError";constructor(e="Invalid public key"){super(e),this.name="InvalidPublicKeyError"}};var Et=class extends Error{static name="ProtocolError";constructor(e="Protocol error"){super(e),this.name="ProtocolError"}};var Wt=class extends Error{static name="UnsupportedKeyTypeError";constructor(e="Unsupported key type"){super(e),this.name="UnsupportedKeyTypeError"}};var wn=Symbol.for("@libp2p/peer-id");var Ns=Symbol.for("@libp2p/service-capabilities");var Bn={};H(Bn,{base58btc:()=>W,base58flickr:()=>Oc});var cd=new Uint8Array(0);function ks(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function Fe(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return ot(t);if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return ot(new Uint8Array(t.buffer,t.byteOffset,t.byteLength));throw new Error("Unknown type, must be binary type")}function Ks(t){return new TextEncoder().encode(t)}function Ps(t){return new TextDecoder().decode(t)}function Tc(t){return t?.buffer instanceof ArrayBuffer}function ot(t){return Tc(t)?t:t.slice()}function Dc(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,f=t.charAt(0),c=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var w=0,m=0,b=0,S=p.length;b!==S&&p[b]===0;)b++,w++;for(var v=(S-b)*u+1>>>0,T=new Uint8Array(v);b!==S;){for(var L=p[b],F=0,R=v-1;(L!==0||F<m)&&R!==-1;R--,F++)L+=256*T[R]>>>0,T[R]=L%a>>>0,L=L/a>>>0;if(L!==0)throw new Error("Non-zero carry");m=F,b++}for(var I=v-m;I!==v&&T[I]===0;)I++;for(var O=f.repeat(w);I<v;++I)O+=t.charAt(T[I]);return O}function y(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var w=0;if(p[w]!==" "){for(var m=0,b=0;p[w]===f;)m++,w++;for(var S=(p.length-w)*c+1>>>0,v=new Uint8Array(S);p[w];){var T=r[p.charCodeAt(w)];if(T===255)return;for(var L=0,F=S-1;(T!==0||L<b)&&F!==-1;F--,L++)T+=a*v[F]>>>0,v[F]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");b=L,w++}if(p[w]!==" "){for(var R=S-b;R!==S&&v[R]===0;)R++;for(var I=new Uint8Array(m+(S-R)),O=m;R!==S;)I[O++]=v[R++];return I}}}function h(p){var w=y(p);if(w)return w;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:y,decode:h}}var _c=Dc,Rc=_c,qs=Rc;var En=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Sn=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Vs(this,e)}},vn=class{decoders;constructor(e){this.decoders=e}or(e){return Vs(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Vs(t,e){return new vn({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var An=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new En(e,r,n),this.decoder=new Sn(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function St({name:t,prefix:e,encode:r,decode:n}){return new An(t,e,r,n)}function Ve({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=qs(r,t);return St({prefix:e,name:t,encode:n,decode:s=>Fe(o(s))})}function Cc(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,a=0,f=0;for(let c=0;c<o;++c){let u=e[t[c]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|u,i+=r,i>=8&&(i-=8,s[f++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function Fc(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let f=0;f<t.length;++f)for(a=a<<8|t[f],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function Uc(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function $({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=Uc(n);return St({prefix:e,name:t,encode(s){return Fc(s,n,r)},decode(s){return Cc(s,o,r,t)}})}var W=Ve({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Oc=Ve({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var In={};H(In,{base32:()=>vt,base32hex:()=>Pc,base32hexpad:()=>qc,base32hexpadupper:()=>Vc,base32hexupper:()=>Mc,base32pad:()=>kc,base32padupper:()=>Kc,base32upper:()=>Nc,base32z:()=>Hc});var vt=$({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Nc=$({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),kc=$({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Kc=$({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Pc=$({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Mc=$({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),qc=$({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Vc=$({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Hc=$({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ln={};H(Ln,{base36:()=>Jt,base36upper:()=>zc});var Jt=Ve({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),zc=Ve({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var jc=js,Hs=128,$c=127,Zc=~$c,Yc=Math.pow(2,31);function js(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Yc;)e[r++]=t&255|Hs,t/=128;for(;t&Zc;)e[r++]=t&255|Hs,t>>>=7;return e[r]=t|0,js.bytes=r-n+1,e}var Gc=Tn,Xc=128,zs=127;function Tn(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw Tn.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&zs)<<o:(i&zs)*Math.pow(2,o),o+=7}while(i>=Xc);return Tn.bytes=s-n,r}var Wc=Math.pow(2,7),Jc=Math.pow(2,14),Qc=Math.pow(2,21),ef=Math.pow(2,28),tf=Math.pow(2,35),rf=Math.pow(2,42),nf=Math.pow(2,49),of=Math.pow(2,56),sf=Math.pow(2,63),af=function(t){return t<Wc?1:t<Jc?2:t<Qc?3:t<ef?4:t<tf?5:t<rf?6:t<nf?7:t<of?8:t<sf?9:10},cf={encode:jc,decode:Gc,encodingLength:af},ff=cf,Qt=ff;function er(t,e=0){return[Qt.decode(t,e),Qt.decode.bytes]}function At(t,e,r=0){return Qt.encode(t,e,r),e}function Bt(t){return Qt.encodingLength(t)}function Be(t,e){let r=e.byteLength,n=Bt(t),o=n+Bt(r),s=new Uint8Array(o+r);return At(t,s,0),At(r,s,n),s.set(e,o),new It(t,r,e,s)}function Dn(t){let e=Fe(t),[r,n]=er(e),[o,s]=er(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new It(r,o,i,e)}function $s(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&ks(t.bytes,r.bytes)}}var It=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=ot(n),this.bytes=ot(o)}};function Zs(t,e){let{bytes:r,version:n}=t;return n===0?lf(r,_n(t),e??W.encoder):hf(r,_n(t),e??vt.encoder)}var Ys=new WeakMap;function _n(t){let e=Ys.get(t);if(e==null){let r=new Map;return Ys.set(t,r),r}return e}var ce=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=ot(o),this["/"]=this.bytes}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==tr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==df)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Be(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&$s(e.multihash,n.multihash)}toString(e){return Zs(this,e)}toJSON(){return{"/":Zs(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new t(n,o,s,i??Gs(n,o,s.bytes))}else if(r[pf]===!0){let{version:n,multihash:o,code:s}=r,i=Dn(o);return t.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==tr)throw new Error(`Version 0 CID must use dag-pb (code: ${tr}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Gs(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,tr,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=Fe(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new It(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,y]=er(e.subarray(r));return r+=y,l},o=n(),s=tr;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),f=n(),c=r+f,u=c-i;return{version:o,codec:s,multihashCode:a,digestSize:f,multihashSize:u,size:c}}static parse(e,r){let[n,o]=uf(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return _n(s).set(n,e),s}};function uf(t,e){switch(t[0]){case"Q":{let r=e??W;return[W.prefix,r.decode(`${W.prefix}${t}`)]}case W.prefix:{let r=e??W;return[W.prefix,r.decode(t)]}case vt.prefix:{let r=e??vt;return[vt.prefix,r.decode(t)]}case Jt.prefix:{let r=e??Jt;return[Jt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function lf(t,e,r){let{prefix:n}=r;if(n!==W.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o}function hf(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o}var tr=112,df=18;function Gs(t,e,r){let n=Bt(t),o=n+Bt(e),s=new Uint8Array(o+r.byteLength);return At(t,s,0),At(e,s,n),s.set(r,o),s}var pf=Symbol.for("@ipld/js-cid/CID");var Rn={};H(Rn,{identity:()=>Ie});var Xs=0,mf="identity",Ws=Fe;function yf(t,e){if(e?.truncate!=null&&e.truncate!==t.byteLength){if(e.truncate<0||e.truncate>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,e.truncate)}return Be(Xs,Ws(t))}var Ie={code:Xs,name:mf,encode:Ws,digest:yf};function pe(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function bf(t){return t.buffer instanceof ArrayBuffer}function Le(t){return bf(t)?t:t.slice()}var Js="1.2.840.10045.3.1.7",Qs="1.3.132.0.34",ei="1.3.132.0.35";async function ti(t,e,r,n){let o=await crypto.subtle.importKey("jwk",t,{name:"ECDSA",namedCurve:t.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let s=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,Le(e),Le(r.subarray()));return n?.signal?.throwIfAborted(),s}function Ue(t=0){return new Uint8Array(t)}function rr(t=0){return new Uint8Array(t)}function Cn(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=rr(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}function ri(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var oi=Symbol.for("@achingbrain/uint8arraylist");function ni(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let o=r+n.byteLength;if(e<o)return{buf:n,index:e-r};r=o}throw new RangeError("index is out of bounds")}function Or(t){return!!t?.[oi]}var oe=class t{bufs;length;[oi]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Or(n)){r+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Or(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=ni(this.bufs,e);return r.buf[r.index]}set(e,r){let n=ni(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Or(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:o}=this._subList(e,r);return Cn(n,o)}subarray(e,r){let{bufs:n,length:o}=this._subList(e,r);return n.length===1?n[0]:Cn(n,o)}sublist(e,r){let{bufs:n,length:o}=this._subList(e,r),s=new t;return s.length=o,s.bufs=n,s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,f=a+i.byteLength;if(o=f,e>=f)continue;let c=e>=a&&e<f,u=r>a&&r<=f;if(c&&u){if(e===a&&r===f){n.push(i);break}let l=e-a;n.push(i.subarray(l,l+(r-e)));break}if(c){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(u){if(r===f){n.push(i);break}n.push(i.subarray(0,r-a));break}n.push(i)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Or(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let l=0;l<s;l++)i[l]=-1;for(let l=0;l<o;l++)i[n[l]]=l;let a=i,f=this.byteLength-n.byteLength,c=n.byteLength-1,u;for(let l=r;l<=f;l+=u){u=0;for(let y=c;y>=0;y--){let h=this.get(l+y);if(n[y]!==h){u=Math.max(1,y-a[h]);break}}if(u===0)return l}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=rr(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let o=Ue(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let o=Ue(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let o=Ue(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=rr(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let o=Ue(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let o=Ue(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let o=Ue(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let o=Ue(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let o=Ue(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!ri(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((o,s)=>o+s.byteLength,0)),n.length=r,n}};var Fn={};H(Fn,{base10:()=>xf});var xf=Ve({prefix:"9",name:"base10",alphabet:"0123456789"});var Un={};H(Un,{base16:()=>gf,base16upper:()=>wf});var gf=$({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),wf=$({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var On={};H(On,{base2:()=>Ef});var Ef=$({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Nn={};H(Nn,{base256emoji:()=>If});var si=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Sf=si.reduce((t,e,r)=>(t[r]=e,t),[]),vf=si.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function Af(t){return t.reduce((e,r)=>(e+=Sf[r],e),"")}function Bf(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=vf[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var If=St({prefix:"\u{1F680}",name:"base256emoji",encode:Af,decode:Bf});var kn={};H(kn,{base64:()=>Lf,base64pad:()=>Tf,base64url:()=>Df,base64urlpad:()=>_f});var Lf=$({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Tf=$({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Df=$({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),_f=$({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Kn={};H(Kn,{base8:()=>Rf});var Rf=$({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Pn={};H(Pn,{identity:()=>Cf});var Cf=St({prefix:"\0",name:"identity",encode:t=>Ps(t),decode:t=>Ks(t)});var Gd=new TextEncoder,Xd=new TextDecoder;var Vn={};H(Vn,{sha256:()=>Nr,sha512:()=>Nf});var Of=20;function qn({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Mn(t,e,r,n,o)}var Mn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,s){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??Of,this.maxDigestLength=s}digest(e,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?ii(n,this.code,r?.truncate):n.then(o=>ii(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function ii(t,e,r){if(r!=null&&r!==t.byteLength){if(r>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,r)}return Be(e,t)}function ci(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Nr=qn({name:"sha2-256",code:18,encode:ci("SHA-256")}),Nf=qn({name:"sha2-512",code:19,encode:ci("SHA-512")});var Hn={...Pn,...On,...Kn,...Fn,...Un,...In,...Ln,...Bn,...kn,...Nn},cp={...Vn,...Rn};function fi(t=0){return new Uint8Array(t)}function zn(t=0){return new Uint8Array(t)}function li(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var ui=li("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),jn=li("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=zn(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),kf={utf8:ui,"utf-8":ui,hex:Hn.base16,latin1:jn,ascii:jn,binary:jn,...Hn},kr=kf;function ee(t,e="utf8"){let r=kr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function Z(t,e="utf8"){let r=kr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}var Kf=parseInt("11111",2),$n=parseInt("10000000",2),Pf=parseInt("01111111",2),hi={0:nr,1:nr,2:Mf,3:Hf,4:zf,5:Vf,6:qf,16:nr,22:nr,48:nr};function Te(t,e={offset:0}){let r=t[e.offset]&Kf;if(e.offset++,hi[r]!=null)return hi[r](t,e);throw new Error("No decoder for tag "+r)}function or(t,e){let r=0;if((t[e.offset]&$n)===$n){let n=t[e.offset]&Pf,o="0x";e.offset++;for(let s=0;s<n;s++,e.offset++)o+=t[e.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=t[e.offset],e.offset++;return r}function nr(t,e){or(t,e);let r=[];for(;!(e.offset>=t.byteLength);){let n=Te(t,e);if(n===null)break;r.push(n)}return r}function Mf(t,e){let r=or(t,e),n=e.offset,o=e.offset+r,s=[];for(let i=n;i<o;i++)i===n&&t[i]===0||s.push(t[i]);return e.offset+=r,Uint8Array.from(s)}function qf(t,e){let r=or(t,e),n=e.offset+r,o=t[e.offset];e.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let a=`${s}.${i}`,f=[];for(;e.offset<n;){let c=t[e.offset];if(e.offset++,f.push(c&127),c<128){f.reverse();let u=0;for(let l=0;l<f.length;l++)u+=f[l]<<l*7;a+=`.${u}`,f=[]}}return a}function Vf(t,e){return e.offset++,null}function Hf(t,e){let r=or(t,e),n=t[e.offset];e.offset++;let o=t.subarray(e.offset,e.offset+r-1);if(e.offset+=r,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function zf(t,e){let r=or(t,e),n=t.subarray(e.offset,e.offset+r);return e.offset+=r,n}function jf(t){let e=t.toString(16);e.length%2===1&&(e="0"+e);let r=new oe;for(let n=0;n<e.length;n+=2)r.append(Uint8Array.from([parseInt(`${e[n]}${e[n+1]}`,16)]));return r}function Zn(t){if(t.byteLength<128)return Uint8Array.from([t.byteLength]);let e=jf(t.byteLength);return new oe(Uint8Array.from([e.byteLength|$n]),e)}function me(t){let e=new oe,r=128;return(t.subarray()[0]&r)===r&&e.append(Uint8Array.from([0])),e.append(t),new oe(Uint8Array.from([2]),Zn(e),e)}function Kr(t){let e=Uint8Array.from([0]),r=new oe(e,t);return new oe(Uint8Array.from([3]),Zn(r),r)}function He(t,e=48){let r=new oe;for(let n of t)r.append(n);return new oe(Uint8Array.from([e]),Zn(r),r)}var $f=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),Zf=Uint8Array.from([6,5,43,129,4,0,34]),Yf=Uint8Array.from([6,5,43,129,4,0,35]),Gf={ext:!0,kty:"EC",crv:"P-256"},Xf={ext:!0,kty:"EC",crv:"P-384"},Wf={ext:!0,kty:"EC",crv:"P-521"},Yn=32,Gn=48,Xn=66;function di(t){let e=t[1][1][0],r=1,n,o;if(e.byteLength===Yn*2+1)return n=Z(e.subarray(r,r+Yn),"base64url"),o=Z(e.subarray(r+Yn),"base64url"),new Tt({...Gf,key_ops:["verify"],x:n,y:o});if(e.byteLength===Gn*2+1)return n=Z(e.subarray(r,r+Gn),"base64url"),o=Z(e.subarray(r+Gn),"base64url"),new Tt({...Xf,key_ops:["verify"],x:n,y:o});if(e.byteLength===Xn*2+1)return n=Z(e.subarray(r,r+Xn),"base64url"),o=Z(e.subarray(r+Xn),"base64url"),new Tt({...Wf,key_ops:["verify"],x:n,y:o});throw new j(`coordinates were wrong length, got ${e.byteLength}, expected 65, 97 or 133`)}function pi(t){return He([me(Uint8Array.from([1])),He([Jf(t.crv)],160),He([Kr(new oe(Uint8Array.from([4]),ee(t.x??"","base64url"),ee(t.y??"","base64url")))],161)]).subarray()}function Jf(t){if(t==="P-256")return $f;if(t==="P-384")return Zf;if(t==="P-521")return Yf;throw new j(`Invalid curve ${t}`)}var Tt=class{type="ECDSA";jwk;_raw;constructor(e){this.jwk=e}get raw(){return this._raw==null&&(this._raw=pi(this.jwk)),this._raw}toMultihash(){return Ie.digest(Dt(this))}toCID(){return ce.createV1(114,this.toMultihash())}toString(){return W.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:pe(this.raw,e.raw)}async verify(e,r,n){return ti(this.jwk,r,e,n)}};function Wn(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in t&&t.BYTES_PER_ELEMENT===1}function ze(t,e=""){if(typeof t!="number"){let r=e&&`"${e}" `;throw new TypeError(`${r}expected number, got ${typeof t}`)}if(!Number.isSafeInteger(t)||t<0){let r=e&&`"${e}" `;throw new RangeError(`${r}expected integer >= 0, got ${t}`)}}function ye(t,e,r=""){let n=Wn(t),o=t?.length,s=e!==void 0;if(!n||s&&o!==e){let i=r&&`"${r}" `,a=s?` of length ${e}`:"",f=n?`length=${o}`:`type=${typeof t}`,c=i+"expected Uint8Array"+a+", got "+f;throw n?new RangeError(c):new TypeError(c)}return t}function Pr(t){if(typeof t!="function"||typeof t.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(ze(t.outputLen),ze(t.blockLen),t.outputLen<1)throw new Error('"outputLen" must be >= 1');if(t.blockLen<1)throw new Error('"blockLen" must be >= 1')}function _t(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Mr(t,e){ye(t,void 0,"digestInto() output");let r=e.outputLen;if(t.length<r)throw new RangeError('"digestInto() output" expected to be of length >='+r)}function Ne(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function qr(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ge(t,e){return t<<32-e|t>>>e}var yi=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Qf=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Vr(t){if(ye(t),yi)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=Qf[t[r]];return e}var Oe={_0:48,_9:57,A:65,F:70,a:97,f:102};function mi(t){if(t>=Oe._0&&t<=Oe._9)return t-Oe._0;if(t>=Oe.A&&t<=Oe.F)return t-(Oe.A-10);if(t>=Oe.a&&t<=Oe.f)return t-(Oe.a-10)}function sr(t){if(typeof t!="string")throw new TypeError("hex string expected, got "+typeof t);if(yi)try{return Uint8Array.fromHex(t)}catch(o){throw o instanceof SyntaxError?new RangeError(o.message):o}let e=t.length,r=e/2;if(e%2)throw new RangeError("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=mi(t.charCodeAt(s)),a=mi(t.charCodeAt(s+1));if(i===void 0||a===void 0){let f=t[s]+t[s+1];throw new RangeError('hex string expected, got non-hex character "'+f+'" at index '+s)}n[o]=i*16+a}return n}function Jn(...t){let e=0;for(let n=0;n<t.length;n++){let o=t[n];ye(o),e+=o.length}let r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let s=t[n];r.set(s,o),o+=s.length}return r}function Qn(t,e={}){let r=(o,s)=>t(s).update(o).digest(),n=t(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.canXOF=n.canXOF,r.create=o=>t(o),Object.assign(r,e),Object.freeze(r)}function bi(t=32){ze(t,"bytesLength");let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(t>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${t}`);return e.getRandomValues(new Uint8Array(t))}var eo=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});function xi(t,e,r){return t&e^~t&r}function gi(t,e,r){return t&e^t&r^e&r}var ir=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,r,n,o){this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=qr(this.buffer)}update(e){_t(this),ye(e);let{view:r,buffer:n,blockLen:o}=this,s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let f=qr(e);for(;o<=s-i;i+=o)this.process(f,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){_t(this),Mr(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,Ne(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)r[l]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let a=qr(e),f=this.outputLen;if(f%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let c=f/4,u=this.get();if(c>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<c;l++)a.setUint32(4*l,u[l],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=s,e.length=o,e.pos=a,o%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}},ke=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ie=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Hr=BigInt(4294967295),wi=BigInt(32);function eu(t,e=!1){return e?{h:Number(t&Hr),l:Number(t>>wi&Hr)}:{h:Number(t>>wi&Hr)|0,l:Number(t&Hr)|0}}function Ei(t,e=!1){let r=t.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=eu(t[s],e);[n[s],o[s]]=[i,a]}return[n,o]}var to=(t,e,r)=>t>>>r,ro=(t,e,r)=>t<<32-r|e>>>r,st=(t,e,r)=>t>>>r|e<<32-r,it=(t,e,r)=>t<<32-r|e>>>r,ar=(t,e,r)=>t<<64-r|e>>>r-32,cr=(t,e,r)=>t>>>r-32|e<<64-r;function De(t,e,r,n){let o=(e>>>0)+(n>>>0);return{h:t+r+(o/2**32|0)|0,l:o|0}}var Si=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),vi=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,Ai=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),Bi=(t,e,r,n,o)=>e+r+n+o+(t/2**32|0)|0,Ii=(t,e,r,n,o)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Li=(t,e,r,n,o,s)=>e+r+n+o+s+(t/2**32|0)|0;var ru=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]),je=new Uint32Array(64),no=class extends ir{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:r,C:n,D:o,E:s,F:i,G:a,H:f}=this;return[e,r,n,o,s,i,a,f]}set(e,r,n,o,s,i,a,f){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=f|0}process(e,r){for(let l=0;l<16;l++,r+=4)je[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let y=je[l-15],h=je[l-2],p=ge(y,7)^ge(y,18)^y>>>3,w=ge(h,17)^ge(h,19)^h>>>10;je[l]=w+je[l-7]+p+je[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:f,G:c,H:u}=this;for(let l=0;l<64;l++){let y=ge(a,6)^ge(a,11)^ge(a,25),h=u+y+xi(a,f,c)+ru[l]+je[l]|0,w=(ge(n,2)^ge(n,13)^ge(n,22))+gi(n,o,s)|0;u=c,c=f,f=a,a=i+h|0,i=s,s=o,o=n,n=h+w|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,f=f+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(n,o,s,i,a,f,c,u)}roundClean(){Ne(je)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),Ne(this.buffer)}},oo=class extends no{A=ke[0]|0;B=ke[1]|0;C=ke[2]|0;D=ke[3]|0;E=ke[4]|0;F=ke[5]|0;G=ke[6]|0;H=ke[7]|0;constructor(){super(32)}};var Ti=Ei(["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(t=>BigInt(t))),nu=Ti[0],ou=Ti[1],$e=new Uint32Array(80),Ze=new Uint32Array(80),so=class extends ir{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:f,Eh:c,El:u,Fh:l,Fl:y,Gh:h,Gl:p,Hh:w,Hl:m}=this;return[e,r,n,o,s,i,a,f,c,u,l,y,h,p,w,m]}set(e,r,n,o,s,i,a,f,c,u,l,y,h,p,w,m){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=f|0,this.Eh=c|0,this.El=u|0,this.Fh=l|0,this.Fl=y|0,this.Gh=h|0,this.Gl=p|0,this.Hh=w|0,this.Hl=m|0}process(e,r){for(let v=0;v<16;v++,r+=4)$e[v]=e.getUint32(r),Ze[v]=e.getUint32(r+=4);for(let v=16;v<80;v++){let T=$e[v-15]|0,L=Ze[v-15]|0,F=st(T,L,1)^st(T,L,8)^to(T,L,7),R=it(T,L,1)^it(T,L,8)^ro(T,L,7),I=$e[v-2]|0,O=Ze[v-2]|0,V=st(I,O,19)^ar(I,O,61)^to(I,O,6),N=it(I,O,19)^cr(I,O,61)^ro(I,O,6),d=Ai(R,N,Ze[v-7],Ze[v-16]),x=Bi(d,F,V,$e[v-7],$e[v-16]);$e[v]=x|0,Ze[v]=d|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:f,Dh:c,Dl:u,Eh:l,El:y,Fh:h,Fl:p,Gh:w,Gl:m,Hh:b,Hl:S}=this;for(let v=0;v<80;v++){let T=st(l,y,14)^st(l,y,18)^ar(l,y,41),L=it(l,y,14)^it(l,y,18)^cr(l,y,41),F=l&h^~l&w,R=y&p^~y&m,I=Ii(S,L,R,ou[v],Ze[v]),O=Li(I,b,T,F,nu[v],$e[v]),V=I|0,N=st(n,o,28)^ar(n,o,34)^ar(n,o,39),d=it(n,o,28)^cr(n,o,34)^cr(n,o,39),x=n&s^n&a^s&a,A=o&i^o&f^i&f;b=w|0,S=m|0,w=h|0,m=p|0,h=l|0,p=y|0,{h:l,l:y}=De(c|0,u|0,O|0,V|0),c=a|0,u=f|0,a=s|0,f=i|0,s=n|0,i=o|0;let E=Si(V,d,A);n=vi(E,O,N,x),o=E|0}({h:n,l:o}=De(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=De(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:f}=De(this.Ch|0,this.Cl|0,a|0,f|0),{h:c,l:u}=De(this.Dh|0,this.Dl|0,c|0,u|0),{h:l,l:y}=De(this.Eh|0,this.El|0,l|0,y|0),{h,l:p}=De(this.Fh|0,this.Fl|0,h|0,p|0),{h:w,l:m}=De(this.Gh|0,this.Gl|0,w|0,m|0),{h:b,l:S}=De(this.Hh|0,this.Hl|0,b|0,S|0),this.set(n,o,s,i,a,f,c,u,l,y,h,p,w,m,b,S)}roundClean(){Ne($e,Ze)}destroy(){this.destroyed=!0,Ne(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},io=class extends so{Ah=ie[0]|0;Al=ie[1]|0;Bh=ie[2]|0;Bl=ie[3]|0;Ch=ie[4]|0;Cl=ie[5]|0;Dh=ie[6]|0;Dl=ie[7]|0;Eh=ie[8]|0;El=ie[9]|0;Fh=ie[10]|0;Fl=ie[11]|0;Gh=ie[12]|0;Gl=ie[13]|0;Hh=ie[14]|0;Hl=ie[15]|0;constructor(){super(64)}};var Rt=Qn(()=>new oo,eo(1));var zr=Qn(()=>new io,eo(3));var P=(t,e,r)=>ye(t,e,r),co=ze,Ct=Vr,te=(...t)=>Jn(...t),Ft=t=>sr(t),at=Wn,fr=t=>bi(t),$r=BigInt(0),ao=BigInt(1);function we(t,e=""){if(typeof t!="boolean"){let r=e&&`"${e}" `;throw new TypeError(r+"expected boolean, got type="+typeof t)}return t}function Zr(t){if(typeof t=="bigint"){if(!jr(t))throw new RangeError("positive bigint expected, got "+t)}else co(t);return t}function Ee(t,e=""){if(typeof t!="number"){let r=e&&`"${e}" `;throw new TypeError(r+"expected number, got type="+typeof t)}if(!Number.isSafeInteger(t)){let r=e&&`"${e}" `;throw new RangeError(r+"expected safe integer, got "+t)}}function ur(t){let e=Zr(t).toString(16);return e.length&1?"0"+e:e}function Di(t){if(typeof t!="string")throw new TypeError("hex string expected, got "+typeof t);return t===""?$r:BigInt("0x"+t)}function ct(t){return Di(Vr(t))}function _e(t){return Di(Vr(lr(ye(t)).reverse()))}function Yr(t,e){if(ze(e),e===0)throw new RangeError("zero length");t=Zr(t);let r=t.toString(16);if(r.length>e*2)throw new RangeError("number too large");return sr(r.padStart(e*2,"0"))}function fo(t,e){return Yr(t,e).reverse()}function _i(t,e){if(t=P(t),e=P(e),t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function lr(t){return Uint8Array.from(P(t))}function Gr(t){if(typeof t!="string")throw new TypeError("ascii string expected, got "+typeof t);return Uint8Array.from(t,(e,r)=>{let n=e.charCodeAt(0);if(e.length!==1||n>127)throw new RangeError(`string contains non-ASCII character "${t[r]}" with code ${n} at position ${r}`);return n})}var jr=t=>typeof t=="bigint"&&$r<=t;function su(t,e,r){return jr(t)&&jr(e)&&jr(r)&&e<=t&&t<r}function Ut(t,e,r,n){if(!su(e,r,n))throw new RangeError("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function Ot(t){if(t<$r)throw new Error("expected non-negative bigint, got "+t);let e;for(e=0;t>$r;t>>=ao,e+=1);return e}var hr=t=>(ao<<BigInt(t))-ao;function Ri(t,e,r){if(ze(t,"hashLen"),ze(e,"qByteLen"),typeof r!="function")throw new TypeError("hmacFn must be a function");let n=m=>new Uint8Array(m),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),a=1e3,f=n(t),c=n(t),u=0,l=()=>{f.fill(1),c.fill(0),u=0},y=(...m)=>r(c,te(f,...m)),h=(m=o)=>{c=y(s,m),f=y(),m.length!==0&&(c=y(i,m),f=y())},p=()=>{if(u++>=a)throw new Error("drbg: tried max amount of iterations");let m=0,b=[];for(;m<e;){f=y();let S=f.slice();b.push(S),m+=f.length}return te(...b)};return(m,b)=>{l(),h(m);let S;for(;(S=b(p()))===void 0;)h();return l(),S}}function Se(t,e={},r={}){if(Object.prototype.toString.call(t)!=="[object Object]")throw new TypeError("expected valid options object");function n(s,i,a){if(!a&&i!=="function"&&!Object.hasOwn(t,s))throw new TypeError(`param "${s}" is invalid: expected own property`);let f=t[s];if(a&&f===void 0)return;let c=typeof f;if(c!==i||f===null)throw new TypeError(`param "${s}" is invalid: expected ${i}, got ${c}`)}let o=(s,i)=>Object.entries(s).forEach(([a,f])=>n(a,f,i));o(e,!1),o(r,!0)}var uo=()=>{throw new Error("not implemented")};var ae=BigInt(0),Y=BigInt(1),ft=BigInt(2),Oi=BigInt(3),Ni=BigInt(4),ki=BigInt(5),iu=BigInt(7),Ki=BigInt(8),au=BigInt(9),Pi=BigInt(16);function J(t,e){if(e<=ae)throw new Error("mod: expected positive modulus, got "+e);let r=t%e;return r>=ae?r:e+r}function z(t,e,r){if(e<ae)throw new Error("pow2: expected non-negative exponent, got "+e);let n=t;for(;e-- >ae;)n*=n,n%=r;return n}function Ci(t,e){if(t===ae)throw new Error("invert: expected non-zero number");if(e<=ae)throw new Error("invert: expected positive modulus, got "+e);let r=J(t,e),n=e,o=ae,s=Y,i=Y,a=ae;for(;r!==ae;){let c=n/r,u=n-r*c,l=o-i*c,y=s-a*c;n=r,r=u,o=i,s=a,i=l,a=y}if(n!==Y)throw new Error("invert: does not exist");return J(o,e)}function lo(t,e,r){let n=t;if(!n.eql(n.sqr(e),r))throw new Error("Cannot find square root")}function Mi(t,e){let r=t,n=(r.ORDER+Y)/Ni,o=r.pow(e,n);return lo(r,o,e),o}function cu(t,e){let r=t,n=(r.ORDER-ki)/Ki,o=r.mul(e,ft),s=r.pow(o,n),i=r.mul(e,s),a=r.mul(r.mul(i,ft),s),f=r.mul(i,r.sub(a,r.ONE));return lo(r,f,e),f}function fu(t){let e=Nt(t),r=qi(t),n=r(e,e.neg(e.ONE)),o=r(e,n),s=r(e,e.neg(n)),i=(t+iu)/Pi;return((a,f)=>{let c=a,u=c.pow(f,i),l=c.mul(u,n),y=c.mul(u,o),h=c.mul(u,s),p=c.eql(c.sqr(l),f),w=c.eql(c.sqr(y),f);u=c.cmov(u,l,p),l=c.cmov(h,y,w);let m=c.eql(c.sqr(l),f),b=c.cmov(u,l,m);return lo(c,b,f),b})}function qi(t){if(t<Oi)throw new Error("sqrt is not defined for small field");let e=t-Y,r=0;for(;e%ft===ae;)e/=ft,r++;let n=ft,o=Nt(t);for(;Fi(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Mi;let s=o.pow(n,e),i=(e+Y)/ft;return function(f,c){let u=f;if(u.is0(c))return c;if(Fi(u,c)!==1)throw new Error("Cannot find square root");let l=r,y=u.mul(u.ONE,s),h=u.pow(c,e),p=u.pow(c,i);for(;!u.eql(h,u.ONE);){if(u.is0(h))return u.ZERO;let w=1,m=u.sqr(h);for(;!u.eql(m,u.ONE);)if(w++,m=u.sqr(m),w===l)throw new Error("Cannot find square root");let b=Y<<BigInt(l-w-1),S=u.pow(y,b);l=w,y=u.sqr(S),h=u.mul(h,y),p=u.mul(p,S)}return p}}function uu(t){return t%Ni===Oi?Mi:t%Ki===ki?cu:t%Pi===au?fu(t):qi(t)}var Ke=(t,e)=>(J(t,e)&Y)===Y,lu=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ho(t){let e={ORDER:"bigint",BYTES:"number",BITS:"number"},r=lu.reduce((n,o)=>(n[o]="function",n),e);if(Se(t,r),Ee(t.BYTES,"BYTES"),Ee(t.BITS,"BITS"),t.BYTES<1||t.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(t.ORDER<=Y)throw new Error("invalid field: expected ORDER > 1, got "+t.ORDER);return t}function hu(t,e,r){let n=t;if(r<ae)throw new Error("invalid exponent, negatives unsupported");if(r===ae)return n.ONE;if(r===Y)return e;let o=n.ONE,s=e;for(;r>ae;)r&Y&&(o=n.mul(o,s)),s=n.sqr(s),r>>=Y;return o}function dr(t,e,r=!1){let n=t,o=new Array(e.length).fill(r?n.ZERO:void 0),s=e.reduce((a,f,c)=>n.is0(f)?a:(o[c]=a,n.mul(a,f)),n.ONE),i=n.inv(s);return e.reduceRight((a,f,c)=>n.is0(f)?a:(o[c]=n.mul(a,o[c]),n.mul(a,f)),i),o}function Fi(t,e){let r=t,n=(r.ORDER-Y)/ft,o=r.pow(e,n),s=r.eql(o,r.ONE),i=r.eql(o,r.ZERO),a=r.eql(o,r.neg(r.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function du(t,e){if(e!==void 0&&co(e),t<=ae)throw new Error("invalid n length: expected positive n, got "+t);if(e!==void 0&&e<1)throw new Error("invalid n length: expected positive bit length, got "+e);let r=Ot(t);if(e!==void 0&&e<r)throw new Error(`invalid n length: expected bit length (${r}) >= n.length (${e})`);let n=e!==void 0?e:r,o=Math.ceil(n/8);return{nBitLength:n,nByteLength:o}}var Ui=new WeakMap,Xr=class{ORDER;BITS;BYTES;isLE;ZERO=ae;ONE=Y;_lengths;_mod;constructor(e,r={}){if(e<=Y)throw new Error("invalid field: expected ORDER > 1, got "+e);let n;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(n=r.BITS),typeof r.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:r.sqrt,enumerable:!0}),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=Object.freeze(r.allowedLengths.slice())),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));let{nBitLength:o,nByteLength:s}=du(e,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=o,this.BYTES=s,Object.freeze(this)}create(e){return J(e,this.ORDER)}isValid(e){if(typeof e!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof e);return ae<=e&&e<this.ORDER}is0(e){return e===ae}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&Y)===Y}neg(e){return J(-e,this.ORDER)}eql(e,r){return e===r}sqr(e){return J(e*e,this.ORDER)}add(e,r){return J(e+r,this.ORDER)}sub(e,r){return J(e-r,this.ORDER)}mul(e,r){return J(e*r,this.ORDER)}pow(e,r){return hu(this,e,r)}div(e,r){return J(e*Ci(r,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,r){return e+r}subN(e,r){return e-r}mulN(e,r){return e*r}inv(e){return Ci(e,this.ORDER)}sqrt(e){let r=Ui.get(this);return r||Ui.set(this,r=uu(this.ORDER)),r(this,e)}toBytes(e){return this.isLE?fo(e,this.BYTES):Yr(e,this.BYTES)}fromBytes(e,r=!1){P(e);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:a}=this;if(n){if(e.length<1||!n.includes(e.length)||e.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+e.length);let c=new Uint8Array(o);c.set(e,s?0:c.length-e.length),e=c}if(e.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);let f=s?_e(e):ct(e);if(a&&(f=J(f,i)),!r&&!this.isValid(f))throw new Error("invalid field element: outside of range 0..ORDER");return f}invertBatch(e){return dr(this,e)}cmov(e,r,n){return we(n,"condition"),n?r:e}};Object.freeze(Xr.prototype);function Nt(t,e={}){return new Xr(t,e)}function Vi(t){if(typeof t!="bigint")throw new Error("field order must be bigint");if(t<=Y)throw new Error("field order must be greater than 1");let e=Ot(t-Y);return Math.ceil(e/8)}function po(t){let e=Vi(t);return e+Math.ceil(e/2)}function mo(t,e,r=!1){P(t);let n=t.length,o=Vi(e),s=Math.max(po(e),16);if(n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?_e(t):ct(t),a=J(i,e-Y)+Y;return r?fo(a,o):Yr(a,o)}var kt=BigInt(0),ut=BigInt(1);function pr(t,e){let r=e.negate();return t?r:e}function lt(t,e){let r=dr(t.Fp,e.map(n=>n.Z));return e.map((n,o)=>t.fromAffine(n.toAffine(r[o])))}function $i(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function yo(t,e){$i(t,e);let r=Math.ceil(e/t)+1,n=2**(t-1),o=2**t,s=hr(t),i=BigInt(t);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Hi(t,e,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(t&o),f=t>>i;a>n&&(a-=s,f+=ut);let c=e*n,u=c+Math.abs(a)-1,l=a===0,y=a<0,h=e%2!==0;return{nextN:f,offset:u,isZero:l,isNeg:y,isNegF:h,offsetF:c}}var bo=new WeakMap,Zi=new WeakMap;function xo(t){return Zi.get(t)||1}function zi(t){if(t!==kt)throw new Error("invalid wNAF")}var Kt=class{BASE;ZERO;Fn;bits;constructor(e,r){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=r}_unsafeLadder(e,r,n=this.ZERO){let o=e;for(;r>kt;)r&ut&&(n=n.add(o)),o=o.double(),r>>=ut;return n}precomputeWindow(e,r){let{windows:n,windowSize:o}=yo(r,this.bits),s=[],i=e,a=i;for(let f=0;f<n;f++){a=i,s.push(a);for(let c=1;c<o;c++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(e,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=yo(e,this.bits);for(let a=0;a<i.windows;a++){let{nextN:f,offset:c,isZero:u,isNeg:l,isNegF:y,offsetF:h}=Hi(n,a,i);n=f,u?s=s.add(pr(y,r[h])):o=o.add(pr(l,r[c]))}return zi(n),{p:o,f:s}}wNAFUnsafe(e,r,n,o=this.ZERO){let s=yo(e,this.bits);for(let i=0;i<s.windows&&n!==kt;i++){let{nextN:a,offset:f,isZero:c,isNeg:u}=Hi(n,i,s);if(n=a,!c){let l=r[f];o=o.add(u?l.negate():l)}}return zi(n),o}getPrecomputes(e,r,n){let o=bo.get(r);return o||(o=this.precomputeWindow(r,e),e!==1&&(typeof n=="function"&&(o=n(o)),bo.set(r,o))),o}cached(e,r,n){let o=xo(e);return this.wNAF(o,this.getPrecomputes(o,e,n),r)}unsafe(e,r,n,o){let s=xo(e);return s===1?this._unsafeLadder(e,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,e,n),r,o)}createCache(e,r){$i(r,this.bits),Zi.set(e,r),bo.delete(e)}hasCache(e){return xo(e)!==1}};function Yi(t,e,r,n){let o=e,s=t.ZERO,i=t.ZERO;for(;r>kt||n>kt;)r&ut&&(s=s.add(o)),n&ut&&(i=i.add(o)),o=o.double(),r>>=ut,n>>=ut;return{p1:s,p2:i}}function ji(t,e,r){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return ho(e),e}else return Nt(t,{isLE:r})}function Wr(t,e,r={},n){if(n===void 0&&(n=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(let f of["p","n","h"]){let c=e[f];if(!(typeof c=="bigint"&&c>kt))throw new Error(`CURVE.${f} must be positive bigint`)}let o=ji(e.p,r.Fp,n),s=ji(e.n,r.Fn,n),a=["Gx","Gy","a",t==="weierstrass"?"b":"d"];for(let f of a)if(!o.isValid(e[f]))throw new Error(`CURVE.${f} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:o,Fn:s}}function Jr(t,e){return function(n){let o=t(n);return{secretKey:o,publicKey:e(o)}}}var Ye=BigInt(0),se=BigInt(1),go=BigInt(2),pu=BigInt(8);function mu(t,e,r,n){let o=t.sqr(r),s=t.sqr(n),i=t.add(t.mul(e.a,o),s),a=t.add(t.ONE,t.mul(e.d,t.mul(o,s)));return t.eql(i,a)}function Gi(t,e={}){let r=e,n=Wr("edwards",t,r,r.FpFnLE),{Fp:o,Fn:s}=n,i=n.CURVE,{h:a}=i;Se(r,{},{uvRatio:"function"});let f=go<<BigInt(s.BYTES*8)-se,c=w=>o.create(w),u=r.uvRatio===void 0?(w,m)=>{try{return{isValid:!0,value:o.sqrt(o.div(w,m))}}catch{return{isValid:!1,value:Ye}}}:r.uvRatio;if(!mu(o,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function l(w,m,b=!1){let S=b?se:Ye;return Ut("coordinate "+w,m,S,f),m}function y(w){if(!(w instanceof h))throw new Error("EdwardsPoint expected")}class h{static BASE=new h(i.Gx,i.Gy,se,c(i.Gx*i.Gy));static ZERO=new h(Ye,se,se,Ye);static Fp=o;static Fn=s;X;Y;Z;T;constructor(m,b,S,v){this.X=l("x",m),this.Y=l("y",b),this.Z=l("z",S,!0),this.T=l("t",v),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:S}=m||{};return l("x",b),l("y",S),new h(b,S,se,c(b*S))}static fromBytes(m,b=!1){let S=o.BYTES,{a:v,d:T}=i;m=lr(P(m,S,"point")),we(b,"zip215");let L=lr(m),F=m[S-1];L[S-1]=F&-129;let R=_e(L),I=b?f:o.ORDER;Ut("point.y",R,Ye,I);let O=c(R*R),V=c(O-se),N=c(T*O-v),{isValid:d,value:x}=u(V,N);if(!d)throw new Error("bad point: invalid y coordinate");let A=(x&se)===se,E=(F&128)!==0;if(!b&&x===Ye&&E)throw new Error("bad point: x=0 and x_0=1");return E!==A&&(x=c(-x)),h.fromAffine({x,y:R})}static fromHex(m,b=!1){return h.fromBytes(Ft(m),b)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,b=!0){return p.createCache(this,m),b||this.multiply(go),this}assertValidity(){let m=this,{a:b,d:S}=i;if(m.is0())throw new Error("bad point: ZERO");let{X:v,Y:T,Z:L,T:F}=m,R=c(v*v),I=c(T*T),O=c(L*L),V=c(O*O),N=c(R*b),d=c(O*c(N+I)),x=c(V+c(S*c(R*I)));if(d!==x)throw new Error("bad point: equation left != right (1)");let A=c(v*T),E=c(L*F);if(A!==E)throw new Error("bad point: equation left != right (2)")}equals(m){y(m);let{X:b,Y:S,Z:v}=this,{X:T,Y:L,Z:F}=m,R=c(b*F),I=c(T*v),O=c(S*F),V=c(L*v);return R===I&&O===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:S,Z:v}=this,T=c(b*b),L=c(S*S),F=c(go*c(v*v)),R=c(m*T),I=b+S,O=c(c(I*I)-T-L),V=R+L,N=V-F,d=R-L,x=c(O*N),A=c(V*d),E=c(O*d),g=c(N*V);return new h(x,A,g,E)}add(m){y(m);let{a:b,d:S}=i,{X:v,Y:T,Z:L,T:F}=this,{X:R,Y:I,Z:O,T:V}=m,N=c(v*R),d=c(T*I),x=c(F*S*V),A=c(L*O),E=c((v+T)*(R+I)-N-d),g=A-x,B=A+x,_=c(d-b*N),D=c(E*g),C=c(B*_),U=c(E*_),K=c(g*B);return new h(D,C,K,U)}subtract(m){return y(m),this.add(m.negate())}multiply(m){if(!s.isValidNot0(m))throw new RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:b,f:S}=p.cached(this,m,v=>lt(h,v));return lt(h,[b,S])[0]}multiplyUnsafe(m){if(!s.isValid(m))throw new RangeError("invalid scalar: expected 0 <= sc < curve.n");return m===Ye?h.ZERO:this.is0()||m===se?this:p.unsafe(this,m,b=>lt(h,b))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return p.unsafe(this,i.n).is0()}toAffine(m){let b=this,S=m,{X:v,Y:T,Z:L}=b,F=b.is0();S==null&&(S=F?pu:o.inv(L));let R=c(v*S),I=c(T*S),O=o.mul(L,S);if(F)return{x:Ye,y:se};if(O!==se)throw new Error("invZ was invalid");return{x:R,y:I}}clearCofactor(){return a===se?this:this.multiplyUnsafe(a)}toBytes(){let{x:m,y:b}=this.toAffine(),S=o.toBytes(b);return S[S.length-1]|=m&se?128:0,S}toHex(){return Ct(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let p=new Kt(h,s.BITS);return s.BITS>=8&&h.BASE.precompute(8),Object.freeze(h.prototype),Object.freeze(h),h}var Qr=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){uo()}static fromHex(e){uo()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return Ct(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,r){return this.ep.precompute(e,r),this}};function Xi(t,e,r={}){if(typeof e!="function")throw new Error('"hash" function param is required');let n=e,o=r;Se(o,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",zip215:"boolean",mapToCurve:"function"});let{prehash:s}=o,{BASE:i,Fp:a,Fn:f}=t,c=n.outputLen,u=2*a.BYTES;if(c!==void 0&&(Ee(c,"hash.outputLen"),c!==u))throw new Error(`hash.outputLen must be ${u}, got ${c}`);let l=o.randomBytes===void 0?fr:o.randomBytes,y=o.adjustScalarBytes===void 0?d=>d:o.adjustScalarBytes,h=o.domain===void 0?(d,x,A)=>{if(we(A,"phflag"),x.length||A)throw new Error("Contexts/pre-hash are not supported");return d}:o.domain;function p(d){return f.create(_e(d))}function w(d){let x=R.secretKey;P(d,R.secretKey,"secretKey");let A=P(n(d),2*x,"hashedSecretKey"),E=y(A.slice(0,x)),g=A.slice(x,2*x),B=p(E);return{head:E,prefix:g,scalar:B}}function m(d){let{head:x,prefix:A,scalar:E}=w(d),g=i.multiply(E),B=g.toBytes();return{head:x,prefix:A,scalar:E,point:g,pointBytes:B}}function b(d){return m(d).pointBytes}function S(d=Uint8Array.of(),...x){let A=te(...x);return p(n(h(A,P(d,void 0,"context"),!!s)))}function v(d,x,A={}){d=P(d,void 0,"message"),s&&(d=s(d));let{prefix:E,scalar:g,pointBytes:B}=m(x),_=S(A.context,E,d),D=i.multiply(_).toBytes(),C=S(A.context,D,B,d),U=f.create(_+C*g);if(!f.isValid(U))throw new Error("sign failed: invalid s");let K=te(D,f.toBytes(U));return P(K,R.signature,"result")}let T={zip215:o.zip215};function L(d,x,A,E=T){let{context:g}=E,B=E.zip215===void 0?!!T.zip215:E.zip215,_=R.signature;d=P(d,_,"signature"),x=P(x,void 0,"message"),A=P(A,R.publicKey,"publicKey"),B!==void 0&&we(B,"zip215"),s&&(x=s(x));let D=_/2,C=d.subarray(0,D),U=_e(d.subarray(D,_)),K,M,k;try{K=t.fromBytes(A,B),M=t.fromBytes(C,B),k=i.multiplyUnsafe(U)}catch{return!1}if(!B&&K.isSmallOrder())return!1;let Q=S(g,C,A,x);return M.add(K.multiplyUnsafe(Q)).subtract(k).clearCofactor().is0()}let F=a.BYTES,R={secretKey:F,publicKey:F,signature:2*F,seed:F};function I(d){return d=d===void 0?l(R.seed):d,P(d,R.seed,"seed")}function O(d){return at(d)&&d.length===R.secretKey}function V(d,x){try{return!!t.fromBytes(d,x===void 0?T.zip215:x)}catch{return!1}}let N={getExtendedPublicKey:m,randomSecretKey:I,isValidSecretKey:O,isValidPublicKey:V,toMontgomery(d){let{y:x}=t.fromBytes(d),A=R.publicKey,E=A===32;if(!E&&A!==57)throw new Error("only defined for 25519 and 448");let g=E?a.div(se+x,se-x):a.div(x-se,x+se);return a.toBytes(g)},toMontgomerySecret(d){let x=R.secretKey;P(d,x);let A=n(d.subarray(0,x));return y(A).subarray(0,x)}};return Object.freeze(R),Object.freeze(N),Object.freeze({keygen:Jr(I,b),getPublicKey:b,sign:v,verify:L,utils:N,Point:t,lengths:R})}function mr(t,e){if(Ee(t),Ee(e),e<0||e>4)throw new Error("invalid I2OSP length: "+e);if(t<0||t>2**(8*e)-1)throw new Error("invalid I2OSP input: "+t);let r=Array.from({length:e}).fill(0);for(let n=e-1;n>=0;n--)r[n]=t&255,t>>>=8;return new Uint8Array(r)}function yu(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function bu(t){if(!at(t)&&typeof t!="string")throw new Error("DST must be Uint8Array or ascii string");let e=typeof t=="string"?Gr(t):t;if(e.length===0)throw new Error("DST must be non-empty");return e}function wo(t,e,r,n){P(t),Ee(r),e=bu(e),e.length>255&&(e=n(te(Gr("H2C-OVERSIZE-DST-"),e)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=te(e,mr(e.length,1)),f=new Uint8Array(s),c=mr(r,2),u=new Array(i),l=n(te(f,t,c,mr(0,1),a));u[0]=n(te(l,mr(1,1),a));for(let h=1;h<i;h++){let p=[yu(l,u[h-1]),mr(h+1,1),a];u[h]=n(te(...p))}return te(...u).slice(0,r)}var Wi="HashToScalar-";var xu=BigInt(0),Pe=BigInt(1),Ji=BigInt(2);var gu=BigInt(5),wu=BigInt(8),Pt=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Ao={p:Pt,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:wu,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Eu(t){let e=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=Pt,a=t*t%s*t%s,f=z(a,Ji,s)*a%s,c=z(f,Pe,s)*t%s,u=z(c,gu,s)*c%s,l=z(u,e,s)*u%s,y=z(l,r,s)*l%s,h=z(y,n,s)*y%s,p=z(h,o,s)*h%s,w=z(p,o,s)*h%s,m=z(w,e,s)*u%s;return{pow_p_5_8:z(m,Ji,s)*t%s,b2:a}}function Su(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}var Eo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Bo(t,e){let r=Pt,n=J(e*e*e,r),o=J(n*n*e,r),s=Eu(t*o).pow_p_5_8,i=J(t*n*s,r),a=J(e*i*i,r),f=i,c=J(i*Eo,r),u=a===t,l=a===J(-t,r),y=a===J(-t*Eo,r);return u&&(i=f),(l||y)&&(i=c),Ke(i,r)&&(i=J(-i,r)),{isValid:u||l,value:i}}var Xe=Gi(Ao,{uvRatio:Bo}),Ge=Xe.Fp,ta=Xe.Fn;function vu(t){return Xi(Xe,zr,Object.assign({adjustScalarBytes:Su,zip215:!0},t))}var ra=vu({});var So=Eo,Au=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Bu=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Iu=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Lu=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Qi=t=>Bo(Pe,t),Tu=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),vo=t=>Ge.create(_e(t)&Tu);function ea(t){let{d:e}=Ao,r=Pt,n=b=>Ge.create(b),o=n(So*t*t),s=n((o+Pe)*Iu),i=BigInt(-1),a=n((i-e*o)*n(o+e)),{isValid:f,value:c}=Bo(s,a),u=n(c*t);Ke(u,r)||(u=n(-u)),f||(c=u),f||(i=o);let l=n(i*(o-Pe)*Lu-a),y=c*c,h=n((c+c)*a),p=n(l*Au),w=n(Pe-y),m=n(Pe+y);return new Xe(n(h*m),n(w*p),n(p*m),n(h*w))}var We=class t extends Qr{static BASE=new t(Xe.BASE);static ZERO=new t(Xe.ZERO);static Fp=Ge;static Fn=ta;constructor(e){super(e)}static fromAffine(e){return new t(Xe.fromAffine(e))}assertSame(e){if(!(e instanceof t))throw new Error("RistrettoPoint expected")}init(e){return new t(e)}static fromBytes(e){ye(e,32);let{a:r,d:n}=Ao,o=Pt,s=T=>Ge.create(T),i=vo(e);if(!_i(Ge.toBytes(i),e)||Ke(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),f=s(Pe+r*a),c=s(Pe-r*a),u=s(f*f),l=s(c*c),y=s(r*n*u-l),{isValid:h,value:p}=Qi(s(y*l)),w=s(p*c),m=s(p*w*y),b=s((i+i)*w);Ke(b,o)&&(b=s(-b));let S=s(f*m),v=s(b*S);if(!h||Ke(v,o)||S===xu)throw new Error("invalid ristretto255 encoding 2");return new t(new Xe(b,S,Pe,v))}static fromHex(e){return t.fromBytes(sr(e))}toBytes(){let{X:e,Y:r,Z:n,T:o}=this.ep,s=Pt,i=m=>Ge.create(m),a=i(i(n+r)*i(n-r)),f=i(e*r),c=i(f*f),{value:u}=Qi(i(a*c)),l=i(u*a),y=i(u*f),h=i(l*y*o),p;if(Ke(o*h,s)){let m=i(r*So),b=i(e*So);e=m,r=b,p=i(l*Bu)}else p=y;Ke(e*h,s)&&(r=i(-r));let w=i((n-r)*p);return Ke(w,s)&&(w=i(-w)),Ge.toBytes(w)}equals(e){this.assertSame(e);let{X:r,Y:n}=this.ep,{X:o,Y:s}=e.ep,i=c=>Ge.create(c),a=i(r*s)===i(n*o),f=i(n*s)===i(r*o);return a||f}is0(){return this.equals(t.ZERO)}};Object.freeze(We.BASE);Object.freeze(We.ZERO);Object.freeze(We.prototype);Object.freeze(We);var Du=Object.freeze({Point:We,hashToCurve(t,e){let r=e?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":e.DST,n=wo(t,r,64,zr);return Du.deriveToCurve(n)},hashToScalar(t,e={DST:Wi}){let r=wo(t,e.DST,64,zr);return ta.create(_e(r))},deriveToCurve(t){ye(t,64);let e=vo(t.subarray(0,32)),r=ea(e),n=vo(t.subarray(32,64)),o=ea(n);return new We(r.add(o))}});var yr=class extends Error{constructor(e="An error occurred while verifying a message"){super(e),this.name="VerificationError"}},en=class extends Error{constructor(e="Missing Web Crypto API"){super(e),this.name="WebCryptoMissingError"}};var xe={get(t=globalThis){let e=t.crypto;if(e?.subtle==null)throw new en("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return e}};var Mt=32;var Io,_u=(async()=>{try{return await xe.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function Ru(t,e,r){if(t.buffer instanceof ArrayBuffer){let n=await xe.get().subtle.importKey("raw",t.buffer,{name:"Ed25519"},!1,["verify"]);return await xe.get().subtle.verify({name:"Ed25519"},n,Le(e),Le(r instanceof Uint8Array?r:r.subarray()))}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function Cu(t,e,r){return ra.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}async function na(t,e,r){return Io==null&&(Io=await _u),Io?Ru(t,e,r):Cu(t,e,r)}function tn(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var rn=class{type="Ed25519";raw;constructor(e){this.raw=Lo(e,Mt)}toMultihash(){return Ie.digest(Dt(this))}toCID(){return ce.createV1(114,this.toMultihash())}toString(){return W.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:pe(this.raw,e.raw)}verify(e,r,n){n?.signal?.throwIfAborted();let o=na(this.raw,r,e);return tn(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}};function ia(t){return t=Lo(t,Mt),new rn(t)}function Lo(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new j(`Key must be a Uint8Array of length ${e}, got ${t.length}`);return t}function Je(t=0){return new Uint8Array(t)}var Fu=Math.pow(2,7),Uu=Math.pow(2,14),Ou=Math.pow(2,21),aa=Math.pow(2,28),ca=Math.pow(2,35),fa=Math.pow(2,42),ua=Math.pow(2,49),he=128,Qe=127;function br(t){if(t<Fu)return 1;if(t<Uu)return 2;if(t<Ou)return 3;if(t<aa)return 4;if(t<ca)return 5;if(t<fa)return 6;if(t<ua)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function la(t,e,r=0){switch(br(t)){case 8:e[r++]=t&255|he,t/=128;case 7:e[r++]=t&255|he,t/=128;case 6:e[r++]=t&255|he,t/=128;case 5:e[r++]=t&255|he,t/=128;case 4:e[r++]=t&255|he,t>>>=7;case 3:e[r++]=t&255|he,t>>>=7;case 2:e[r++]=t&255|he,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function ha(t,e){let r=t[e],n=0;if(n+=r&Qe,r<he||(r=t[e+1],n+=(r&Qe)<<7,r<he)||(r=t[e+2],n+=(r&Qe)<<14,r<he)||(r=t[e+3],n+=(r&Qe)<<21,r<he)||(r=t[e+4],n+=(r&Qe)*aa,r<he)||(r=t[e+5],n+=(r&Qe)*ca,r<he)||(r=t[e+6],n+=(r&Qe)*fa,r<he)||(r=t[e+7],n+=(r&Qe)*ua,r<he))return n;throw new RangeError("Could not decode varint")}var To=new Float32Array([-0]),et=new Uint8Array(To.buffer);function da(t,e,r){To[0]=t,e[r]=et[0],e[r+1]=et[1],e[r+2]=et[2],e[r+3]=et[3]}function pa(t,e){return et[0]=t[e],et[1]=t[e+1],et[2]=t[e+2],et[3]=t[e+3],To[0]}var Do=new Float64Array([-0]),fe=new Uint8Array(Do.buffer);function ma(t,e,r){Do[0]=t,e[r]=fe[0],e[r+1]=fe[1],e[r+2]=fe[2],e[r+3]=fe[3],e[r+4]=fe[4],e[r+5]=fe[5],e[r+6]=fe[6],e[r+7]=fe[7]}function ya(t,e){return fe[0]=t[e],fe[1]=t[e+1],fe[2]=t[e+2],fe[3]=t[e+3],fe[4]=t[e+4],fe[5]=t[e+5],fe[6]=t[e+6],fe[7]=t[e+7],Do[0]}var Nu=BigInt(Number.MAX_SAFE_INTEGER),ku=BigInt(Number.MIN_SAFE_INTEGER),be=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return ht;if(e<Nu&&e>ku)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,o=e-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>ba&&(o=0n,++n>ba&&(n=0n))),new t(Number(o),Number(n))}static fromNumber(e){if(e===0)return ht;let r=e<0;r&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new t(n,o)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):ht}},ht=new be(0,0);ht.toBigInt=function(){return 0n};ht.zzEncode=ht.zzDecode=function(){return this};ht.length=function(){return 1};var ba=4294967296n;function xa(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function ga(t,e,r){if(r-e<1)return"";let o,s=[],i=0,a;for(;e<r;)a=t[e++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function _o(t,e,r){let n=r,o,s;for(let i=0;i<t.length;++i)o=t.charCodeAt(i),o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&((s=t.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128);return r-n}function ve(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function nn(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var Ro=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,ve(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw ve(this,4);return nn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ve(this,4);return nn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw ve(this,4);let e=pa(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw ve(this,4);let e=ya(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw ve(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return ga(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw ve(this,e);this.pos+=e}else do if(this.pos>=this.len)throw ve(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new be(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw ve(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw ve(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw ve(this,8);let e=nn(this.buf,this.pos+=4),r=nn(this.buf,this.pos+=4);return new be(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=ha(this.buf,this.pos);return this.pos+=br(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function xr(t){return new Ro(t instanceof Uint8Array?t:t.subarray())}function dt(t,e,r){let n=xr(t);return e.decode(n,void 0,r)}var No={};H(No,{base10:()=>zu});var rm=new Uint8Array(0);function Ea(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function Me(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function Sa(t){return new TextEncoder().encode(t)}function va(t){return new TextDecoder().decode(t)}function Ku(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,f=t.charAt(0),c=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var w=0,m=0,b=0,S=p.length;b!==S&&p[b]===0;)b++,w++;for(var v=(S-b)*u+1>>>0,T=new Uint8Array(v);b!==S;){for(var L=p[b],F=0,R=v-1;(L!==0||F<m)&&R!==-1;R--,F++)L+=256*T[R]>>>0,T[R]=L%a>>>0,L=L/a>>>0;if(L!==0)throw new Error("Non-zero carry");m=F,b++}for(var I=v-m;I!==v&&T[I]===0;)I++;for(var O=f.repeat(w);I<v;++I)O+=t.charAt(T[I]);return O}function y(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var w=0;if(p[w]!==" "){for(var m=0,b=0;p[w]===f;)m++,w++;for(var S=(p.length-w)*c+1>>>0,v=new Uint8Array(S);p[w];){var T=r[p.charCodeAt(w)];if(T===255)return;for(var L=0,F=S-1;(T!==0||L<b)&&F!==-1;F--,L++)T+=a*v[F]>>>0,v[F]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");b=L,w++}if(p[w]!==" "){for(var R=S-b;R!==S&&v[R]===0;)R++;for(var I=new Uint8Array(m+(S-R)),O=m;R!==S;)I[O++]=v[R++];return I}}}function h(p){var w=y(p);if(w)return w;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:y,decode:h}}var Pu=Ku,Mu=Pu,Ba=Mu;var Co=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Fo=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Ia(this,e)}},Uo=class{decoders;constructor(e){this.decoders=e}or(e){return Ia(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Ia(t,e){return new Uo({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Oo=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Co(e,r,n),this.decoder=new Fo(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function qt({name:t,prefix:e,encode:r,decode:n}){return new Oo(t,e,r,n)}function tt({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=Ba(r,t);return qt({prefix:e,name:t,encode:n,decode:s=>Me(o(s))})}function qu(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,a=0,f=0;for(let c=0;c<o;++c){let u=e[t[c]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|u,i+=r,i>=8&&(i-=8,s[f++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function Vu(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let f=0;f<t.length;++f)for(a=a<<8|t[f],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function Hu(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function G({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=Hu(n);return qt({prefix:e,name:t,encode(s){return Vu(s,n,r)},decode(s){return qu(s,o,r,t)}})}var zu=tt({prefix:"9",name:"base10",alphabet:"0123456789"});var ko={};H(ko,{base16:()=>ju,base16upper:()=>$u});var ju=G({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$u=G({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ko={};H(Ko,{base2:()=>Zu});var Zu=G({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Po={};H(Po,{base256emoji:()=>Ju});var La=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Yu=La.reduce((t,e,r)=>(t[r]=e,t),[]),Gu=La.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function Xu(t){return t.reduce((e,r)=>(e+=Yu[r],e),"")}function Wu(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Gu[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var Ju=qt({prefix:"\u{1F680}",name:"base256emoji",encode:Xu,decode:Wu});var Mo={};H(Mo,{base32:()=>Vt,base32hex:()=>rl,base32hexpad:()=>ol,base32hexpadupper:()=>sl,base32hexupper:()=>nl,base32pad:()=>el,base32padupper:()=>tl,base32upper:()=>Qu,base32z:()=>il});var Vt=G({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Qu=G({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),el=G({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),tl=G({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),rl=G({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),nl=G({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ol=G({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),sl=G({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),il=G({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var qo={};H(qo,{base36:()=>gr,base36upper:()=>al});var gr=tt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),al=tt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Vo={};H(Vo,{base58btc:()=>Re,base58flickr:()=>cl});var Re=tt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),cl=tt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ho={};H(Ho,{base64:()=>fl,base64pad:()=>ul,base64url:()=>ll,base64urlpad:()=>hl});var fl=G({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ul=G({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ll=G({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),hl=G({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var zo={};H(zo,{base8:()=>dl});var dl=G({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var jo={};H(jo,{identity:()=>pl});var pl=qt({prefix:"\0",name:"identity",encode:t=>va(t),decode:t=>Sa(t)});var xm=new TextEncoder,gm=new TextDecoder;var Zo={};H(Zo,{identity:()=>kl});var bl=_a,Ta=128,xl=127,gl=~xl,wl=Math.pow(2,31);function _a(t,e,r){e=e||[],r=r||0;for(var n=r;t>=wl;)e[r++]=t&255|Ta,t/=128;for(;t≷)e[r++]=t&255|Ta,t>>>=7;return e[r]=t|0,_a.bytes=r-n+1,e}var El=$o,Sl=128,Da=127;function $o(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw $o.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Da)<<o:(i&Da)*Math.pow(2,o),o+=7}while(i>=Sl);return $o.bytes=s-n,r}var vl=Math.pow(2,7),Al=Math.pow(2,14),Bl=Math.pow(2,21),Il=Math.pow(2,28),Ll=Math.pow(2,35),Tl=Math.pow(2,42),Dl=Math.pow(2,49),_l=Math.pow(2,56),Rl=Math.pow(2,63),Cl=function(t){return t<vl?1:t<Al?2:t<Bl?3:t<Il?4:t<Ll?5:t<Tl?6:t<Dl?7:t<_l?8:t<Rl?9:10},Fl={encode:bl,decode:El,encodingLength:Cl},Ul=Fl,wr=Ul;function Er(t,e=0){return[wr.decode(t,e),wr.decode.bytes]}function Ht(t,e,r=0){return wr.encode(t,e,r),e}function zt(t){return wr.encodingLength(t)}function $t(t,e){let r=e.byteLength,n=zt(t),o=n+zt(r),s=new Uint8Array(o+r);return Ht(t,s,0),Ht(r,s,n),s.set(e,o),new jt(t,r,e,s)}function Ra(t){let e=Me(t),[r,n]=Er(e),[o,s]=Er(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new jt(r,o,i,e)}function Ca(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Ea(t.bytes,r.bytes)}}var jt=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var Fa=0,Ol="identity",Ua=Me;function Nl(t,e){if(e?.truncate!=null&&e.truncate!==t.byteLength){if(e.truncate<0||e.truncate>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,e.truncate)}return $t(Fa,Ua(t))}var kl={code:Fa,name:Ol,encode:Ua,digest:Nl};var Xo={};H(Xo,{sha256:()=>Pl,sha512:()=>Ml});var Kl=20;function Go({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Yo(t,e,r,n,o)}var Yo=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,s){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??Kl,this.maxDigestLength=s}digest(e,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Oa(n,this.code,r?.truncate):n.then(o=>Oa(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function Oa(t,e,r){if(r!=null&&r!==t.byteLength){if(r>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,r)}return $t(e,t)}function ka(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Pl=Go({name:"sha2-256",code:18,encode:ka("SHA-256")}),Ml=Go({name:"sha2-512",code:19,encode:ka("SHA-512")});function Ka(t,e){let{bytes:r,version:n}=t;return n===0?Vl(r,Wo(t),e??Re.encoder):Hl(r,Wo(t),e??Vt.encoder)}var Pa=new WeakMap;function Wo(t){let e=Pa.get(t);if(e==null){let r=new Map;return Pa.set(t,r),r}return e}var sn=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==vr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==zl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=$t(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&Ca(e.multihash,n.multihash)}toString(e){return Ka(this,e)}toJSON(){return{"/":Ka(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new t(n,o,s,i??Ma(n,o,s.bytes))}else if(r[jl]===!0){let{version:n,multihash:o,code:s}=r,i=Ra(o);return t.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==vr)throw new Error(`Version 0 CID must use dag-pb (code: ${vr}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Ma(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,vr,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=Me(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new jt(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,y]=Er(e.subarray(r));return r+=y,l},o=n(),s=vr;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),f=n(),c=r+f,u=c-i;return{version:o,codec:s,multihashCode:a,digestSize:f,multihashSize:u,size:c}}static parse(e,r){let[n,o]=ql(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Wo(s).set(n,e),s}};function ql(t,e){switch(t[0]){case"Q":{let r=e??Re;return[Re.prefix,r.decode(`${Re.prefix}${t}`)]}case Re.prefix:{let r=e??Re;return[Re.prefix,r.decode(t)]}case Vt.prefix:{let r=e??Vt;return[Vt.prefix,r.decode(t)]}case gr.prefix:{let r=e??gr;return[gr.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Vl(t,e,r){let{prefix:n}=r;if(n!==Re.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o}function Hl(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o}var vr=112,zl=18;function Ma(t,e,r){let n=zt(t),o=n+zt(e),s=new Uint8Array(o+r.byteLength);return Ht(t,s,0),Ht(e,s,n),s.set(r,o),s}var jl=Symbol.for("@ipld/js-cid/CID");var Jo={...jo,...Ko,...zo,...No,...ko,...Mo,...qo,...Vo,...Ho,...Po},qm={...Xo,...Zo};function Va(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var qa=Va("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Qo=Va("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Je(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),$l={utf8:qa,"utf-8":qa,hex:Jo.base16,latin1:Qo,ascii:Qo,binary:Qo,...Jo},Ha=$l;function za(t,e="utf8"){let r=Ha[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function es(t){let e=t??8192,r=e>>>1,n,o=e;return function(i){if(i<1||i>r)return Je(i);o+i>e&&(n=Je(e),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var pt=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function ts(){}var ns=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},Zl=es();function Yl(t){return globalThis.Buffer!=null?Je(t):Zl(t)}var Br=class{len;head;tail;states;constructor(){this.len=0,this.head=new pt(ts,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new pt(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new os((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(an,10,be.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=be.fromBigInt(e);return this._push(an,r.length(),r)}uint64Number(e){return this._push(la,br(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=be.fromBigInt(e).zzEncode();return this._push(an,r.length(),r)}sint64Number(e){let r=be.fromNumber(e).zzEncode();return this._push(an,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(rs,1,e?1:0)}fixed32(e){return this._push(Ar,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=be.fromBigInt(e);return this._push(Ar,4,r.lo)._push(Ar,4,r.hi)}fixed64Number(e){let r=be.fromNumber(e);return this._push(Ar,4,r.lo)._push(Ar,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(da,4,e)}double(e){return this._push(ma,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(rs,1,0):this.uint32(r)._push(Xl,r,e)}string(e){let r=xa(e);return r!==0?this.uint32(r)._push(_o,r,e):this._push(rs,1,0)}fork(){return this.states=new ns(this),this.head=this.tail=new pt(ts,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new pt(ts,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=Yl(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function rs(t,e,r){e[r]=t&255}function Gl(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var os=class extends pt{next;constructor(e,r){super(Gl,e,r),this.next=void 0}};function an(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function Ar(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function Xl(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Br.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(Wl,e,t),this},Br.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(Jl,e,t),this});function Wl(t,e,r){e.set(t,r)}function Jl(t,e,r){t.length<40?_o(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(za(t),r)}function ss(){return new Br}function mt(t,e){let r=ss();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}function*yt(t,e,r){let n=xr(t);yield*e.stream(n,void 0,"$",r)}var cn={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function fn(t,e,r,n,o){return{name:t,type:e,encode:r,decode:n,stream:o}}function Ir(t){function e(s){if(t[s.toString()]==null)throw new Error("Invalid enum value");return t[s]}let r=function(i,a){let f=e(i);a.int32(f)},n=function(i){let a=i.int32();return e(a)},o=function*(i){let a=i.int32();yield e(a)};return fn("enum",cn.VARINT,r,n,o)}function bt(t,e,r){return fn("message",cn.LENGTH_DELIMITED,t,e,r)}var ue;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.secp256k1="secp256k1",t.ECDSA="ECDSA"})(ue||(ue={}));var is;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.secp256k1=2]="secp256k1",t[t.ECDSA=3]="ECDSA"})(is||(is={}));(function(t){t.codec=()=>Ir(is)})(ue||(ue={}));var rt;(function(t){let e;t.codec=()=>(e==null&&(e=bt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ue.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let f={},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{f.Type=ue.codec().decode(s);break}case 2:{f.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ue.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),e);function r(s){return mt(s,t.codec())}t.encode=r;function n(s,i){return dt(s,t.codec(),i)}t.decode=n;function o(s,i){return yt(s,t.codec(),i)}t.stream=o})(rt||(rt={}));var as;(function(t){let e;t.codec=()=>(e==null&&(e=bt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ue.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let f={},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{f.Type=ue.codec().decode(s);break}case 2:{f.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ue.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),e);function r(s){return mt(s,t.codec())}t.encode=r;function n(s,i){return dt(s,t.codec(),i)}t.decode=n;function o(s,i){return yt(s,t.codec(),i)}t.stream=o})(as||(as={}));var Tr={};H(Tr,{MAX_RSA_KEY_SIZE:()=>cs,generateRSAKeyPair:()=>Xa,jwkToJWKKeyPair:()=>Wa,jwkToPkcs1:()=>rh,jwkToPkix:()=>hs,jwkToRSAPrivateKey:()=>ps,pkcs1MessageToJwk:()=>us,pkcs1MessageToRSAPrivateKey:()=>ds,pkcs1ToJwk:()=>th,pkcs1ToRSAPrivateKey:()=>Ya,pkixMessageToJwk:()=>ls,pkixMessageToRSAPublicKey:()=>un,pkixToJwk:()=>nh,pkixToRSAPublicKey:()=>Ga});var Zt=class{type="RSA";jwk;_raw;_multihash;constructor(e,r){this.jwk=e,this._multihash=r}get raw(){return this._raw==null&&(this._raw=Tr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return ce.createV1(114,this._multihash)}toString(){return W.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:pe(this.raw,e.raw)}verify(e,r,n){return Za(this.jwk,r,e,n)}},Lr=class{type="RSA";jwk;_raw;publicKey;constructor(e,r){this.jwk=e,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=Tr.jwkToPkcs1(this.jwk)),this._raw}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:pe(this.raw,e.raw)}sign(e,r){return $a(this.jwk,e,r)}};var cs=8192,fs=18,Ql=1062,eh=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function th(t){let e=Te(t);return us(e)}function us(t){return{n:Z(t[1],"base64url"),e:Z(t[2],"base64url"),d:Z(t[3],"base64url"),p:Z(t[4],"base64url"),q:Z(t[5],"base64url"),dp:Z(t[6],"base64url"),dq:Z(t[7],"base64url"),qi:Z(t[8],"base64url"),kty:"RSA"}}function rh(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new j("JWK was missing components");return He([me(Uint8Array.from([0])),me(ee(t.n,"base64url")),me(ee(t.e,"base64url")),me(ee(t.d,"base64url")),me(ee(t.p,"base64url")),me(ee(t.q,"base64url")),me(ee(t.dp,"base64url")),me(ee(t.dq,"base64url")),me(ee(t.qi,"base64url"))]).subarray()}function nh(t){let e=Te(t,{offset:0});return ls(e)}function ls(t){let e=Te(t[1],{offset:0});return{kty:"RSA",n:Z(e[0],"base64url"),e:Z(e[1],"base64url")}}function hs(t){if(t.n==null||t.e==null)throw new j("JWK was missing components");return He([eh,Kr(He([me(ee(t.n,"base64url")),me(ee(t.e,"base64url"))]))]).subarray()}function Ya(t){let e=Te(t);return ds(e)}function ds(t){let e=us(t);return ps(e)}function Ga(t,e){if(t.byteLength>=Ql)throw new wt("Key size is too large");let r=Te(t,{offset:0});return un(r,t,e)}function un(t,e,r){let n=ls(t);if(r==null){let o=Rt(rt.encode({Type:ue.RSA,Data:e}));r=Be(fs,o)}return new Zt(n,r)}function ps(t){if(Qa(t)>cs)throw new j("Key size is too large");let e=Wa(t),r=Rt(rt.encode({Type:ue.RSA,Data:hs(e.publicKey)})),n=Be(fs,r);return new Lr(e.privateKey,new Zt(e.publicKey,n))}async function Xa(t){if(t>cs)throw new j("Key size is too large");let e=await Ja(t),r=Rt(rt.encode({Type:ue.RSA,Data:hs(e.publicKey)})),n=Be(fs,r);return new Lr(e.privateKey,new Zt(e.publicKey,n))}function Wa(t){if(t==null)throw new j("Missing key parameter");return{privateKey:t,publicKey:{kty:t.kty,n:t.n,e:t.e}}}var ec="1.2.840.113549.1.1.1";async function Ja(t,e){let r=await xe.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);e?.signal?.throwIfAborted();let n=await oh(r,e);return{privateKey:n[0],publicKey:n[1]}}async function $a(t,e,r){let n=await xe.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);r?.signal?.throwIfAborted();let o=await xe.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,Le(e instanceof Uint8Array?e:e.subarray()));return r?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function Za(t,e,r,n){let o=await xe.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let s=await xe.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,Le(e),Le(r instanceof Uint8Array?r:r.subarray()));return n?.signal?.throwIfAborted(),s}async function oh(t,e){if(t.privateKey==null||t.publicKey==null)throw new j("Private and public key are required");let r=await Promise.all([xe.get().subtle.exportKey("jwk",t.privateKey),xe.get().subtle.exportKey("jwk",t.publicKey)]);return e?.signal?.throwIfAborted(),r}function Qa(t){if(t.kty!=="RSA")throw new j("invalid key type");if(t.n==null)throw new j("invalid key modulus");return ee(t.n,"base64url").length*8}var ln=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,r){if(Pr(e),ye(r,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,o=new Uint8Array(n);o.set(r.length>n?e.create().update(r).digest():r);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),Ne(o)}update(e){return _t(this),this.iHash.update(e),this}digestInto(e){_t(this),Mr(e,this),this.finished=!0;let r=e.subarray(0,this.outputLen);this.iHash.digestInto(r),this.oHash.update(r),this.oHash.digestInto(r),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:r,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=i,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},tc=(()=>{let t=((e,r,n)=>new ln(e,r).update(n).digest());return t.create=(e,r)=>new ln(e,r),t})();var rc=(t,e)=>(t+(t>=0?e:-e)/nc)/e;function sh(t,e,r){Ut("scalar",t,Ce,r);let[[n,o],[s,i]]=e,a=rc(i*t,r),f=rc(-o*t,r),c=t-a*n-f*s,u=-a*o-f*i,l=c<Ce,y=u<Ce;l&&(c=-c),y&&(u=-u);let h=hr(Math.ceil(Ot(r)/2))+nt;if(c<Ce||c>=h||u<Ce||u>=h)throw new Error("splitScalar (endomorphism): failed for k");return{k1neg:l,k1:c,k2neg:y,k2:u}}function ys(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function ms(t,e){Se(t);let r={};for(let n of Object.keys(e))r[n]=t[n]===void 0?e[n]:t[n];return we(r.lowS,"lowS"),we(r.prehash,"prehash"),r.format!==void 0&&ys(r.format),r}var bs=class extends Error{constructor(e=""){super(e)}},Ae={Err:bs,_tlv:{encode:(t,e)=>{let{Err:r}=Ae;if(Ee(t,"tag"),t<0||t>255)throw new r("tlv.encode: wrong tag");if(typeof e!="string")throw new TypeError('"data" expected string, got type='+typeof e);if(e.length&1)throw new r("tlv.encode: unpadded data");let n=e.length/2,o=ur(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let s=n>127?ur(o.length/2|128):"";return ur(t)+s+o+e},decode(t,e){let{Err:r}=Ae;e=P(e,void 0,"DER data");let n=0;if(t<0||t>255)throw new r("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new r("tlv.decode: wrong tlv");let o=e[n++],s=!!(o&128),i=0;if(!s)i=o;else{let f=o&127;if(!f)throw new r("tlv.decode(long): indefinite length not supported");if(f>4)throw new r("tlv.decode(long): byte length is too big");let c=e.subarray(n,n+f);if(c.length!==f)throw new r("tlv.decode: length bytes not complete");if(c[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of c)i=i<<8|u;if(n+=f,i<128)throw new r("tlv.decode(long): not minimal encoding")}let a=e.subarray(n,n+i);if(a.length!==i)throw new r("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+i)}}},_int:{encode(t){let{Err:e}=Ae;if(Zr(t),t<Ce)throw new e("integer: negative integers are not allowed");let r=ur(t);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return r},decode(t){let{Err:e}=Ae;if(t.length<1)throw new e("invalid signature integer: empty");if(t[0]&128)throw new e("invalid signature integer: negative");if(t.length>1&&t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return ct(t)}},toSig(t){let{Err:e,_int:r,_tlv:n}=Ae,o=P(t,void 0,"signature"),{v:s,l:i}=n.decode(48,o);if(i.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:f}=n.decode(2,s),{v:c,l:u}=n.decode(2,f);if(u.length)throw new e("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(c)}},hexFromSig(t){let{_tlv:e,_int:r}=Ae,n=e.encode(2,r.encode(t.r)),o=e.encode(2,r.encode(t.s)),s=n+o;return e.encode(48,s)}};Object.freeze(Ae._tlv);Object.freeze(Ae._int);Object.freeze(Ae);var Ce=BigInt(0),nt=BigInt(1),nc=BigInt(2),hn=BigInt(3),ih=BigInt(4);function oc(t,e={}){let r=Wr("weierstrass",t,e),n=r.Fp,o=r.Fn,s=r.CURVE,{h:i,n:a}=s;Se(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:f,allowInfinityPoint:c}=e;if(f&&(!n.is0(s.a)||typeof f.beta!="bigint"||!Array.isArray(f.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=ic(n,o);function l(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function y(N,d,x){if(c&&d.is0())return Uint8Array.of(0);let{x:A,y:E}=d.toAffine(),g=n.toBytes(A);if(we(x,"isCompressed"),x){l();let B=!n.isOdd(E);return te(sc(B),g)}else return te(Uint8Array.of(4),g,n.toBytes(E))}function h(N){P(N,void 0,"Point");let{publicKey:d,publicKeyUncompressed:x}=u,A=N.length,E=N[0],g=N.subarray(1);if(c&&A===1&&E===0)return{x:n.ZERO,y:n.ZERO};if(A===d&&(E===2||E===3)){let B=n.fromBytes(g);if(!n.isValid(B))throw new Error("bad point: is not on curve, wrong x");let _=m(B),D;try{D=n.sqrt(_)}catch(K){let M=K instanceof Error?": "+K.message:"";throw new Error("bad point: is not on curve, sqrt error"+M)}l();let C=n.isOdd(D);return(E&1)===1!==C&&(D=n.neg(D)),{x:B,y:D}}else if(A===x&&E===4){let B=n.BYTES,_=n.fromBytes(g.subarray(0,B)),D=n.fromBytes(g.subarray(B,B*2));if(!b(_,D))throw new Error("bad point: is not on curve");return{x:_,y:D}}else throw new Error(`bad point: got length ${A}, expected compressed=${d} or uncompressed=${x}`)}let p=e.toBytes===void 0?y:e.toBytes,w=e.fromBytes===void 0?h:e.fromBytes;function m(N){let d=n.sqr(N),x=n.mul(d,N);return n.add(n.add(x,n.mul(N,s.a)),s.b)}function b(N,d){let x=n.sqr(d),A=m(N);return n.eql(x,A)}if(!b(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let S=n.mul(n.pow(s.a,hn),ih),v=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(S,v)))throw new Error("bad curve params: a or b");function T(N,d,x=!1){if(!n.isValid(d)||x&&n.is0(d))throw new Error(`bad point coordinate ${N}`);return d}function L(N){if(!(N instanceof I))throw new Error("Weierstrass Point expected")}function F(N){if(!f||!f.basises)throw new Error("no endo");return sh(N,f.basises,o.ORDER)}function R(N,d,x,A,E){return x=new I(n.mul(x.X,N),x.Y,x.Z),d=pr(A,d),x=pr(E,x),d.add(x)}class I{static BASE=new I(s.Gx,s.Gy,n.ONE);static ZERO=new I(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(d,x,A){this.X=T("x",d),this.Y=T("y",x,!0),this.Z=T("z",A),Object.freeze(this)}static CURVE(){return s}static fromAffine(d){let{x,y:A}=d||{};if(!d||!n.isValid(x)||!n.isValid(A))throw new Error("invalid affine point");if(d instanceof I)throw new Error("projective point not allowed");return n.is0(x)&&n.is0(A)?I.ZERO:new I(x,A,n.ONE)}static fromBytes(d){let x=I.fromAffine(w(P(d,void 0,"point")));return x.assertValidity(),x}static fromHex(d){return I.fromBytes(Ft(d))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(d=8,x=!0){return V.createCache(this,d),x||this.multiply(hn),this}assertValidity(){let d=this;if(d.is0()){if(e.allowInfinityPoint&&n.is0(d.X)&&n.eql(d.Y,n.ONE)&&n.is0(d.Z))return;throw new Error("bad point: ZERO")}let{x,y:A}=d.toAffine();if(!n.isValid(x)||!n.isValid(A))throw new Error("bad point: x or y not field elements");if(!b(x,A))throw new Error("bad point: equation left != right");if(!d.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:d}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(d)}equals(d){L(d);let{X:x,Y:A,Z:E}=this,{X:g,Y:B,Z:_}=d,D=n.eql(n.mul(x,_),n.mul(g,E)),C=n.eql(n.mul(A,_),n.mul(B,E));return D&&C}negate(){return new I(this.X,n.neg(this.Y),this.Z)}double(){let{a:d,b:x}=s,A=n.mul(x,hn),{X:E,Y:g,Z:B}=this,_=n.ZERO,D=n.ZERO,C=n.ZERO,U=n.mul(E,E),K=n.mul(g,g),M=n.mul(B,B),k=n.mul(E,g);return k=n.add(k,k),C=n.mul(E,B),C=n.add(C,C),_=n.mul(d,C),D=n.mul(A,M),D=n.add(_,D),_=n.sub(K,D),D=n.add(K,D),D=n.mul(_,D),_=n.mul(k,_),C=n.mul(A,C),M=n.mul(d,M),k=n.sub(U,M),k=n.mul(d,k),k=n.add(k,C),C=n.add(U,U),U=n.add(C,U),U=n.add(U,M),U=n.mul(U,k),D=n.add(D,U),M=n.mul(g,B),M=n.add(M,M),U=n.mul(M,k),_=n.sub(_,U),C=n.mul(M,K),C=n.add(C,C),C=n.add(C,C),new I(_,D,C)}add(d){L(d);let{X:x,Y:A,Z:E}=this,{X:g,Y:B,Z:_}=d,D=n.ZERO,C=n.ZERO,U=n.ZERO,K=s.a,M=n.mul(s.b,hn),k=n.mul(x,g),Q=n.mul(A,B),re=n.mul(E,_),ne=n.add(x,A),X=n.add(g,B);ne=n.mul(ne,X),X=n.add(k,Q),ne=n.sub(ne,X),X=n.add(x,E);let de=n.add(g,_);return X=n.mul(X,de),de=n.add(k,re),X=n.sub(X,de),de=n.add(A,E),D=n.add(B,_),de=n.mul(de,D),D=n.add(Q,re),de=n.sub(de,D),U=n.mul(K,X),D=n.mul(M,re),U=n.add(D,U),D=n.sub(Q,U),U=n.add(Q,U),C=n.mul(D,U),Q=n.add(k,k),Q=n.add(Q,k),re=n.mul(K,re),X=n.mul(M,X),Q=n.add(Q,re),re=n.sub(k,re),re=n.mul(K,re),X=n.add(X,re),k=n.mul(Q,X),C=n.add(C,k),k=n.mul(de,X),D=n.mul(ne,D),D=n.sub(D,k),k=n.mul(ne,Q),U=n.mul(de,U),U=n.add(U,k),new I(D,C,U)}subtract(d){return L(d),this.add(d.negate())}is0(){return this.equals(I.ZERO)}multiply(d){let{endo:x}=e;if(!o.isValidNot0(d))throw new RangeError("invalid scalar: out of range");let A,E,g=B=>V.cached(this,B,_=>lt(I,_));if(x){let{k1neg:B,k1:_,k2neg:D,k2:C}=F(d),{p:U,f:K}=g(_),{p:M,f:k}=g(C);E=K.add(k),A=R(x.beta,U,M,B,D)}else{let{p:B,f:_}=g(d);A=B,E=_}return lt(I,[A,E])[0]}multiplyUnsafe(d){let{endo:x}=e,A=this,E=d;if(!o.isValid(E))throw new RangeError("invalid scalar: out of range");if(E===Ce||A.is0())return I.ZERO;if(E===nt)return A;if(V.hasCache(this))return this.multiply(E);if(x){let{k1neg:g,k1:B,k2neg:_,k2:D}=F(E),{p1:C,p2:U}=Yi(I,A,B,D);return R(x.beta,C,U,g,_)}else return V.unsafe(A,E)}toAffine(d){let x=this,A=d,{X:E,Y:g,Z:B}=x;if(n.eql(B,n.ONE))return{x:E,y:g};let _=x.is0();A==null&&(A=_?n.ONE:n.inv(B));let D=n.mul(E,A),C=n.mul(g,A),U=n.mul(B,A);if(_)return{x:n.ZERO,y:n.ZERO};if(!n.eql(U,n.ONE))throw new Error("invZ was invalid");return{x:D,y:C}}isTorsionFree(){let{isTorsionFree:d}=e;return i===nt?!0:d?d(I,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:d}=e;return i===nt?this:d?d(I,this):this.multiplyUnsafe(i)}isSmallOrder(){return i===nt?this.is0():this.clearCofactor().is0()}toBytes(d=!0){return we(d,"isCompressed"),this.assertValidity(),p(I,this,d)}toHex(d=!0){return Ct(this.toBytes(d))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let O=o.BITS,V=new Kt(I,e.endo?Math.ceil(O/2):O);return O>=8&&I.BASE.precompute(8),Object.freeze(I.prototype),Object.freeze(I),I}function sc(t){return Uint8Array.of(t?2:3)}function ic(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function ah(t,e={}){let{Fn:r}=t,n=e.randomBytes===void 0?fr:e.randomBytes,o=Object.assign(ic(t.Fp,r),{seed:Math.max(po(r.ORDER),16)});function s(h){try{let p=r.fromBytes(h);return r.isValidNot0(p)}catch{return!1}}function i(h,p){let{publicKey:w,publicKeyUncompressed:m}=o;try{let b=h.length;return p===!0&&b!==w||p===!1&&b!==m?!1:!!t.fromBytes(h)}catch{return!1}}function a(h){return h=h===void 0?n(o.seed):h,mo(P(h,o.seed,"seed"),r.ORDER)}function f(h,p=!0){return t.BASE.multiply(r.fromBytes(h)).toBytes(p)}function c(h){let{secretKey:p,publicKey:w,publicKeyUncompressed:m}=o,b=r._lengths;if(!at(h))return;let S=P(h,void 0,"key").length,v=S===w||S===m,T=S===p||!!b?.includes(S);if(!(v&&T))return v}function u(h,p,w=!0){if(c(h)===!0)throw new Error("first arg must be private key");if(c(p)===!1)throw new Error("second arg must be public key");let m=r.fromBytes(h);return t.fromBytes(p).multiply(m).toBytes(w)}let l={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a},y=Jr(a,f);return Object.freeze(l),Object.freeze(o),Object.freeze({getPublicKey:f,getSharedSecret:u,keygen:y,Point:t,utils:l,lengths:o})}function ac(t,e,r={}){let n=e;Pr(n),Se(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let o=r.randomBytes===void 0?fr:r.randomBytes,s=r.hmac===void 0?(E,g)=>tc(n,E,g):r.hmac,{Fp:i,Fn:a}=t,{ORDER:f,BITS:c}=a,{keygen:u,getPublicKey:l,getSharedSecret:y,utils:h,lengths:p}=ah(t,r),w={prehash:!0,lowS:typeof r.lowS=="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},m=f*nc+nt<i.ORDER;function b(E){let g=f>>nt;return E>g}function S(E,g){if(!a.isValidNot0(g))throw new Error(`invalid signature ${E}: out of range 1..Point.Fn.ORDER`);return g}function v(){if(m)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function T(E,g){ys(g);let B=p.signature,_=g==="compact"?B:g==="recovered"?B+1:void 0;return P(E,_)}class L{r;s;recovery;constructor(g,B,_){if(this.r=S("r",g),this.s=S("s",B),_!=null){if(v(),![0,1,2,3].includes(_))throw new Error("invalid recovery id");this.recovery=_}Object.freeze(this)}static fromBytes(g,B=w.format){T(g,B);let _;if(B==="der"){let{r:K,s:M}=Ae.toSig(P(g));return new L(K,M)}B==="recovered"&&(_=g[0],B="compact",g=g.subarray(1));let D=p.signature/2,C=g.subarray(0,D),U=g.subarray(D,D*2);return new L(a.fromBytes(C),a.fromBytes(U),_)}static fromHex(g,B){return this.fromBytes(Ft(g),B)}assertRecovery(){let{recovery:g}=this;if(g==null)throw new Error("invalid recovery id: must be present");return g}addRecoveryBit(g){return new L(this.r,this.s,g)}recoverPublicKey(g){let{r:B,s:_}=this,D=this.assertRecovery(),C=D===2||D===3?B+f:B;if(!i.isValid(C))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let U=i.toBytes(C),K=t.fromBytes(te(sc((D&1)===0),U)),M=a.inv(C),k=R(P(g,void 0,"msgHash")),Q=a.create(-k*M),re=a.create(_*M),ne=t.BASE.multiplyUnsafe(Q).add(K.multiplyUnsafe(re));if(ne.is0())throw new Error("invalid recovery: point at infinify");return ne.assertValidity(),ne}hasHighS(){return b(this.s)}toBytes(g=w.format){if(ys(g),g==="der")return Ft(Ae.hexFromSig(this));let{r:B,s:_}=this,D=a.toBytes(B),C=a.toBytes(_);return g==="recovered"?(v(),te(Uint8Array.of(this.assertRecovery()),D,C)):te(D,C)}toHex(g){return Ct(this.toBytes(g))}}Object.freeze(L.prototype),Object.freeze(L);let F=r.bits2int===void 0?function(g){if(g.length>8192)throw new Error("input is too large");let B=ct(g),_=g.length*8-c;return _>0?B>>BigInt(_):B}:r.bits2int,R=r.bits2int_modN===void 0?function(g){return a.create(F(g))}:r.bits2int_modN,I=hr(c);function O(E){return Ut("num < 2^"+c,E,Ce,I),a.toBytes(E)}function V(E,g){return P(E,void 0,"message"),g?P(n(E),void 0,"prehashed message"):E}function N(E,g,B){let{lowS:_,prehash:D,extraEntropy:C}=ms(B,w);E=V(E,D);let U=R(E),K=a.fromBytes(g);if(!a.isValidNot0(K))throw new Error("invalid private key");let M=[O(K),O(U)];if(C!=null&&C!==!1){let ne=C===!0?o(p.secretKey):C;M.push(P(ne,void 0,"extraEntropy"))}let k=te(...M),Q=U;function re(ne){let X=F(ne);if(!a.isValidNot0(X))return;let de=a.inv(X),gt=t.BASE.multiply(X).toAffine(),Gt=a.create(gt.x);if(Gt===Ce)return;let Cr=a.create(de*a.create(Q+Gt*K));if(Cr===Ce)return;let Us=(gt.x===Gt?0:2)|Number(gt.y&nt),Os=Cr;return _&&b(Cr)&&(Os=a.neg(Cr),Us^=1),new L(Gt,Os,m?void 0:Us)}return{seed:k,k2sig:re}}function d(E,g,B={}){let{seed:_,k2sig:D}=N(E,g,B);return Ri(n.outputLen,a.BYTES,s)(_,D).toBytes(B.format)}function x(E,g,B,_={}){let{lowS:D,prehash:C,format:U}=ms(_,w);if(B=P(B,void 0,"publicKey"),g=V(g,C),!at(E)){let K=E instanceof L?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+K)}T(E,U);try{let K=L.fromBytes(E,U),M=t.fromBytes(B);if(D&&K.hasHighS())return!1;let{r:k,s:Q}=K,re=R(g),ne=a.inv(Q),X=a.create(re*ne),de=a.create(k*ne),gt=t.BASE.multiplyUnsafe(X).add(M.multiplyUnsafe(de));return gt.is0()?!1:a.create(gt.x)===k}catch{return!1}}function A(E,g,B={}){let{prehash:_}=ms(B,w);return g=V(g,_),L.fromBytes(E,"recovered").recoverPublicKey(g).toBytes()}return Object.freeze({keygen:u,getPublicKey:l,getSharedSecret:y,utils:h,lengths:p,Point:t,sign:d,verify:x,recoverPublicKey:A,Signature:L,hash:n})}var gs={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},ch={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var cc=BigInt(2);function fh(t){let e=gs.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),f=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=z(u,r,e)*u%e,y=z(l,r,e)*u%e,h=z(y,cc,e)*c%e,p=z(h,o,e)*h%e,w=z(p,s,e)*p%e,m=z(w,a,e)*w%e,b=z(m,f,e)*m%e,S=z(b,a,e)*w%e,v=z(S,r,e)*u%e,T=z(v,i,e)*p%e,L=z(T,n,e)*c%e,F=z(L,cc,e);if(!xs.eql(xs.sqr(F),t))throw new Error("Cannot find square root");return F}var xs=Nt(gs.p,{sqrt:fh}),uh=oc(gs,{Fp:xs,endo:ch}),Yt=ac(uh,Rt);var fc=33;function uc(t,e,r,n){let o=Nr.digest(r instanceof Uint8Array?r:r.subarray());if(tn(o))return o.then(({digest:s})=>(n?.signal?.throwIfAborted(),Yt.verify(e,s,t,{prehash:!1,format:"der"}))).catch(s=>{throw s.name==="AbortError"?s:new yr(String(s))});try{return n?.signal?.throwIfAborted(),Yt.verify(e,o.digest,t,{prehash:!1,format:"der"})}catch(s){throw new yr(String(s))}}var dn=class{type="secp256k1";raw;_key;constructor(e){this._key=hc(e),this.raw=lc(this._key)}toMultihash(){return Ie.digest(Dt(this))}toCID(){return ce.createV1(114,this.toMultihash())}toString(){return W.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:pe(this.raw,e.raw)}verify(e,r,n){return uc(this._key,r,e,n)}};function dc(t){return new dn(t)}function lc(t){return Yt.Point.fromBytes(t).toBytes()}function hc(t){try{return Yt.Point.fromBytes(t),t}catch(e){throw new wt(String(e))}}function pc(t){if(t.byteLength===Mt)return ia(t);if(t.byteLength===fc)return dc(t);let e=Te(t),r=e[1]?.[0];if(r===Js||r===Qs||r===ei)return di(e);if(e[0]?.[0]===ec)return un(e,t);throw new j("Could not extract public key from raw bytes")}function Dt(t){return rt.encode({Type:ue[t.type],Data:t.raw})}var mc=Symbol.for("nodejs.util.inspect.custom"),lh=114,Dr=class{type;multihash;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[wn]=!0;toString(){return this.string==null&&(this.string=W.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return ce.createV1(lh,this.multihash)}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return pe(this.multihash.bytes,e);if(typeof e=="string")return this.toString()===e;if(e?.toMultihash()?.bytes!=null)return pe(this.multihash.bytes,e.toMultihash().bytes);throw new Error("not valid Id")}[mc](){return`PeerId(${this.toString()})`}},pn=class extends Dr{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},mn=class extends Dr{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.publicKey}},yn=class extends Dr{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.publicKey}},hh=2336,ws=class{type="url";multihash;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=Ie.digest(ee(this.url))}[mc](){return`PeerId(${this.url})`}[wn]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return ce.createV1(hh,this.toMultihash())}toJSON(){return this.toString()}equals(e){return e==null?!1:(e instanceof Uint8Array&&(e=Z(e)),e.toString()===this.toString())}};function yc(t){if(t.type==="Ed25519")return new mn({multihash:t.toCID().multihash,publicKey:t});if(t.type==="secp256k1")return new yn({multihash:t.toCID().multihash,publicKey:t});if(t.type==="RSA")return new pn({multihash:t.toCID().multihash,publicKey:t});throw new Wt}var Es=class t extends Error{name="TimeoutError";constructor(e,r){super(e,r),Error.captureStackTrace?.(this,t)}},bc=t=>t.reason??new DOMException("This operation was aborted.","AbortError");function Ss(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=e,a,f,u=new Promise((l,y)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(i?.aborted){y(bc(i));return}if(i&&(f=()=>{y(bc(i))},i.addEventListener("abort",f,{once:!0})),t.then(l,y),r===Number.POSITIVE_INFINITY)return;let h=new Es;a=s.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(p){y(p)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?l():o instanceof Error?y(o):(h.message=o??`Promise timed out after ${r} milliseconds`,y(h))},r)}).finally(()=>{u.clear(),f&&i&&i.removeEventListener("abort",f)});return u.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},u}var dh=t=>{let e=t.addEventListener||t.on||t.addListener,r=t.removeEventListener||t.off||t.removeListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function ph(t,e,r){let n,o=new Promise((s,i)=>{if(r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),f=[],{addListener:c,removeListener:u}=dh(t),l=async(...h)=>{let p=r.multiArgs?h:h[0];if(r.filter)try{if(!await r.filter(p))return}catch(w){n(),i(w);return}f.push(p),r.count===f.length&&(n(),s(f))},y=(...h)=>{n(),i(r.rejectionMultiArgs?h:h[0])};n=()=>{for(let h of a)u(h,l);for(let h of r.rejectionEvents)a.includes(h)||u(h,y)};for(let h of a)c(h,l);for(let h of r.rejectionEvents)a.includes(h)||c(h,y);r.signal&&r.signal.addEventListener("abort",()=>{y(r.signal.reason)},{once:!0}),r.resolveImmediately&&s(f)});if(o.cancel=n,typeof r.timeout=="number"){let s=Ss(o,{milliseconds:r.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function xc(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=ph(t,e,r),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}var xt=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function mh(t){return t.reason}async function vs(t,e,r){if(e==null)return t;let n=r?.translateError??mh;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([t,new Promise((s,i)=>{o=()=>{i(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}function gc(t=0){return new Uint8Array(t)}var yh=Math.pow(2,7),bh=Math.pow(2,14),xh=Math.pow(2,21),As=Math.pow(2,28),Bs=Math.pow(2,35),Is=Math.pow(2,42),Ls=Math.pow(2,49),q=128,le=127;function _r(t){if(t<yh)return 1;if(t<bh)return 2;if(t<xh)return 3;if(t<As)return 4;if(t<Bs)return 5;if(t<Is)return 6;if(t<Ls)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function gh(t,e,r=0){switch(_r(t)){case 8:e[r++]=t&255|q,t/=128;case 7:e[r++]=t&255|q,t/=128;case 6:e[r++]=t&255|q,t/=128;case 5:e[r++]=t&255|q,t/=128;case 4:e[r++]=t&255|q,t>>>=7;case 3:e[r++]=t&255|q,t>>>=7;case 2:e[r++]=t&255|q,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function wh(t,e,r=0){switch(_r(t)){case 8:e.set(r++,t&255|q),t/=128;case 7:e.set(r++,t&255|q),t/=128;case 6:e.set(r++,t&255|q),t/=128;case 5:e.set(r++,t&255|q),t/=128;case 4:e.set(r++,t&255|q),t>>>=7;case 3:e.set(r++,t&255|q),t>>>=7;case 2:e.set(r++,t&255|q),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Eh(t,e){let r=t[e],n=0;if(n+=r&le,r<q||(r=t[e+1],n+=(r&le)<<7,r<q)||(r=t[e+2],n+=(r&le)<<14,r<q)||(r=t[e+3],n+=(r&le)<<21,r<q)||(r=t[e+4],n+=(r&le)*As,r<q)||(r=t[e+5],n+=(r&le)*Bs,r<q)||(r=t[e+6],n+=(r&le)*Is,r<q)||(r=t[e+7],n+=(r&le)*Ls,r<q))return n;throw new RangeError("Could not decode varint")}function Sh(t,e){let r=t.get(e),n=0;if(n+=r&le,r<q||(r=t.get(e+1),n+=(r&le)<<7,r<q)||(r=t.get(e+2),n+=(r&le)<<14,r<q)||(r=t.get(e+3),n+=(r&le)<<21,r<q)||(r=t.get(e+4),n+=(r&le)*As,r<q)||(r=t.get(e+5),n+=(r&le)*Bs,r<q)||(r=t.get(e+6),n+=(r&le)*Is,r<q)||(r=t.get(e+7),n+=(r&le)*Ls,r<q))return n;throw new RangeError("Could not decode varint")}function wc(t,e,r=0){return e==null&&(e=gc(_r(t))),e instanceof Uint8Array?gh(t,e,r):wh(t,e,r)}function Ec(t,e=0){return t instanceof Uint8Array?Eh(t,e):Sh(t,e)}var Bh=4194304,bn=class extends Error{static name="UnwrappedError";name="UnwrappedError"},Ds=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},_s=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Rs=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Ih(t){return typeof t?.closeRead=="function"}function Lh(t){return typeof t?.close=="function"}function Ts(t){return Ih(t)?t.remoteWriteStatus!=="writable"&&t.readBufferLength===0:Lh(t)?t.status!=="open":!1}function Th(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function Dh(t,e){let r=e?.maxBufferSize??Bh,n=new oe,o,s=!1;if(!Th(t))throw new j("Argument should be a Stream or a Multiaddr");let i=u=>{if(n.append(u.data),n.byteLength>r){let l=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${l} > ${r}`))}o?.resolve()};t.addEventListener("message",i);let a=u=>{u.error!=null?o?.reject(u.error):o?.resolve()};t.addEventListener("close",a);let f=()=>{o?.resolve()};t.addEventListener("remoteCloseWrite",f);let c={readBuffer:n,async read(u){if(s===!0)throw new bn("Stream was unwrapped");if(Ts(t)){if(n.byteLength===0&&u?.bytes==null)return null;if(u?.bytes!=null&&n.byteLength<u.bytes)throw t.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new xt(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let l=u?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=l){o.resolve();break}if(await vs(o.promise,u?.signal),Ts(t)){if(n.byteLength===0&&u?.bytes==null)return null;break}o=Promise.withResolvers()}let y=u?.bytes??n.byteLength;if(n.byteLength<y){if(Ts(t))throw t.log.error("closed while reading %d/%d bytes",n.byteLength,y),new xt(`Unexpected EOF - stream closed while reading ${n.byteLength}/${y} bytes`);return c.read(u)}let h=n.sublist(0,y);return n.consume(y),h},async write(u,l){if(s===!0)throw new bn("Stream was unwrapped");t.send(u)||await xc(t,"drain",{signal:l?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,t.removeEventListener("message",i),t.removeEventListener("close",a),t.removeEventListener("remoteCloseWrite",f),n.byteLength>0&&(t.log("stream unwrapped with %d unread bytes",n.byteLength),t.unshift(n))),t}};return c}function _h(t,e={}){let r=Dh(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=_r(e.maxDataLength));let n=e?.lengthDecoder??Ec,o=e?.lengthEncoder??wc;return{async read(i){let a=-1,f=new oe;for(;;){let u=await r.read({...i,bytes:1});if(u==null)break;f.append(u);try{a=n(f)}catch(l){if(l instanceof RangeError)continue;throw l}if(a<0)throw new Ds("Invalid message length");if(e?.maxLengthLength!=null&&f.byteLength>e.maxLengthLength)throw new Rs(`Message length length too long - ${f.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new _s(`Message length too long - ${a} > ${e.maxDataLength}`);let c=await r.read({...i,bytes:a});if(c==null)throw t.log.error("tried to read %d bytes but the stream closed",a),new xt(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(c.byteLength!==a)throw t.log.error("read %d/%d bytes before the stream closed",c.byteLength,a),new xt(`Unexpected EOF - read ${c.byteLength}/${a} bytes before the stream closed`);return c},async write(i,a){await r.write(new oe(o(i.byteLength),i),a)},async writeV(i,a){let f=new oe(...i.flatMap(c=>[o(c.byteLength),c]));await r.write(f,a)},unwrap(){return r.unwrap()}}}function Sc(t,e){let r=_h(t,e),n={read:async(o,s)=>{let i=await r.read(s);return o.decode(i)},write:async(o,s,i)=>{await r.write(s.encode(o),i)},writeV:async(o,s,i)=>{await r.writeV(o.map(a=>s.encode(a)),i)},pb:o=>({read:async s=>n.read(o,s),write:async(s,i)=>n.write(s,o,i),writeV:async(s,i)=>n.writeV(s,o,i),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var xn;(function(t){let e;t.codec=()=>(e==null&&(e=bt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.id!=null&&(i.uint32(10),i.bytes(s.id)),s.pubkey!=null&&(i.uint32(18),Rr.codec().encode(s.pubkey,i)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let f={},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{f.id=s.bytes();break}case 2:{f.pubkey=Rr.codec().decode(s,s.uint32(),{limits:a.limits?.pubkey});break}default:{s.skipType(u&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.id`,value:s.bytes()};break}case 2:{yield*Rr.codec().stream(s,s.uint32(),`${a}.pubkey`,{limits:f.limits?.pubkey});break}default:{s.skipType(u&7);break}}}})),e);function r(s){return mt(s,t.codec())}t.encode=r;function n(s,i){return dt(s,t.codec(),i)}t.decode=n;function o(s,i){return yt(s,t.codec(),i)}t.stream=o})(xn||(xn={}));var qe;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.secp256k1="secp256k1",t.ECDSA="ECDSA"})(qe||(qe={}));var Cs;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.secp256k1=2]="secp256k1",t[t.ECDSA=3]="ECDSA"})(Cs||(Cs={}));(function(t){t.codec=()=>Ir(Cs)})(qe||(qe={}));var Rr;(function(t){let e;t.codec=()=>(e==null&&(e=bt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),qe.codec().encode(s.Type,i)),s.Data!=null&&s.Data.byteLength>0&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let f={Data:fi(0)},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{f.Type=qe.codec().decode(s);break}case 2:{f.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:qe.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),e);function r(s){return mt(s,t.codec())}t.encode=r;function n(s,i){return dt(s,t.codec(),i)}t.decode=n;function o(s,i){return yt(s,t.codec(),i)}t.stream=o})(Rr||(Rr={}));var Rh="/plaintext/2.0.0",Fs=class{protocol=Rh;privateKey;log;constructor(e){this.privateKey=e.privateKey,this.log=e.logger.forComponent("libp2p:plaintext")}[Symbol.toStringTag]="@libp2p/plaintext";[Ns]=["@libp2p/connection-encryption"];async secureInbound(e,r){return this._encrypt(e,r)}async secureOutbound(e,r){return this._encrypt(e,r)}async _encrypt(e,r){let n=e.log?.newScope("plaintext")??this.log,o=Sc(e).pb(xn);n("write pubkey exchange to peer %p",r?.remotePeer);let s=this.privateKey.publicKey;await o.write({id:s.toMultihash().bytes,pubkey:{Type:qe[s.type],Data:s.raw}},r);let i=await o.read(r),a;try{if(i.pubkey==null)throw new Et("Public key missing");if(i.pubkey.Data.byteLength===0)throw new Et("Public key data too short");if(i.id==null)throw new Et("Remote id missing");let f=pc(i.pubkey.Data);if(a=yc(f),!pe(a.toMultihash().bytes,i.id))throw new Xt("Public key did not match id")}catch(f){throw n.error("invalid public key - %e",f),new Xt(`Invalid public key - ${f.message}`)}if(r?.remotePeer!=null&&!a.equals(r?.remotePeer))throw new Fr;return n("plaintext key exchange completed successfully with peer %p",a),{connection:o.unwrap().unwrap(),remotePeer:a}}};function Ch(){return t=>new Fs(t)}return Lc(Fh);})();
|
|
3
3
|
/*! Bundled license information:
|
|
4
4
|
|
|
5
5
|
@noble/curves/utils.js:
|