@libp2p/peer-store 11.0.11 → 11.0.12-4a85eb033
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.min.js +3 -3
- package/package.json +6 -6
- package/dist/typedoc-urls.json +0 -10
package/dist/index.min.js
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPeerStore = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
2
|
-
"use strict";var Libp2PPeerStore=(()=>{var Hl=Object.create;var Qr=Object.defineProperty;var Fl=Object.getOwnPropertyDescriptor;var Kl=Object.getOwnPropertyNames;var ql=Object.getPrototypeOf,$l=Object.prototype.hasOwnProperty;var Mo=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),xt=(r,t)=>{for(var e in t)Qr(r,e,{get:t[e],enumerable:!0})},Ho=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Kl(t))!$l.call(r,s)&&s!==e&&Qr(r,s,{get:()=>t[s],enumerable:!(n=Fl(t,s))||n.enumerable});return r};var Fo=(r,t,e)=>(e=r!=null?Hl(ql(r)):{},Ho(t||!r||!r.__esModule?Qr(e,"default",{value:r,enumerable:!0}):e,r)),zl=r=>Ho(Qr({},"__esModule",{value:!0}),r);var Ha=Mo(rr=>{"use strict";var gh="[object ArrayBuffer]",re=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===gh}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),s=r.toUint8Array(e);if(n.length!==s.byteLength)return!1;for(let i=0;i<n.length;i++)if(n[i]!==s[i])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let o of e)n+=o.byteLength;let s=new Uint8Array(n),i=0;for(let o of e){let a=this.toUint8Array(o);s.set(a,i),i+=a.length}return t[t.length-1]instanceof Function?this.toView(s,t[t.length-1]):s.buffer}},Fi="string",yh=/^[0-9a-f]+$/i,bh=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,wh=/^[a-zA-Z0-9-_]+$/,vn=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);return n.buffer}static toString(t){let e=re.toUint8Array(t),n="";for(let i=0;i<e.length;i++)n+=String.fromCharCode(e[i]);return decodeURIComponent(escape(n))}},_t=class{static toString(t,e=!1){let n=re.toArrayBuffer(t),s=new DataView(n),i="";for(let o=0;o<n.byteLength;o+=2){let a=s.getUint16(o,e);i+=String.fromCharCode(a)}return i}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),s=new DataView(n);for(let i=0;i<t.length;i++)s.setUint16(i*2,t.charCodeAt(i),e);return n}},En=class r{static isHex(t){return typeof t===Fi&&yh.test(t)}static isBase64(t){return typeof t===Fi&&bh.test(t)}static isBase64Url(t){return typeof t===Fi&&wh.test(t)}static ToString(t,e="utf8"){let n=re.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return _t.toString(n,!0);case"utf16":case"utf16be":return _t.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return _t.fromString(t,!0);case"utf16":case"utf16be":return _t.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=re.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return vn.fromString(t);case"utf16":case"utf16be":return _t.fromString(t);case"utf16le":case"usc2":return _t.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return vn.toString(t);case"utf16":case"utf16be":return _t.toString(t);case"utf16le":case"usc2":return _t.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);return n.buffer}static ToBinary(t){let e=re.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=re.toUint8Array(t),n="",s=e.length;for(let i=0;i<s;i++){let o=e[i];o<16&&(n+="0"),n+=o.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let s=0;s<e.length;s=s+2){let i=e.slice(s,s+2);n[s/2]=parseInt(i,16)}return n.buffer}static ToUtf16String(t,e=!1){return _t.toString(t,e)}static FromUtf16String(t,e=!1){return _t.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};En.DEFAULT_UTF8_ENCODING="utf8";function xh(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let s=arguments[n];for(let i in s)e[i]=s[i]}return e}function vh(...r){let t=r.map(s=>s.byteLength).reduce((s,i)=>s+i),e=new Uint8Array(t),n=0;return r.map(s=>new Uint8Array(s)).forEach(s=>{for(let i of s)e[n++]=i}),e.buffer}function Eh(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<r.byteLength;s++)if(e[s]!==n[s])return!1;return!0}rr.BufferSourceConverter=re;rr.Convert=En;rr.assign=xh;rr.combine=vh;rr.isEqual=Eh});var xl=Mo((Hb,yo)=>{"use strict";var hd=Object.prototype.hasOwnProperty,kt="~";function jr(){}Object.create&&(jr.prototype=Object.create(null),new jr().__proto__||(kt=!1));function dd(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function wl(r,t,e,n,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var i=new dd(e,n||r,s),o=kt?kt+t:t;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],i]:r._events[o].push(i):(r._events[o]=i,r._eventsCount++),r}function As(r,t){--r._eventsCount===0?r._events=new jr:delete r._events[t]}function bt(){this._events=new jr,this._eventsCount=0}bt.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)hd.call(e,n)&&t.push(kt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};bt.prototype.listeners=function(t){var e=kt?kt+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var s=0,i=n.length,o=new Array(i);s<i;s++)o[s]=n[s].fn;return o};bt.prototype.listenerCount=function(t){var e=kt?kt+t:t,n=this._events[e];return n?n.fn?1:n.length:0};bt.prototype.emit=function(t,e,n,s,i,o){var a=kt?kt+t:t;if(!this._events[a])return!1;var c=this._events[a],f=arguments.length,l,u;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),f){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,s),!0;case 5:return c.fn.call(c.context,e,n,s,i),!0;case 6:return c.fn.call(c.context,e,n,s,i,o),!0}for(u=1,l=new Array(f-1);u<f;u++)l[u-1]=arguments[u];c.fn.apply(c.context,l)}else{var h=c.length,g;for(u=0;u<h;u++)switch(c[u].once&&this.removeListener(t,c[u].fn,void 0,!0),f){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,e);break;case 3:c[u].fn.call(c[u].context,e,n);break;case 4:c[u].fn.call(c[u].context,e,n,s);break;default:if(!l)for(g=1,l=new Array(f-1);g<f;g++)l[g-1]=arguments[g];c[u].fn.apply(c[u].context,l)}}return!0};bt.prototype.on=function(t,e,n){return wl(this,t,e,n,!1)};bt.prototype.once=function(t,e,n){return wl(this,t,e,n,!0)};bt.prototype.removeListener=function(t,e,n,s){var i=kt?kt+t:t;if(!this._events[i])return this;if(!e)return As(this,i),this;var o=this._events[i];if(o.fn)o.fn===e&&(!s||o.once)&&(!n||o.context===n)&&As(this,i);else{for(var a=0,c=[],f=o.length;a<f;a++)(o[a].fn!==e||s&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[i]=c.length===1?c[0]:c:As(this,i)}return this};bt.prototype.removeAllListeners=function(t){var e;return t?(e=kt?kt+t:t,this._events[e]&&As(this,e)):(this._events=new jr,this._eventsCount=0),this};bt.prototype.off=bt.prototype.removeListener;bt.prototype.addListener=bt.prototype.on;bt.prefixed=kt;bt.EventEmitter=bt;typeof yo<"u"&&(yo.exports=bt)});var Ed={};xt(Ed,{persistentPeerStore:()=>vd});var tn=Symbol.for("@libp2p/peer-id");function Ko(r){return!!r?.[tn]}var K=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},$e=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var en=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},rn=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var Te=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Ps={};xt(Ps,{base58btc:()=>J,base58flickr:()=>Jl});var Sd=new Uint8Array(0);function qo(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Yt(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function $o(r){return new TextEncoder().encode(r)}function zo(r){return new TextDecoder().decode(r)}function Gl(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var s=0;s<r.length;s++){var i=r.charAt(s),o=i.charCodeAt(0);if(e[o]!==255)throw new TypeError(i+" is ambiguous");e[o]=s}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function u(x){if(x instanceof Uint8Array||(ArrayBuffer.isView(x)?x=new Uint8Array(x.buffer,x.byteOffset,x.byteLength):Array.isArray(x)&&(x=Uint8Array.from(x))),!(x instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(x.length===0)return"";for(var b=0,d=0,w=0,B=x.length;w!==B&&x[w]===0;)w++,b++;for(var m=(B-w)*l+1>>>0,k=new Uint8Array(m);w!==B;){for(var U=x[w],L=0,S=m-1;(U!==0||L<d)&&S!==-1;S--,L++)U+=256*k[S]>>>0,k[S]=U%a>>>0,U=U/a>>>0;if(U!==0)throw new Error("Non-zero carry");d=L,w++}for(var I=m-d;I!==m&&k[I]===0;)I++;for(var N=c.repeat(b);I<m;++I)N+=r.charAt(k[I]);return N}function h(x){if(typeof x!="string")throw new TypeError("Expected String");if(x.length===0)return new Uint8Array;var b=0;if(x[b]!==" "){for(var d=0,w=0;x[b]===c;)d++,b++;for(var B=(x.length-b)*f+1>>>0,m=new Uint8Array(B);x[b];){var k=e[x.charCodeAt(b)];if(k===255)return;for(var U=0,L=B-1;(k!==0||U<w)&&L!==-1;L--,U++)k+=a*m[L]>>>0,m[L]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");w=U,b++}if(x[b]!==" "){for(var S=B-w;S!==B&&m[S]===0;)S++;for(var I=new Uint8Array(d+(B-S)),N=d;S!==B;)I[N++]=m[S++];return I}}}function g(x){var b=h(x);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:h,decode:g}}var Wl=Gl,Zl=Wl,Wo=Zl;var _s=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Vs=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let s=e.codePointAt(0);if(s===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s,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 Zo(this,t)}},Os=class{decoders;constructor(t){this.decoders=t}or(t){return Zo(this,t)}decode(t){let e=t[0],n=this.decoders[e];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 Zo(r,t){return new Os({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Ds=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new _s(t,e,n),this.decoder=new Vs(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ze({name:r,prefix:t,encode:e,decode:n}){return new Ds(r,t,e,n)}function he({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=Wo(e,r);return ze({prefix:t,name:r,encode:n,decode:i=>Yt(s(i))})}function jl(r,t,e,n){let s={};for(let l=0;l<t.length;++l)s[t[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let o=new Uint8Array(i*e/8|0),a=0,c=0,f=0;for(let l=0;l<i;++l){let u=s[r[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|u,a+=e,a>=8&&(a-=8,o[f++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o}function Yl(r,t,e){let n=t[t.length-1]==="=",s=(1<<e)-1,i="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,i+=t[s&a>>o];if(o!==0&&(i+=t[s&a<<e-o]),n)for(;i.length*e&7;)i+="=";return i}function Q({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return ze({prefix:t,name:r,encode(s){return Yl(s,n,e)},decode(s){return jl(s,n,e,r)}})}var J=he({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Jl=he({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ms={};xt(Ms,{base32:()=>Vt,base32hex:()=>eu,base32hexpad:()=>nu,base32hexpadupper:()=>su,base32hexupper:()=>ru,base32pad:()=>Ql,base32padupper:()=>tu,base32upper:()=>Xl,base32z:()=>iu});var Vt=Q({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xl=Q({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Ql=Q({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),tu=Q({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eu=Q({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ru=Q({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),nu=Q({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),su=Q({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),iu=Q({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Hs={};xt(Hs,{base36:()=>br,base36upper:()=>ou});var br=he({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ou=he({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var au=Jo,jo=128,cu=127,lu=~cu,uu=Math.pow(2,31);function Jo(r,t,e){t=t||[],e=e||0;for(var n=e;r>=uu;)t[e++]=r&255|jo,r/=128;for(;r&lu;)t[e++]=r&255|jo,r>>>=7;return t[e]=r|0,Jo.bytes=e-n+1,t}var fu=Fs,hu=128,Yo=127;function Fs(r,n){var e=0,n=n||0,s=0,i=n,o,a=r.length;do{if(i>=a)throw Fs.bytes=0,new RangeError("Could not decode varint");o=r[i++],e+=s<28?(o&Yo)<<s:(o&Yo)*Math.pow(2,s),s+=7}while(o>=hu);return Fs.bytes=i-n,e}var du=Math.pow(2,7),pu=Math.pow(2,14),mu=Math.pow(2,21),gu=Math.pow(2,28),yu=Math.pow(2,35),bu=Math.pow(2,42),wu=Math.pow(2,49),xu=Math.pow(2,56),vu=Math.pow(2,63),Eu=function(r){return r<du?1:r<pu?2:r<mu?3:r<gu?4:r<yu?5:r<bu?6:r<wu?7:r<xu?8:r<vu?9:10},Bu={encode:au,decode:fu,encodingLength:Eu},Au=Bu,wr=Au;function xr(r,t=0){return[wr.decode(r,t),wr.decode.bytes]}function Ge(r,t,e=0){return wr.encode(r,t,e),t}function We(r){return wr.encodingLength(r)}function Ot(r,t){let e=t.byteLength,n=We(r),s=n+We(e),i=new Uint8Array(s+e);return Ge(r,i,0),Ge(e,i,n),i.set(t,s),new Ze(r,e,t,i)}function Ce(r){let t=Yt(r),[e,n]=xr(t),[s,i]=xr(t.subarray(n)),o=t.subarray(n+i);if(o.byteLength!==s)throw new Error("Incorrect length");return new Ze(e,s,o,t)}function Xo(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&qo(r.bytes,e.bytes)}}var Ze=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};function Qo(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Su(e,Ks(r),t??J.encoder);default:return Iu(e,Ks(r),t??Vt.encoder)}}var ta=new WeakMap;function Ks(r){let t=ta.get(r);if(t==null){let e=new Map;return ta.set(r,e),e}return t}var it=class r{code;version;multihash;bytes;"/";constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}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:e}=this;if(t!==vr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Tu)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}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:e}=this.multihash,n=Ot(t,e);return r.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 r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Xo(t.multihash,n.multihash)}toString(t){return Qo(this,t)}toJSON(){return{"/":Qo(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 e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:s,multihash:i,bytes:o}=e;return new r(n,s,i,o??ea(n,s,i.bytes))}else if(e[Cu]===!0){let{version:n,multihash:s,code:i}=e,o=Ce(s);return r.create(n,i,o)}else return null}static create(t,e,n){if(typeof e!="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(e!==vr)throw new Error(`Version 0 CID must use dag-pb (code: ${vr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=ea(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,vr,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,s=Yt(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=s.subarray(e.multihashSize-e.digestSize),o=new Ze(e.multihashCode,e.digestSize,i,s);return[e.version===0?r.createV0(o):r.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,h]=xr(t.subarray(e));return e+=h,u},s=n(),i=vr;if(s===18?(s=0,e=0):i=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let o=e,a=n(),c=n(),f=e+c,l=f-o;return{version:s,codec:i,multihashCode:a,digestSize:c,multihashSize:l,size:f}}static parse(t,e){let[n,s]=ku(t,e),i=r.decode(s);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ks(i).set(n,t),i}};function ku(r,t){switch(r[0]){case"Q":{let e=t??J;return[J.prefix,e.decode(`${J.prefix}${r}`)]}case J.prefix:{let e=t??J;return[J.prefix,e.decode(r)]}case Vt.prefix:{let e=t??Vt;return[Vt.prefix,e.decode(r)]}case br.prefix:{let e=t??br;return[br.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Su(r,t,e){let{prefix:n}=e;if(n!==J.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return s}function Iu(r,t,e){let{prefix:n}=e,s=t.get(n);if(s==null){let i=e.encode(r);return t.set(n,i),i}else return s}var vr=112,Tu=18;function ea(r,t,e){let n=We(r),s=n+We(t),i=new Uint8Array(s+e.byteLength);return Ge(r,i,0),Ge(t,i,n),i.set(e,s),i}var Cu=Symbol.for("@ipld/js-cid/CID");var qs={};xt(qs,{identity:()=>Jt});var ra=0,Nu="identity",na=Yt;function Lu(r){return Ot(ra,na(r))}var Jt={code:ra,name:Nu,encode:na,digest:Lu};function ut(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function sa(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function Uu(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function je(r,...t){if(!Uu(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function ia(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");sa(r.outputLen),sa(r.blockLen)}function Ye(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function oa(r,t){je(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var Ne=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var sn=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),Dt=(r,t)=>r<<32-t|r>>>t;var jd=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function aa(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Er(r){return typeof r=="string"&&(r=aa(r)),je(r),r}function $s(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];je(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let i=r[n];e.set(i,s),s+=i.length}return e}var Je=class{clone(){return this._cloneInto()}},Yd={}.toString;function on(r){let t=n=>r().update(Er(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function an(r=32){if(Ne&&typeof Ne.getRandomValues=="function")return Ne.getRandomValues(new Uint8Array(r));if(Ne&&typeof Ne.randomBytes=="function")return Ne.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function Ru(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let s=BigInt(32),i=BigInt(4294967295),o=Number(e>>s&i),a=Number(e&i),c=n?4:0,f=n?0:4;r.setUint32(t+c,o,n),r.setUint32(t+f,a,n)}var ca=(r,t,e)=>r&t^~r&e,la=(r,t,e)=>r&t^r&e^t&e,Xe=class extends Je{constructor(t,e,n,s){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=sn(this.buffer)}update(t){Ye(this);let{view:e,buffer:n,blockLen:s}=this;t=Er(t);let i=t.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=sn(t);for(;s<=i-o;o+=s)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ye(this),oa(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:s,isLE:i}=this,{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(n,0),o=0);for(let u=o;u<s;u++)e[u]=0;Ru(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=sn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<f;u++)a.setUint32(4*u,l[u],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return t.length=s,t.pos=a,t.finished=i,t.destroyed=o,s%e&&t.buffer.set(n),t}};var cn=BigInt(4294967295),zs=BigInt(32);function ua(r,t=!1){return t?{h:Number(r&cn),l:Number(r>>zs&cn)}:{h:Number(r>>zs&cn)|0,l:Number(r&cn)|0}}function _u(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let s=0;s<r.length;s++){let{h:i,l:o}=ua(r[s],t);[e[s],n[s]]=[i,o]}return[e,n]}var Vu=(r,t)=>BigInt(r>>>0)<<zs|BigInt(t>>>0),Ou=(r,t,e)=>r>>>e,Du=(r,t,e)=>r<<32-e|t>>>e,Pu=(r,t,e)=>r>>>e|t<<32-e,Mu=(r,t,e)=>r<<32-e|t>>>e,Hu=(r,t,e)=>r<<64-e|t>>>e-32,Fu=(r,t,e)=>r>>>e-32|t<<64-e,Ku=(r,t)=>t,qu=(r,t)=>r,$u=(r,t,e)=>r<<e|t>>>32-e,zu=(r,t,e)=>t<<e|r>>>32-e,Gu=(r,t,e)=>t<<e-32|r>>>64-e,Wu=(r,t,e)=>r<<e-32|t>>>64-e;function Zu(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var ju=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Yu=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,Ju=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Xu=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,Qu=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),tf=(r,t,e,n,s,i)=>t+e+n+s+i+(r/2**32|0)|0;var ef={fromBig:ua,split:_u,toBig:Vu,shrSH:Ou,shrSL:Du,rotrSH:Pu,rotrSL:Mu,rotrBH:Hu,rotrBL:Fu,rotr32H:Ku,rotr32L:qu,rotlSH:$u,rotlSL:zu,rotlBH:Gu,rotlBL:Wu,add:Zu,add3L:ju,add3H:Yu,add4L:Ju,add4H:Xu,add5H:tf,add5L:Qu},V=ef;var[rf,nf]=V.split(["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(r=>BigInt(r))),pe=new Uint32Array(80),me=new Uint32Array(80),Gs=class extends Xe{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:f,El:l,Fh:u,Fl:h,Gh:g,Gl:x,Hh:b,Hl:d}=this;return[t,e,n,s,i,o,a,c,f,l,u,h,g,x,b,d]}set(t,e,n,s,i,o,a,c,f,l,u,h,g,x,b,d){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=l|0,this.Fh=u|0,this.Fl=h|0,this.Gh=g|0,this.Gl=x|0,this.Hh=b|0,this.Hl=d|0}process(t,e){for(let m=0;m<16;m++,e+=4)pe[m]=t.getUint32(e),me[m]=t.getUint32(e+=4);for(let m=16;m<80;m++){let k=pe[m-15]|0,U=me[m-15]|0,L=V.rotrSH(k,U,1)^V.rotrSH(k,U,8)^V.shrSH(k,U,7),S=V.rotrSL(k,U,1)^V.rotrSL(k,U,8)^V.shrSL(k,U,7),I=pe[m-2]|0,N=me[m-2]|0,rt=V.rotrSH(I,N,19)^V.rotrBH(I,N,61)^V.shrSH(I,N,6),F=V.rotrSL(I,N,19)^V.rotrBL(I,N,61)^V.shrSL(I,N,6),O=V.add4L(S,F,me[m-7],me[m-16]),nt=V.add4H(O,L,rt,pe[m-7],pe[m-16]);pe[m]=nt|0,me[m]=O|0}let{Ah:n,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:f,Dl:l,Eh:u,El:h,Fh:g,Fl:x,Gh:b,Gl:d,Hh:w,Hl:B}=this;for(let m=0;m<80;m++){let k=V.rotrSH(u,h,14)^V.rotrSH(u,h,18)^V.rotrBH(u,h,41),U=V.rotrSL(u,h,14)^V.rotrSL(u,h,18)^V.rotrBL(u,h,41),L=u&g^~u&b,S=h&x^~h&d,I=V.add5L(B,U,S,nf[m],me[m]),N=V.add5H(I,w,k,L,rf[m],pe[m]),rt=I|0,F=V.rotrSH(n,s,28)^V.rotrBH(n,s,34)^V.rotrBH(n,s,39),O=V.rotrSL(n,s,28)^V.rotrBL(n,s,34)^V.rotrBL(n,s,39),nt=n&i^n&a^i&a,E=s&o^s&c^o&c;w=b|0,B=d|0,b=g|0,d=x|0,g=u|0,x=h|0,{h:u,l:h}=V.add(f|0,l|0,N|0,rt|0),f=a|0,l=c|0,a=i|0,c=o|0,i=n|0,o=s|0;let T=V.add3L(rt,O,E);n=V.add3H(T,N,F,nt),s=T|0}({h:n,l:s}=V.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:o}=V.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=V.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l}=V.add(this.Dh|0,this.Dl|0,f|0,l|0),{h:u,l:h}=V.add(this.Eh|0,this.El|0,u|0,h|0),{h:g,l:x}=V.add(this.Fh|0,this.Fl|0,g|0,x|0),{h:b,l:d}=V.add(this.Gh|0,this.Gl|0,b|0,d|0),{h:w,l:B}=V.add(this.Hh|0,this.Hl|0,w|0,B|0),this.set(n,s,i,o,a,c,f,l,u,h,g,x,b,d,w,B)}roundClean(){pe.fill(0),me.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var fa=on(()=>new Gs);var un={};xt(un,{aInRange:()=>It,abool:()=>Pt,abytes:()=>Qe,bitGet:()=>uf,bitLen:()=>Js,bitMask:()=>Ar,bitSet:()=>ff,bytesToHex:()=>Qt,bytesToNumberBE:()=>te,bytesToNumberLE:()=>ye,concatBytes:()=>ee,createHmacDrbg:()=>Xs,ensureBytes:()=>tt,equalBytes:()=>cf,hexToBytes:()=>Ue,hexToNumber:()=>Ys,inRange:()=>Br,isBytes:()=>ge,memoized:()=>_e,notImplemented:()=>df,numberToBytesBE:()=>be,numberToBytesLE:()=>Re,numberToHexUnpadded:()=>Le,numberToVarBytesBE:()=>af,utf8ToBytes:()=>lf,validateObject:()=>Kt});var js=BigInt(0),ln=BigInt(1),sf=BigInt(2);function ge(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Qe(r){if(!ge(r))throw new Error("Uint8Array expected")}function Pt(r,t){if(typeof t!="boolean")throw new Error(`${r} must be valid boolean, got "${t}".`)}var of=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Qt(r){Qe(r);let t="";for(let e=0;e<r.length;e++)t+=of[r[e]];return t}function Le(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Ys(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Xt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function ha(r){if(r>=Xt._0&&r<=Xt._9)return r-Xt._0;if(r>=Xt._A&&r<=Xt._F)return r-(Xt._A-10);if(r>=Xt._a&&r<=Xt._f)return r-(Xt._a-10)}function Ue(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let s=0,i=0;s<e;s++,i+=2){let o=ha(r.charCodeAt(i)),a=ha(r.charCodeAt(i+1));if(o===void 0||a===void 0){let c=r[i]+r[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[s]=o*16+a}return n}function te(r){return Ys(Qt(r))}function ye(r){return Qe(r),Ys(Qt(Uint8Array.from(r).reverse()))}function be(r,t){return Ue(r.toString(16).padStart(t*2,"0"))}function Re(r,t){return be(r,t).reverse()}function af(r){return Ue(Le(r))}function tt(r,t,e){let n;if(typeof t=="string")try{n=Ue(t)}catch(i){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${i}`)}else if(ge(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let s=n.length;if(typeof e=="number"&&s!==e)throw new Error(`${r} expected ${e} bytes, got ${s}`);return n}function ee(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];Qe(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let i=r[n];e.set(i,s),s+=i.length}return e}function cf(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function lf(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}var Ws=r=>typeof r=="bigint"&&js<=r;function Br(r,t,e){return Ws(r)&&Ws(t)&&Ws(e)&&t<=r&&r<e}function It(r,t,e,n){if(!Br(t,e,n))throw new Error(`expected valid ${r}: ${e} <= n < ${n}, got ${typeof t} ${t}`)}function Js(r){let t;for(t=0;r>js;r>>=ln,t+=1);return t}function uf(r,t){return r>>BigInt(t)&ln}function ff(r,t,e){return r|(e?ln:js)<<BigInt(t)}var Ar=r=>(sf<<BigInt(r-1))-ln,Zs=r=>new Uint8Array(r),da=r=>Uint8Array.from(r);function Xs(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=Zs(r),s=Zs(r),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...u)=>e(s,n,...u),c=(u=Zs())=>{s=a(da([0]),u),n=a(),u.length!==0&&(s=a(da([1]),u),n=a())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,h=[];for(;u<t;){n=a();let g=n.slice();h.push(g),u+=n.length}return ee(...h)};return(u,h)=>{o(),c(u);let g;for(;!(g=h(f()));)c();return o(),g}}var hf={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||ge(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Kt(r,t,e={}){let n=(s,i,o)=>{let a=hf[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=r[s];if(!(o&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(let[s,i]of Object.entries(t))n(s,i,!1);for(let[s,i]of Object.entries(e))n(s,i,!0);return r}var df=()=>{throw new Error("not implemented")};function _e(r){let t=new WeakMap;return(e,...n)=>{let s=t.get(e);if(s!==void 0)return s;let i=r(e,...n);return t.set(e,i),i}}var ot=BigInt(0),j=BigInt(1),Ve=BigInt(2),pf=BigInt(3),Qs=BigInt(4),pa=BigInt(5),ma=BigInt(8),mf=BigInt(9),gf=BigInt(16);function z(r,t){let e=r%t;return e>=ot?e:t+e}function yf(r,t,e){if(e<=ot||t<ot)throw new Error("Expected power/modulo > 0");if(e===j)return ot;let n=j;for(;t>ot;)t&j&&(n=n*r%e),r=r*r%e,t>>=j;return n}function Y(r,t,e){let n=r;for(;t-- >ot;)n*=n,n%=e;return n}function fn(r,t){if(r===ot||t<=ot)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=z(r,t),n=t,s=ot,i=j,o=j,a=ot;for(;e!==ot;){let f=n/e,l=n%e,u=s-o*f,h=i-a*f;n=e,e=l,s=o,i=a,o=u,a=h}if(n!==j)throw new Error("invert: does not exist");return z(s,t)}function bf(r){let t=(r-j)/Ve,e,n,s;for(e=r-j,n=0;e%Ve===ot;e/=Ve,n++);for(s=Ve;s<r&&yf(s,t,r)!==r-j;s++);if(n===1){let o=(r+j)/Qs;return function(c,f){let l=c.pow(f,o);if(!c.eql(c.sqr(l),f))throw new Error("Cannot find square root");return l}}let i=(e+j)/Ve;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,l=a.pow(a.mul(a.ONE,s),e),u=a.pow(c,i),h=a.pow(c,e);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let g=1;for(let b=a.sqr(h);g<f&&!a.eql(b,a.ONE);g++)b=a.sqr(b);let x=a.pow(l,j<<BigInt(f-g-1));l=a.sqr(x),u=a.mul(u,x),h=a.mul(h,l),f=g}return u}}function wf(r){if(r%Qs===pf){let t=(r+j)/Qs;return function(n,s){let i=n.pow(s,t);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(r%ma===pa){let t=(r-pa)/ma;return function(n,s){let i=n.mul(s,Ve),o=n.pow(i,t),a=n.mul(s,o),c=n.mul(n.mul(a,Ve),o),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),s))throw new Error("Cannot find square root");return f}}return r%gf,bf(r)}var ga=(r,t)=>(z(r,t)&j)===j,xf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ti(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=xf.reduce((n,s)=>(n[s]="function",n),t);return Kt(r,e)}function vf(r,t,e){if(e<ot)throw new Error("Expected power > 0");if(e===ot)return r.ONE;if(e===j)return t;let n=r.ONE,s=t;for(;e>ot;)e&j&&(n=r.mul(n,s)),s=r.sqr(s),e>>=j;return n}function Ef(r,t){let e=new Array(t.length),n=t.reduce((i,o,a)=>r.is0(o)?i:(e[a]=i,r.mul(i,o)),r.ONE),s=r.inv(n);return t.reduceRight((i,o,a)=>r.is0(o)?i:(e[a]=r.mul(i,e[a]),r.mul(i,o)),s),e}function ei(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function we(r,t,e=!1,n={}){if(r<=ot)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:s,nByteLength:i}=ei(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=wf(r),a=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:Ar(s),ZERO:ot,ONE:j,create:c=>z(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return ot<=c&&c<r},is0:c=>c===ot,isOdd:c=>(c&j)===j,neg:c=>z(-c,r),eql:(c,f)=>c===f,sqr:c=>z(c*c,r),add:(c,f)=>z(c+f,r),sub:(c,f)=>z(c-f,r),mul:(c,f)=>z(c*f,r),pow:(c,f)=>vf(a,c,f),div:(c,f)=>z(c*fn(f,r),r),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>fn(c,r),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>Ef(a,c),cmov:(c,f,l)=>l?f:c,toBytes:c=>e?Re(c,i):be(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return e?ye(c):te(c)}});return Object.freeze(a)}function ya(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function ri(r){let t=ya(r);return t+Math.ceil(t/2)}function ba(r,t,e=!1){let n=r.length,s=ya(t),i=ri(t);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=e?te(r):ye(r),a=z(o,t-j)+j;return e?Re(a,s):be(a,s)}var Af=BigInt(0),ni=BigInt(1),si=new WeakMap,wa=new WeakMap;function hn(r,t){let e=(i,o)=>{let a=o.negate();return i?a:o},n=i=>{if(!Number.isSafeInteger(i)||i<=0||i>t)throw new Error(`Wrong window size=${i}, should be [1..${t}]`)},s=i=>{n(i);let o=Math.ceil(t/i)+1,a=2**(i-1);return{windows:o,windowSize:a}};return{constTimeNegate:e,unsafeLadder(i,o){let a=r.ZERO,c=i;for(;o>Af;)o&ni&&(a=a.add(c)),c=c.double(),o>>=ni;return a},precomputeWindow(i,o){let{windows:a,windowSize:c}=s(o),f=[],l=i,u=l;for(let h=0;h<a;h++){u=l,f.push(u);for(let g=1;g<c;g++)u=u.add(l),f.push(u);l=u.double()}return f},wNAF(i,o,a){let{windows:c,windowSize:f}=s(i),l=r.ZERO,u=r.BASE,h=BigInt(2**i-1),g=2**i,x=BigInt(i);for(let b=0;b<c;b++){let d=b*f,w=Number(a&h);a>>=x,w>f&&(w-=g,a+=ni);let B=d,m=d+Math.abs(w)-1,k=b%2!==0,U=w<0;w===0?u=u.add(e(k,o[B])):l=l.add(e(U,o[m]))}return{p:l,f:u}},wNAFCached(i,o,a){let c=wa.get(i)||1,f=si.get(i);return f||(f=this.precomputeWindow(i,c),c!==1&&si.set(i,a(f))),this.wNAF(c,f,o)},setWindowSize(i,o){n(o),wa.set(i,o),si.delete(i)}}}function dn(r,t,e,n){if(!Array.isArray(e)||!Array.isArray(n)||n.length!==e.length)throw new Error("arrays of points and scalars must have equal length");n.forEach((l,u)=>{if(!t.isValid(l))throw new Error(`wrong scalar at index ${u}`)}),e.forEach((l,u)=>{if(!(l instanceof r))throw new Error(`wrong point at index ${u}`)});let s=Js(BigInt(e.length)),i=s>12?s-3:s>4?s-2:s?2:1,o=(1<<i)-1,a=new Array(o+1).fill(r.ZERO),c=Math.floor((t.BITS-1)/i)*i,f=r.ZERO;for(let l=c;l>=0;l-=i){a.fill(r.ZERO);for(let h=0;h<n.length;h++){let g=n[h],x=Number(g>>BigInt(l)&BigInt(o));a[x]=a[x].add(e[h])}let u=r.ZERO;for(let h=a.length-1,g=r.ZERO;h>0;h--)g=g.add(a[h]),u=u.add(g);if(f=f.add(u),l!==0)for(let h=0;h<i;h++)f=f.double()}return f}function kr(r){return ti(r.Fp),Kt(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ei(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Mt=BigInt(0),Tt=BigInt(1),pn=BigInt(2),kf=BigInt(8),Sf={zip215:!0};function If(r){let t=kr(r);return Kt(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function xa(r){let t=If(r),{Fp:e,n,prehash:s,hash:i,randomBytes:o,nByteLength:a,h:c}=t,f=pn<<BigInt(a*8)-Tt,l=e.create,u=we(t.n,t.nBitLength),h=t.uvRatio||((y,p)=>{try{return{isValid:!0,value:e.sqrt(y*e.inv(p))}}catch{return{isValid:!1,value:Mt}}}),g=t.adjustScalarBytes||(y=>y),x=t.domain||((y,p,v)=>{if(Pt("phflag",v),p.length||v)throw new Error("Contexts/pre-hash are not supported");return y});function b(y,p){It("coordinate "+y,p,Mt,f)}function d(y){if(!(y instanceof m))throw new Error("ExtendedPoint expected")}let w=_e((y,p)=>{let{ex:v,ey:C,ez:R}=y,_=y.is0();p==null&&(p=_?kf:e.inv(R));let D=l(v*p),H=l(C*p),P=l(R*p);if(_)return{x:Mt,y:Tt};if(P!==Tt)throw new Error("invZ was invalid");return{x:D,y:H}}),B=_e(y=>{let{a:p,d:v}=t;if(y.is0())throw new Error("bad point: ZERO");let{ex:C,ey:R,ez:_,et:D}=y,H=l(C*C),P=l(R*R),$=l(_*_),W=l($*$),ct=l(H*p),lt=l($*l(ct+P)),ht=l(W+l(v*l(H*P)));if(lt!==ht)throw new Error("bad point: equation left != right (1)");let wt=l(C*R),st=l(_*D);if(wt!==st)throw new Error("bad point: equation left != right (2)");return!0});class m{constructor(p,v,C,R){this.ex=p,this.ey=v,this.ez=C,this.et=R,b("x",p),b("y",v),b("z",C),b("t",R),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(p){if(p instanceof m)throw new Error("extended point not allowed");let{x:v,y:C}=p||{};return b("x",v),b("y",C),new m(v,C,Tt,l(v*C))}static normalizeZ(p){let v=e.invertBatch(p.map(C=>C.ez));return p.map((C,R)=>C.toAffine(v[R])).map(m.fromAffine)}static msm(p,v){return dn(m,u,p,v)}_setWindowSize(p){L.setWindowSize(this,p)}assertValidity(){B(this)}equals(p){d(p);let{ex:v,ey:C,ez:R}=this,{ex:_,ey:D,ez:H}=p,P=l(v*H),$=l(_*R),W=l(C*H),ct=l(D*R);return P===$&&W===ct}is0(){return this.equals(m.ZERO)}negate(){return new m(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:p}=t,{ex:v,ey:C,ez:R}=this,_=l(v*v),D=l(C*C),H=l(pn*l(R*R)),P=l(p*_),$=v+C,W=l(l($*$)-_-D),ct=P+D,lt=ct-H,ht=P-D,wt=l(W*lt),st=l(ct*ht),St=l(W*ht),jt=l(lt*ct);return new m(wt,st,jt,St)}add(p){d(p);let{a:v,d:C}=t,{ex:R,ey:_,ez:D,et:H}=this,{ex:P,ey:$,ez:W,et:ct}=p;if(v===BigInt(-1)){let Uo=l((_-R)*($+P)),Ro=l((_+R)*($-P)),Rs=l(Ro-Uo);if(Rs===Mt)return this.double();let _o=l(D*pn*ct),Vo=l(H*pn*W),Oo=Vo+_o,Do=Ro+Uo,Po=Vo-_o,Ol=l(Oo*Rs),Dl=l(Do*Po),Pl=l(Oo*Po),Ml=l(Rs*Do);return new m(Ol,Dl,Ml,Pl)}let lt=l(R*P),ht=l(_*$),wt=l(H*C*ct),st=l(D*W),St=l((R+_)*(P+$)-lt-ht),jt=st-wt,gr=st+wt,yr=l(ht-v*lt),Ul=l(St*jt),Rl=l(gr*yr),_l=l(St*yr),Vl=l(jt*gr);return new m(Ul,Rl,Vl,_l)}subtract(p){return this.add(p.negate())}wNAF(p){return L.wNAFCached(this,p,m.normalizeZ)}multiply(p){let v=p;It("scalar",v,Tt,n);let{p:C,f:R}=this.wNAF(v);return m.normalizeZ([C,R])[0]}multiplyUnsafe(p){let v=p;return It("scalar",v,Mt,n),v===Mt?U:this.equals(U)||v===Tt?this:this.equals(k)?this.wNAF(v).p:L.unsafeLadder(this,v)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return L.unsafeLadder(this,n).is0()}toAffine(p){return w(this,p)}clearCofactor(){let{h:p}=t;return p===Tt?this:this.multiplyUnsafe(p)}static fromHex(p,v=!1){let{d:C,a:R}=t,_=e.BYTES;p=tt("pointHex",p,_),Pt("zip215",v);let D=p.slice(),H=p[_-1];D[_-1]=H&-129;let P=ye(D),$=v?f:e.ORDER;It("pointHex.y",P,Mt,$);let W=l(P*P),ct=l(W-Tt),lt=l(C*W-R),{isValid:ht,value:wt}=h(ct,lt);if(!ht)throw new Error("Point.fromHex: invalid y coordinate");let st=(wt&Tt)===Tt,St=(H&128)!==0;if(!v&&wt===Mt&&St)throw new Error("Point.fromHex: x=0 and x_0=1");return St!==st&&(wt=l(-wt)),m.fromAffine({x:wt,y:P})}static fromPrivateKey(p){return N(p).point}toRawBytes(){let{x:p,y:v}=this.toAffine(),C=Re(v,e.BYTES);return C[C.length-1]|=p&Tt?128:0,C}toHex(){return Qt(this.toRawBytes())}}m.BASE=new m(t.Gx,t.Gy,Tt,l(t.Gx*t.Gy)),m.ZERO=new m(Mt,Tt,Tt,Mt);let{BASE:k,ZERO:U}=m,L=hn(m,a*8);function S(y){return z(y,n)}function I(y){return S(ye(y))}function N(y){let p=a;y=tt("private key",y,p);let v=tt("hashed private key",i(y),2*p),C=g(v.slice(0,p)),R=v.slice(p,2*p),_=I(C),D=k.multiply(_),H=D.toRawBytes();return{head:C,prefix:R,scalar:_,point:D,pointBytes:H}}function rt(y){return N(y).pointBytes}function F(y=new Uint8Array,...p){let v=ee(...p);return I(i(x(v,tt("context",y),!!s)))}function O(y,p,v={}){y=tt("message",y),s&&(y=s(y));let{prefix:C,scalar:R,pointBytes:_}=N(p),D=F(v.context,C,y),H=k.multiply(D).toRawBytes(),P=F(v.context,H,_,y),$=S(D+P*R);It("signature.s",$,Mt,n);let W=ee(H,Re($,e.BYTES));return tt("result",W,a*2)}let nt=Sf;function E(y,p,v,C=nt){let{context:R,zip215:_}=C,D=e.BYTES;y=tt("signature",y,2*D),p=tt("message",p),_!==void 0&&Pt("zip215",_),s&&(p=s(p));let H=ye(y.slice(D,2*D)),P,$,W;try{P=m.fromHex(v,_),$=m.fromHex(y.slice(0,D),_),W=k.multiplyUnsafe(H)}catch{return!1}if(!_&&P.isSmallOrder())return!1;let ct=F(R,$.toRawBytes(),P.toRawBytes(),p);return $.add(P.multiplyUnsafe(ct)).subtract(W).clearCofactor().equals(m.ZERO)}return k._setWindowSize(8),{CURVE:t,getPublicKey:rt,sign:O,verify:E,ExtendedPoint:m,utils:{getExtendedPublicKey:N,randomPrivateKey:()=>o(e.BYTES),precompute(y=8,p=m.BASE){return p._setWindowSize(y),p.multiply(BigInt(3)),p}}}}var ii=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),va=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),w0=BigInt(0),Tf=BigInt(1),Ea=BigInt(2),x0=BigInt(3),Cf=BigInt(5),Nf=BigInt(8);function Lf(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),s=BigInt(80),i=ii,a=r*r%i*r%i,c=Y(a,Ea,i)*a%i,f=Y(c,Tf,i)*r%i,l=Y(f,Cf,i)*f%i,u=Y(l,t,i)*l%i,h=Y(u,e,i)*u%i,g=Y(h,n,i)*h%i,x=Y(g,s,i)*g%i,b=Y(x,s,i)*g%i,d=Y(b,t,i)*l%i;return{pow_p_5_8:Y(d,Ea,i)*r%i,b2:a}}function Uf(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Rf(r,t){let e=ii,n=z(t*t*t,e),s=z(n*n*t,e),i=Lf(r*s).pow_p_5_8,o=z(r*n*i,e),a=z(t*o*o,e),c=o,f=z(o*va,e),l=a===r,u=a===z(-r,e),h=a===z(-r*va,e);return l&&(o=c),(u||h)&&(o=f),ga(o,e)&&(o=z(-o,e)),{isValid:l||u,value:o}}var _f=we(ii,void 0,!0),Vf={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:_f,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Nf,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:fa,randomBytes:an,adjustScalarBytes:Uf,uvRatio:Rf},Ba=xa(Vf);var mn=32;function Aa(r,t,e){return Ba.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}var gn=class{type="Ed25519";raw;constructor(t){this.raw=oi(t,mn)}toMultihash(){return Jt.digest(qt(this))}toCID(){return it.createV1(114,this.toMultihash())}toString(){return J.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ut(this.raw,t.raw)}verify(t,e){return Aa(this.raw,e,t)}};function ai(r){return r=oi(r,mn),new gn(r)}function oi(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new K(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}function et(r=0){return new Uint8Array(r)}function Ct(r=0){return new Uint8Array(r)}var Df=Math.pow(2,7),Pf=Math.pow(2,14),Mf=Math.pow(2,21),ci=Math.pow(2,28),li=Math.pow(2,35),ui=Math.pow(2,42),fi=Math.pow(2,49),q=128,mt=127;function Nt(r){if(r<Df)return 1;if(r<Pf)return 2;if(r<Mf)return 3;if(r<ci)return 4;if(r<li)return 5;if(r<ui)return 6;if(r<fi)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function hi(r,t,e=0){switch(Nt(r)){case 8:t[e++]=r&255|q,r/=128;case 7:t[e++]=r&255|q,r/=128;case 6:t[e++]=r&255|q,r/=128;case 5:t[e++]=r&255|q,r/=128;case 4:t[e++]=r&255|q,r>>>=7;case 3:t[e++]=r&255|q,r>>>=7;case 2:t[e++]=r&255|q,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Hf(r,t,e=0){switch(Nt(r)){case 8:t.set(e++,r&255|q),r/=128;case 7:t.set(e++,r&255|q),r/=128;case 6:t.set(e++,r&255|q),r/=128;case 5:t.set(e++,r&255|q),r/=128;case 4:t.set(e++,r&255|q),r>>>=7;case 3:t.set(e++,r&255|q),r>>>=7;case 2:t.set(e++,r&255|q),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function di(r,t){let e=r[t],n=0;if(n+=e&mt,e<q||(e=r[t+1],n+=(e&mt)<<7,e<q)||(e=r[t+2],n+=(e&mt)<<14,e<q)||(e=r[t+3],n+=(e&mt)<<21,e<q)||(e=r[t+4],n+=(e&mt)*ci,e<q)||(e=r[t+5],n+=(e&mt)*li,e<q)||(e=r[t+6],n+=(e&mt)*ui,e<q)||(e=r[t+7],n+=(e&mt)*fi,e<q))return n;throw new RangeError("Could not decode varint")}function Ff(r,t){let e=r.get(t),n=0;if(n+=e&mt,e<q||(e=r.get(t+1),n+=(e&mt)<<7,e<q)||(e=r.get(t+2),n+=(e&mt)<<14,e<q)||(e=r.get(t+3),n+=(e&mt)<<21,e<q)||(e=r.get(t+4),n+=(e&mt)*ci,e<q)||(e=r.get(t+5),n+=(e&mt)*li,e<q)||(e=r.get(t+6),n+=(e&mt)*ui,e<q)||(e=r.get(t+7),n+=(e&mt)*fi,e<q))return n;throw new RangeError("Could not decode varint")}function $t(r,t,e=0){return t==null&&(t=Ct(Nt(r))),t instanceof Uint8Array?hi(r,t,e):Hf(r,t,e)}function Oe(r,t=0){return r instanceof Uint8Array?di(r,t):Ff(r,t)}var mi=new Float32Array([-0]),xe=new Uint8Array(mi.buffer);function Sa(r,t,e){mi[0]=r,t[e]=xe[0],t[e+1]=xe[1],t[e+2]=xe[2],t[e+3]=xe[3]}function Ia(r,t){return xe[0]=r[t],xe[1]=r[t+1],xe[2]=r[t+2],xe[3]=r[t+3],mi[0]}var gi=new Float64Array([-0]),gt=new Uint8Array(gi.buffer);function Ta(r,t,e){gi[0]=r,t[e]=gt[0],t[e+1]=gt[1],t[e+2]=gt[2],t[e+3]=gt[3],t[e+4]=gt[4],t[e+5]=gt[5],t[e+6]=gt[6],t[e+7]=gt[7]}function Ca(r,t){return gt[0]=r[t],gt[1]=r[t+1],gt[2]=r[t+2],gt[3]=r[t+3],gt[4]=r[t+4],gt[5]=r[t+5],gt[6]=r[t+6],gt[7]=r[t+7],gi[0]}var Kf=BigInt(Number.MAX_SAFE_INTEGER),qf=BigInt(Number.MIN_SAFE_INTEGER),Ut=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+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 e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(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,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return De;if(t<Kf&&t>qf)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,s=t-(n<<32n);return e&&(n=~n|0n,s=~s|0n,++s>Na&&(s=0n,++n>Na&&(n=0n))),new r(Number(s),Number(n))}static fromNumber(t){if(t===0)return De;let e=t<0;e&&(t=-t);let n=t>>>0,s=(t-n)/4294967296>>>0;return e&&(s=~s>>>0,n=~n>>>0,++n>4294967295&&(n=0,++s>4294967295&&(s=0))),new r(n,s)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):De}},De=new Ut(0,0);De.toBigInt=function(){return 0n};De.zzEncode=De.zzDecode=function(){return this};De.length=function(){return 1};var Na=4294967296n;function La(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Ua(r,t,e){if(e-t<1)return"";let s,i=[],o=0,a;for(;t<e;)a=r[t++],a<128?i[o++]=a:a>191&&a<224?i[o++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[o++]=55296+(a>>10),i[o++]=56320+(a&1023)):i[o++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,o>8191&&((s??(s=[])).push(String.fromCharCode.apply(String,i)),o=0);return s!=null?(o>0&&s.push(String.fromCharCode.apply(String,i.slice(0,o))),s.join("")):String.fromCharCode.apply(String,i.slice(0,o))}function yi(r,t,e){let n=e,s,i;for(let o=0;o<r.length;++o)s=r.charCodeAt(o),s<128?t[e++]=s:s<2048?(t[e++]=s>>6|192,t[e++]=s&63|128):(s&64512)===55296&&((i=r.charCodeAt(o+1))&64512)===56320?(s=65536+((s&1023)<<10)+(i&1023),++o,t[e++]=s>>18|240,t[e++]=s>>12&63|128,t[e++]=s>>6&63|128,t[e++]=s&63|128):(t[e++]=s>>12|224,t[e++]=s>>6&63|128,t[e++]=s&63|128);return e-n}function Ht(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function yn(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var bi=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,Ht(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 Ht(this,4);return yn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ht(this,4);return yn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ht(this,4);let t=Ia(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Ht(this,4);let t=Ca(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Ht(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Ua(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ht(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ht(this);while(this.buf[this.pos++]&128);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 Ut(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*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;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Ht(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Ht(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Ht(this,8);let t=yn(this.buf,this.pos+=4),e=yn(this.buf,this.pos+=4);return new Ut(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=di(this.buf,this.pos);return this.pos+=Nt(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 wi(r){return new bi(r instanceof Uint8Array?r:r.subarray())}function vt(r,t,e){let n=wi(r);return t.decode(n,void 0,e)}var xi={};xt(xi,{base10:()=>$f});var $f=he({prefix:"9",name:"base10",alphabet:"0123456789"});var vi={};xt(vi,{base16:()=>zf,base16upper:()=>Gf});var zf=Q({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Gf=Q({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ei={};xt(Ei,{base2:()=>Wf});var Wf=Q({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Bi={};xt(Bi,{base256emoji:()=>Xf});var _a=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}"),Zf=_a.reduce((r,t,e)=>(r[e]=t,r),[]),jf=_a.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Yf(r){return r.reduce((t,e)=>(t+=Zf[e],t),"")}function Jf(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let s=jf[n];if(s==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(s)}return new Uint8Array(t)}var Xf=ze({prefix:"\u{1F680}",name:"base256emoji",encode:Yf,decode:Jf});var Ai={};xt(Ai,{base64:()=>Qf,base64pad:()=>th,base64url:()=>eh,base64urlpad:()=>rh});var Qf=Q({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),th=Q({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),eh=Q({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),rh=Q({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ki={};xt(ki,{base8:()=>nh});var nh=Q({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Si={};xt(Si,{identity:()=>sh});var sh=ze({prefix:"\0",name:"identity",encode:r=>zo(r),decode:r=>$o(r)});var rp=new TextEncoder,np=new TextDecoder;var Ci={};xt(Ci,{sha256:()=>Sr,sha512:()=>ah});function Ti({name:r,code:t,encode:e}){return new Ii(r,t,e)}var Ii=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Ot(this.code,e):e.then(n=>Ot(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Oa(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var Sr=Ti({name:"sha2-256",code:18,encode:Oa("SHA-256")}),ah=Ti({name:"sha2-512",code:19,encode:Oa("SHA-512")});var Ir={...Si,...Ei,...ki,...xi,...vi,...Ms,...Hs,...Ps,...Ai,...Bi},mp={...Ci,...qs};function Pa(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Da=Pa("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ni=Pa("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Ct(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),ch={utf8:Da,"utf-8":Da,hex:Ir.base16,latin1:Ni,ascii:Ni,binary:Ni,...Ir},bn=ch;function Z(r,t="utf8"){let e=bn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Li(r){let t=r??8192,e=t>>>1,n,s=t;return function(o){if(o<1||o>e)return Ct(o);s+o>t&&(n=Ct(t),s=0);let a=n.subarray(s,s+=o);return s&7&&(s=(s|7)+1),a}}var Pe=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Ui(){}var _i=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},lh=Li();function uh(r){return globalThis.Buffer!=null?Ct(r):lh(r)}var Cr=class{len;head;tail;states;constructor(){this.len=0,this.head=new Pe(Ui,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new Pe(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Vi((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(wn,10,Ut.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Ut.fromBigInt(t);return this._push(wn,e.length(),e)}uint64Number(t){return this._push(hi,Nt(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 e=Ut.fromBigInt(t).zzEncode();return this._push(wn,e.length(),e)}sint64Number(t){let e=Ut.fromNumber(t).zzEncode();return this._push(wn,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Ri,1,t?1:0)}fixed32(t){return this._push(Tr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Ut.fromBigInt(t);return this._push(Tr,4,e.lo)._push(Tr,4,e.hi)}fixed64Number(t){let e=Ut.fromNumber(t);return this._push(Tr,4,e.lo)._push(Tr,4,e.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(Sa,4,t)}double(t){return this._push(Ta,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Ri,1,0):this.uint32(e)._push(hh,e,t)}string(t){let e=La(t);return e!==0?this.uint32(e)._push(yi,e,t):this._push(Ri,1,0)}fork(){return this.states=new _i(this),this.head=this.tail=new Pe(Ui,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 Pe(Ui,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=uh(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Ri(r,t,e){t[e]=r&255}function fh(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Vi=class extends Pe{next;constructor(t,e){super(fh,t,e),this.next=void 0}};function wn(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Tr(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function hh(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Cr.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(dh,t,r),this},Cr.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(ph,t,r),this});function dh(r,t,e){t.set(r,e)}function ph(r,t,e){r.length<40?yi(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Z(r),e)}function Oi(){return new Cr}function Et(r,t){let e=Oi();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var tr;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(tr||(tr={}));function xn(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Di(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(i,o){let a=t(i);o.int32(a)},n=function(i){let o=i.int32();return t(o)};return xn("enum",tr.VARINT,e,n)}function Bt(r,t){return xn("message",tr.LENGTH_DELIMITED,r,t)}var Me=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"},Nr=class extends Error{code="ERR_MAX_SIZE";name="MaxSizeError"};var at;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(at||(at={}));var Pi;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(Pi||(Pi={}));(function(r){r.codec=()=>Di(Pi)})(at||(at={}));var zt;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),at.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=at.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(zt||(zt={}));var Mi;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),at.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=at.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(Mi||(Mi={}));var Hr={};xt(Hr,{MAX_RSA_KEY_SIZE:()=>fs,generateRSAKeyPair:()=>Vc,jwkToJWKKeyPair:()=>Oc,jwkToPkcs1:()=>Nh,jwkToPkix:()=>Zi,jwkToRSAPrivateKey:()=>_c,pkcs1ToJwk:()=>Lc,pkcs1ToRSAPrivateKey:()=>Rc,pkixToJwk:()=>Uc,pkixToRSAPublicKey:()=>ji});var mh=new Uint32Array([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]),ve=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ee=new Uint32Array(64),Hi=class extends Xe{constructor(){super(64,32,8,!1),this.A=ve[0]|0,this.B=ve[1]|0,this.C=ve[2]|0,this.D=ve[3]|0,this.E=ve[4]|0,this.F=ve[5]|0,this.G=ve[6]|0,this.H=ve[7]|0}get(){let{A:t,B:e,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[t,e,n,s,i,o,a,c]}set(t,e,n,s,i,o,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,e){for(let u=0;u<16;u++,e+=4)Ee[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let h=Ee[u-15],g=Ee[u-2],x=Dt(h,7)^Dt(h,18)^h>>>3,b=Dt(g,17)^Dt(g,19)^g>>>10;Ee[u]=b+Ee[u-7]+x+Ee[u-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:f,H:l}=this;for(let u=0;u<64;u++){let h=Dt(a,6)^Dt(a,11)^Dt(a,25),g=l+h+ca(a,c,f)+mh[u]+Ee[u]|0,b=(Dt(n,2)^Dt(n,13)^Dt(n,22))+la(n,s,i)|0;l=f,f=c,c=a,a=o+g|0,o=i,i=s,s=n,n=g+b|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(n,s,i,o,a,c,f,l)}roundClean(){Ee.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var er=on(()=>new Hi);var M=Fo(Ha());function He(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function Be(r,t,e=-1){let n=e,s=r,i=0,o=Math.pow(2,t);for(let a=1;a<8;a++){if(r<o){let c;if(n<0)c=new ArrayBuffer(a),i=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),i=n}let f=new Uint8Array(c);for(let l=a-1;l>=0;l--){let u=Math.pow(2,l*t);f[i-l-1]=Math.floor(s/u),s-=f[i-l-1]*u}return c}o*=Math.pow(2,t)}return new ArrayBuffer(0)}function Bn(...r){let t=0,e=0;for(let i of r)t+=i.length;let n=new ArrayBuffer(t),s=new Uint8Array(n);for(let i of r)s.set(i,e),e+=i.length;return s}function Ki(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=He(e,8),s=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(s);for(let a=0;a<this.valueHex.byteLength;a++)i[a]=r[a];return i[0]&=127,He(i,8)-n}function Fa(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let o=e-t,a=Be(o,8,n),c=new Uint8Array(a);return c[0]|=128,a}let s=Be(t,8,n),i=new Uint8Array(s);if(i[0]&128){let o=s.slice(0),a=new Uint8Array(o);s=new ArrayBuffer(s.byteLength+1),i=new Uint8Array(s);for(let c=0;c<o.byteLength;c++)i[c+1]=a[c];i[0]=0}return s}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function Ka(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<e.length;s++)if(e[s]!==n[s])return!1;return!0}function Lt(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,s=new Array(n);for(let o=0;o<n;o++)s[o]="0";return s.join("").concat(e)}var Yp=Math.log(2);function An(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function qi(r){let t=0,e=0;for(let s=0;s<r.length;s++){let i=r[s];t+=i.byteLength}let n=new Uint8Array(t);for(let s=0;s<r.length;s++){let i=r[s];n.set(new Uint8Array(i),e),e+=i.byteLength}return n.buffer}function oe(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Ur=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return qi(this.items)}},Lr=[new Uint8Array([1])],qa="0123456789";var or="",Ft=new ArrayBuffer(0),$i=new Uint8Array(0),Rr="EndOfContent",za="OCTET STRING",Ga="BIT STRING";function ae(r){var t;return t=class extends r{constructor(...n){var s;super(...n);let i=n[0]||{};this.isHexOnly=(s=i.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=i.valueHex?M.BufferSourceConverter.toUint8Array(i.valueHex):$i}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,s,i){let o=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!oe(this,o,s,i))return-1;let a=s+i;return this.valueHexView=o.subarray(s,a),this.valueHexView.length?(this.blockLength=i,a):(this.warnings.push("Zero buffer length"),s)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Ft)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:M.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var ne=class{constructor({blockLength:t=0,error:e=or,warnings:n=[],valueBeforeDecode:s=$i}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=M.BufferSourceConverter.toUint8Array(s)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:M.Convert.ToHex(this.valueBeforeDecodeView)}}};ne.NAME="baseBlock";var yt=class extends ne{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};yt.NAME="valueBlock";var kn=class extends ae(ne){constructor({idBlock:t={}}={}){var e,n,s,i;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?M.BufferSourceConverter.toUint8Array(t.valueHex):$i,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(s=t.tagNumber)!==null&&s!==void 0?s:-1,this.isConstructed=(i=t.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Ft}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let s=new Uint8Array(1);if(!t){let i=this.tagNumber;i&=31,e|=i,s[0]=e}return s.buffer}if(!this.isHexOnly){let s=Be(this.tagNumber,7),i=new Uint8Array(s),o=s.byteLength,a=new Uint8Array(o+1);if(a[0]=e|31,!t){for(let c=0;c<o-1;c++)a[c+1]=i[c]|128;a[o]=i[o-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let s=this.valueHexView;for(let i=0;i<s.length-1;i++)n[i+1]=s[i]|128;n[this.valueHexView.byteLength]=s[s.length-1]}return n.buffer}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let a=i[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,f=this.valueHexView=new Uint8Array(255),l=255;for(;i[c]&128;){if(f[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===l){l+=255;let h=new Uint8Array(l);for(let g=0;g<f.length;g++)h[g]=f[g];f=this.valueHexView=new Uint8Array(l)}}this.blockLength=c+1,f[c-1]=i[c]&127;let u=new Uint8Array(c);for(let h=0;h<c;h++)u[h]=f[h];f=this.valueHexView=new Uint8Array(c),f.set(u),this.blockLength<=9?this.tagNumber=He(f,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};kn.NAME="identificationBlock";var Sn=class extends ne{constructor({lenBlock:t={}}={}){var e,n,s;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(s=t.length)!==null&&s!==void 0?s:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,e+this.blockLength;let o=i[0]&127;if(o>8)return this.error="Too big integer",-1;if(o+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=s.subarray(a,a+o);return c[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=He(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let s=Be(this.length,8);if(s.byteLength>127)return this.error="Too big length",Ft;if(e=new ArrayBuffer(s.byteLength+1),t)return e;let i=new Uint8Array(s);n=new Uint8Array(e),n[0]=s.byteLength|128;for(let o=0;o<s.byteLength;o++)n[o+1]=i[o];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};Sn.NAME="lengthBlock";var A={},dt=class extends ne{constructor({name:t=or,optional:e=!1,primitiveSchema:n,...s}={},i){super(s),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new kn(s),this.lenBlock=new Sn(s),this.valueBlock=i?new i(s):new yt(s)}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}toBER(t,e){let n=e||new Ur;e||Wa(this);let s=this.idBlock.toBER(t);if(n.write(s),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let i=this.valueBlock.toBER(t);this.lenBlock.length=i.byteLength;let o=this.lenBlock.toBER(t);n.write(o),n.write(i)}return e?Ft:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():M.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return Ka(e,n)}};dt.NAME="BaseBlock";function Wa(r){if(r instanceof A.Constructed)for(let t of r.valueBlock.value)Wa(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var In=class extends dt{constructor({value:t=or,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};In.NAME="BaseStringBlock";var Tn=class extends ae(yt){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};Tn.NAME="PrimitiveValueBlock";var Za,Cn=class extends dt{constructor(t={}){super(t,Tn),this.idBlock.isConstructed=!1}};Za=Cn;A.Primitive=Za;Cn.NAME="PRIMITIVE";function Ah(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function ls(r,t=0,e=r.length){let n=t,s=new dt({},yt),i=new ne;if(!oe(i,r,t,e))return s.error=i.error,{offset:-1,result:s};if(!r.subarray(t,t+e).length)return s.error="Zero buffer length",{offset:-1,result:s};let a=s.idBlock.fromBER(r,t,e);if(s.idBlock.warnings.length&&s.warnings.concat(s.idBlock.warnings),a===-1)return s.error=s.idBlock.error,{offset:-1,result:s};if(t=a,e-=s.idBlock.blockLength,a=s.lenBlock.fromBER(r,t,e),s.lenBlock.warnings.length&&s.warnings.concat(s.lenBlock.warnings),a===-1)return s.error=s.lenBlock.error,{offset:-1,result:s};if(t=a,e-=s.lenBlock.blockLength,!s.idBlock.isConstructed&&s.lenBlock.isIndefiniteForm)return s.error="Indefinite length form used for primitive encoding form",{offset:-1,result:s};let c=dt;switch(s.idBlock.tagClass){case 1:if(s.idBlock.tagNumber>=37&&s.idBlock.isHexOnly===!1)return s.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:s};switch(s.idBlock.tagNumber){case 0:if(s.idBlock.isConstructed&&s.lenBlock.length>0)return s.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:s};c=A.EndOfContent;break;case 1:c=A.Boolean;break;case 2:c=A.Integer;break;case 3:c=A.BitString;break;case 4:c=A.OctetString;break;case 5:c=A.Null;break;case 6:c=A.ObjectIdentifier;break;case 10:c=A.Enumerated;break;case 12:c=A.Utf8String;break;case 13:c=A.RelativeObjectIdentifier;break;case 14:c=A.TIME;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=A.Sequence;break;case 17:c=A.Set;break;case 18:c=A.NumericString;break;case 19:c=A.PrintableString;break;case 20:c=A.TeletexString;break;case 21:c=A.VideotexString;break;case 22:c=A.IA5String;break;case 23:c=A.UTCTime;break;case 24:c=A.GeneralizedTime;break;case 25:c=A.GraphicString;break;case 26:c=A.VisibleString;break;case 27:c=A.GeneralString;break;case 28:c=A.UniversalString;break;case 29:c=A.CharacterString;break;case 30:c=A.BmpString;break;case 31:c=A.DATE;break;case 32:c=A.TimeOfDay;break;case 33:c=A.DateTime;break;case 34:c=A.Duration;break;default:{let f=s.idBlock.isConstructed?new A.Constructed:new A.Primitive;f.idBlock=s.idBlock,f.lenBlock=s.lenBlock,f.warnings=s.warnings,s=f}}break;case 2:case 3:case 4:default:c=s.idBlock.isConstructed?A.Constructed:A.Primitive}return s=Ah(s,c),a=s.fromBER(r,t,s.lenBlock.isIndefiniteForm?e:s.lenBlock.length),s.valueBeforeDecodeView=r.subarray(n,n+s.blockLength),{offset:a,result:s}}function zi(r){if(!r.byteLength){let t=new dt({},yt);return t.error="Input buffer has zero length",{offset:-1,result:t}}return ls(M.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function kh(r,t){return r?1:t}var Gt=class extends yt{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,s,e,n))return-1;if(this.valueBeforeDecodeView=s.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let i=e;for(;kh(this.isIndefiniteForm,n)>0;){let o=ls(s,i,n);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(i=o.offset,this.blockLength+=o.result.blockLength,n-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===Rr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Rr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){let n=e||new Ur;for(let s=0;s<this.value.length;s++)this.value[s].toBER(t,n);return e?Ft:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};Gt.NAME="ConstructedValueBlock";var ja,Ae=class extends dt{constructor(t={}){super(t,Gt),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
2
|
+
"use strict";var Libp2PPeerStore=(()=>{var Hl=Object.create;var Qr=Object.defineProperty;var Fl=Object.getOwnPropertyDescriptor;var Kl=Object.getOwnPropertyNames;var ql=Object.getPrototypeOf,$l=Object.prototype.hasOwnProperty;var Mo=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),xt=(r,t)=>{for(var e in t)Qr(r,e,{get:t[e],enumerable:!0})},Ho=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Kl(t))!$l.call(r,s)&&s!==e&&Qr(r,s,{get:()=>t[s],enumerable:!(n=Fl(t,s))||n.enumerable});return r};var Fo=(r,t,e)=>(e=r!=null?Hl(ql(r)):{},Ho(t||!r||!r.__esModule?Qr(e,"default",{value:r,enumerable:!0}):e,r)),zl=r=>Ho(Qr({},"__esModule",{value:!0}),r);var Ha=Mo(rr=>{"use strict";var gh="[object ArrayBuffer]",re=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===gh}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),s=r.toUint8Array(e);if(n.length!==s.byteLength)return!1;for(let i=0;i<n.length;i++)if(n[i]!==s[i])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let o of e)n+=o.byteLength;let s=new Uint8Array(n),i=0;for(let o of e){let a=this.toUint8Array(o);s.set(a,i),i+=a.length}return t[t.length-1]instanceof Function?this.toView(s,t[t.length-1]):s.buffer}},Fi="string",yh=/^[0-9a-f\s]+$/i,bh=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,wh=/^[a-zA-Z0-9-_]+$/,vn=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);return n.buffer}static toString(t){let e=re.toUint8Array(t),n="";for(let i=0;i<e.length;i++)n+=String.fromCharCode(e[i]);return decodeURIComponent(escape(n))}},_t=class{static toString(t,e=!1){let n=re.toArrayBuffer(t),s=new DataView(n),i="";for(let o=0;o<n.byteLength;o+=2){let a=s.getUint16(o,e);i+=String.fromCharCode(a)}return i}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),s=new DataView(n);for(let i=0;i<t.length;i++)s.setUint16(i*2,t.charCodeAt(i),e);return n}},En=class r{static isHex(t){return typeof t===Fi&&yh.test(t)}static isBase64(t){return typeof t===Fi&&bh.test(t)}static isBase64Url(t){return typeof t===Fi&&wh.test(t)}static ToString(t,e="utf8"){let n=re.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return _t.toString(n,!0);case"utf16":case"utf16be":return _t.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return _t.fromString(t,!0);case"utf16":case"utf16be":return _t.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=re.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return vn.fromString(t);case"utf16":case"utf16be":return _t.fromString(t);case"utf16le":case"usc2":return _t.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return vn.toString(t);case"utf16":case"utf16be":return _t.toString(t);case"utf16le":case"usc2":return _t.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);return n.buffer}static ToBinary(t){let e=re.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=re.toUint8Array(t),n="",s=e.length;for(let i=0;i<s;i++){let o=e[i];o<16&&(n+="0"),n+=o.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let s=0;s<e.length;s=s+2){let i=e.slice(s,s+2);n[s/2]=parseInt(i,16)}return n.buffer}static ToUtf16String(t,e=!1){return _t.toString(t,e)}static FromUtf16String(t,e=!1){return _t.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};En.DEFAULT_UTF8_ENCODING="utf8";function xh(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let s=arguments[n];for(let i in s)e[i]=s[i]}return e}function vh(...r){let t=r.map(s=>s.byteLength).reduce((s,i)=>s+i),e=new Uint8Array(t),n=0;return r.map(s=>new Uint8Array(s)).forEach(s=>{for(let i of s)e[n++]=i}),e.buffer}function Eh(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<r.byteLength;s++)if(e[s]!==n[s])return!1;return!0}rr.BufferSourceConverter=re;rr.Convert=En;rr.assign=xh;rr.combine=vh;rr.isEqual=Eh});var xl=Mo((Hb,yo)=>{"use strict";var hd=Object.prototype.hasOwnProperty,kt="~";function jr(){}Object.create&&(jr.prototype=Object.create(null),new jr().__proto__||(kt=!1));function dd(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function wl(r,t,e,n,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var i=new dd(e,n||r,s),o=kt?kt+t:t;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],i]:r._events[o].push(i):(r._events[o]=i,r._eventsCount++),r}function As(r,t){--r._eventsCount===0?r._events=new jr:delete r._events[t]}function bt(){this._events=new jr,this._eventsCount=0}bt.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)hd.call(e,n)&&t.push(kt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};bt.prototype.listeners=function(t){var e=kt?kt+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var s=0,i=n.length,o=new Array(i);s<i;s++)o[s]=n[s].fn;return o};bt.prototype.listenerCount=function(t){var e=kt?kt+t:t,n=this._events[e];return n?n.fn?1:n.length:0};bt.prototype.emit=function(t,e,n,s,i,o){var a=kt?kt+t:t;if(!this._events[a])return!1;var c=this._events[a],f=arguments.length,l,u;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),f){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,s),!0;case 5:return c.fn.call(c.context,e,n,s,i),!0;case 6:return c.fn.call(c.context,e,n,s,i,o),!0}for(u=1,l=new Array(f-1);u<f;u++)l[u-1]=arguments[u];c.fn.apply(c.context,l)}else{var h=c.length,g;for(u=0;u<h;u++)switch(c[u].once&&this.removeListener(t,c[u].fn,void 0,!0),f){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,e);break;case 3:c[u].fn.call(c[u].context,e,n);break;case 4:c[u].fn.call(c[u].context,e,n,s);break;default:if(!l)for(g=1,l=new Array(f-1);g<f;g++)l[g-1]=arguments[g];c[u].fn.apply(c[u].context,l)}}return!0};bt.prototype.on=function(t,e,n){return wl(this,t,e,n,!1)};bt.prototype.once=function(t,e,n){return wl(this,t,e,n,!0)};bt.prototype.removeListener=function(t,e,n,s){var i=kt?kt+t:t;if(!this._events[i])return this;if(!e)return As(this,i),this;var o=this._events[i];if(o.fn)o.fn===e&&(!s||o.once)&&(!n||o.context===n)&&As(this,i);else{for(var a=0,c=[],f=o.length;a<f;a++)(o[a].fn!==e||s&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[i]=c.length===1?c[0]:c:As(this,i)}return this};bt.prototype.removeAllListeners=function(t){var e;return t?(e=kt?kt+t:t,this._events[e]&&As(this,e)):(this._events=new jr,this._eventsCount=0),this};bt.prototype.off=bt.prototype.removeListener;bt.prototype.addListener=bt.prototype.on;bt.prefixed=kt;bt.EventEmitter=bt;typeof yo<"u"&&(yo.exports=bt)});var Ed={};xt(Ed,{persistentPeerStore:()=>vd});var tn=Symbol.for("@libp2p/peer-id");function Ko(r){return!!r?.[tn]}var K=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},$e=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var en=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},rn=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var Te=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Ps={};xt(Ps,{base58btc:()=>J,base58flickr:()=>Jl});var Sd=new Uint8Array(0);function qo(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Yt(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function $o(r){return new TextEncoder().encode(r)}function zo(r){return new TextDecoder().decode(r)}function Gl(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var s=0;s<r.length;s++){var i=r.charAt(s),o=i.charCodeAt(0);if(e[o]!==255)throw new TypeError(i+" is ambiguous");e[o]=s}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function u(x){if(x instanceof Uint8Array||(ArrayBuffer.isView(x)?x=new Uint8Array(x.buffer,x.byteOffset,x.byteLength):Array.isArray(x)&&(x=Uint8Array.from(x))),!(x instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(x.length===0)return"";for(var b=0,d=0,w=0,B=x.length;w!==B&&x[w]===0;)w++,b++;for(var m=(B-w)*l+1>>>0,k=new Uint8Array(m);w!==B;){for(var U=x[w],L=0,S=m-1;(U!==0||L<d)&&S!==-1;S--,L++)U+=256*k[S]>>>0,k[S]=U%a>>>0,U=U/a>>>0;if(U!==0)throw new Error("Non-zero carry");d=L,w++}for(var I=m-d;I!==m&&k[I]===0;)I++;for(var N=c.repeat(b);I<m;++I)N+=r.charAt(k[I]);return N}function h(x){if(typeof x!="string")throw new TypeError("Expected String");if(x.length===0)return new Uint8Array;var b=0;if(x[b]!==" "){for(var d=0,w=0;x[b]===c;)d++,b++;for(var B=(x.length-b)*f+1>>>0,m=new Uint8Array(B);x[b];){var k=e[x.charCodeAt(b)];if(k===255)return;for(var U=0,L=B-1;(k!==0||U<w)&&L!==-1;L--,U++)k+=a*m[L]>>>0,m[L]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");w=U,b++}if(x[b]!==" "){for(var S=B-w;S!==B&&m[S]===0;)S++;for(var I=new Uint8Array(d+(B-S)),N=d;S!==B;)I[N++]=m[S++];return I}}}function g(x){var b=h(x);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:h,decode:g}}var Wl=Gl,Zl=Wl,Wo=Zl;var _s=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Vs=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let s=e.codePointAt(0);if(s===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s,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 Zo(this,t)}},Os=class{decoders;constructor(t){this.decoders=t}or(t){return Zo(this,t)}decode(t){let e=t[0],n=this.decoders[e];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 Zo(r,t){return new Os({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Ds=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new _s(t,e,n),this.decoder=new Vs(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ze({name:r,prefix:t,encode:e,decode:n}){return new Ds(r,t,e,n)}function he({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=Wo(e,r);return ze({prefix:t,name:r,encode:n,decode:i=>Yt(s(i))})}function jl(r,t,e,n){let s={};for(let l=0;l<t.length;++l)s[t[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let o=new Uint8Array(i*e/8|0),a=0,c=0,f=0;for(let l=0;l<i;++l){let u=s[r[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|u,a+=e,a>=8&&(a-=8,o[f++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o}function Yl(r,t,e){let n=t[t.length-1]==="=",s=(1<<e)-1,i="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,i+=t[s&a>>o];if(o!==0&&(i+=t[s&a<<e-o]),n)for(;i.length*e&7;)i+="=";return i}function Q({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return ze({prefix:t,name:r,encode(s){return Yl(s,n,e)},decode(s){return jl(s,n,e,r)}})}var J=he({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Jl=he({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ms={};xt(Ms,{base32:()=>Vt,base32hex:()=>eu,base32hexpad:()=>nu,base32hexpadupper:()=>su,base32hexupper:()=>ru,base32pad:()=>Ql,base32padupper:()=>tu,base32upper:()=>Xl,base32z:()=>iu});var Vt=Q({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xl=Q({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Ql=Q({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),tu=Q({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eu=Q({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ru=Q({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),nu=Q({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),su=Q({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),iu=Q({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Hs={};xt(Hs,{base36:()=>br,base36upper:()=>ou});var br=he({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ou=he({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var au=Jo,jo=128,cu=127,lu=~cu,uu=Math.pow(2,31);function Jo(r,t,e){t=t||[],e=e||0;for(var n=e;r>=uu;)t[e++]=r&255|jo,r/=128;for(;r&lu;)t[e++]=r&255|jo,r>>>=7;return t[e]=r|0,Jo.bytes=e-n+1,t}var fu=Fs,hu=128,Yo=127;function Fs(r,n){var e=0,n=n||0,s=0,i=n,o,a=r.length;do{if(i>=a)throw Fs.bytes=0,new RangeError("Could not decode varint");o=r[i++],e+=s<28?(o&Yo)<<s:(o&Yo)*Math.pow(2,s),s+=7}while(o>=hu);return Fs.bytes=i-n,e}var du=Math.pow(2,7),pu=Math.pow(2,14),mu=Math.pow(2,21),gu=Math.pow(2,28),yu=Math.pow(2,35),bu=Math.pow(2,42),wu=Math.pow(2,49),xu=Math.pow(2,56),vu=Math.pow(2,63),Eu=function(r){return r<du?1:r<pu?2:r<mu?3:r<gu?4:r<yu?5:r<bu?6:r<wu?7:r<xu?8:r<vu?9:10},Bu={encode:au,decode:fu,encodingLength:Eu},Au=Bu,wr=Au;function xr(r,t=0){return[wr.decode(r,t),wr.decode.bytes]}function Ge(r,t,e=0){return wr.encode(r,t,e),t}function We(r){return wr.encodingLength(r)}function Ot(r,t){let e=t.byteLength,n=We(r),s=n+We(e),i=new Uint8Array(s+e);return Ge(r,i,0),Ge(e,i,n),i.set(t,s),new Ze(r,e,t,i)}function Ce(r){let t=Yt(r),[e,n]=xr(t),[s,i]=xr(t.subarray(n)),o=t.subarray(n+i);if(o.byteLength!==s)throw new Error("Incorrect length");return new Ze(e,s,o,t)}function Xo(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&qo(r.bytes,e.bytes)}}var Ze=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};function Qo(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Su(e,Ks(r),t??J.encoder);default:return Iu(e,Ks(r),t??Vt.encoder)}}var ta=new WeakMap;function Ks(r){let t=ta.get(r);if(t==null){let e=new Map;return ta.set(r,e),e}return t}var it=class r{code;version;multihash;bytes;"/";constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}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:e}=this;if(t!==vr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Tu)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}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:e}=this.multihash,n=Ot(t,e);return r.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 r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Xo(t.multihash,n.multihash)}toString(t){return Qo(this,t)}toJSON(){return{"/":Qo(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 e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:s,multihash:i,bytes:o}=e;return new r(n,s,i,o??ea(n,s,i.bytes))}else if(e[Cu]===!0){let{version:n,multihash:s,code:i}=e,o=Ce(s);return r.create(n,i,o)}else return null}static create(t,e,n){if(typeof e!="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(e!==vr)throw new Error(`Version 0 CID must use dag-pb (code: ${vr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=ea(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,vr,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,s=Yt(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=s.subarray(e.multihashSize-e.digestSize),o=new Ze(e.multihashCode,e.digestSize,i,s);return[e.version===0?r.createV0(o):r.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,h]=xr(t.subarray(e));return e+=h,u},s=n(),i=vr;if(s===18?(s=0,e=0):i=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let o=e,a=n(),c=n(),f=e+c,l=f-o;return{version:s,codec:i,multihashCode:a,digestSize:c,multihashSize:l,size:f}}static parse(t,e){let[n,s]=ku(t,e),i=r.decode(s);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ks(i).set(n,t),i}};function ku(r,t){switch(r[0]){case"Q":{let e=t??J;return[J.prefix,e.decode(`${J.prefix}${r}`)]}case J.prefix:{let e=t??J;return[J.prefix,e.decode(r)]}case Vt.prefix:{let e=t??Vt;return[Vt.prefix,e.decode(r)]}case br.prefix:{let e=t??br;return[br.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Su(r,t,e){let{prefix:n}=e;if(n!==J.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return s}function Iu(r,t,e){let{prefix:n}=e,s=t.get(n);if(s==null){let i=e.encode(r);return t.set(n,i),i}else return s}var vr=112,Tu=18;function ea(r,t,e){let n=We(r),s=n+We(t),i=new Uint8Array(s+e.byteLength);return Ge(r,i,0),Ge(t,i,n),i.set(e,s),i}var Cu=Symbol.for("@ipld/js-cid/CID");var qs={};xt(qs,{identity:()=>Jt});var ra=0,Nu="identity",na=Yt;function Lu(r){return Ot(ra,na(r))}var Jt={code:ra,name:Nu,encode:na,digest:Lu};function ut(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function sa(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function Uu(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function je(r,...t){if(!Uu(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function ia(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");sa(r.outputLen),sa(r.blockLen)}function Ye(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function oa(r,t){je(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var Ne=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var sn=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),Dt=(r,t)=>r<<32-t|r>>>t;var jd=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function aa(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Er(r){return typeof r=="string"&&(r=aa(r)),je(r),r}function $s(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];je(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let i=r[n];e.set(i,s),s+=i.length}return e}var Je=class{clone(){return this._cloneInto()}},Yd={}.toString;function on(r){let t=n=>r().update(Er(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function an(r=32){if(Ne&&typeof Ne.getRandomValues=="function")return Ne.getRandomValues(new Uint8Array(r));if(Ne&&typeof Ne.randomBytes=="function")return Ne.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function Ru(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let s=BigInt(32),i=BigInt(4294967295),o=Number(e>>s&i),a=Number(e&i),c=n?4:0,f=n?0:4;r.setUint32(t+c,o,n),r.setUint32(t+f,a,n)}var ca=(r,t,e)=>r&t^~r&e,la=(r,t,e)=>r&t^r&e^t&e,Xe=class extends Je{constructor(t,e,n,s){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=sn(this.buffer)}update(t){Ye(this);let{view:e,buffer:n,blockLen:s}=this;t=Er(t);let i=t.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=sn(t);for(;s<=i-o;o+=s)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ye(this),oa(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:s,isLE:i}=this,{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(n,0),o=0);for(let u=o;u<s;u++)e[u]=0;Ru(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=sn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<f;u++)a.setUint32(4*u,l[u],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return t.length=s,t.pos=a,t.finished=i,t.destroyed=o,s%e&&t.buffer.set(n),t}};var cn=BigInt(4294967295),zs=BigInt(32);function ua(r,t=!1){return t?{h:Number(r&cn),l:Number(r>>zs&cn)}:{h:Number(r>>zs&cn)|0,l:Number(r&cn)|0}}function _u(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let s=0;s<r.length;s++){let{h:i,l:o}=ua(r[s],t);[e[s],n[s]]=[i,o]}return[e,n]}var Vu=(r,t)=>BigInt(r>>>0)<<zs|BigInt(t>>>0),Ou=(r,t,e)=>r>>>e,Du=(r,t,e)=>r<<32-e|t>>>e,Pu=(r,t,e)=>r>>>e|t<<32-e,Mu=(r,t,e)=>r<<32-e|t>>>e,Hu=(r,t,e)=>r<<64-e|t>>>e-32,Fu=(r,t,e)=>r>>>e-32|t<<64-e,Ku=(r,t)=>t,qu=(r,t)=>r,$u=(r,t,e)=>r<<e|t>>>32-e,zu=(r,t,e)=>t<<e|r>>>32-e,Gu=(r,t,e)=>t<<e-32|r>>>64-e,Wu=(r,t,e)=>r<<e-32|t>>>64-e;function Zu(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var ju=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Yu=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,Ju=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Xu=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,Qu=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),tf=(r,t,e,n,s,i)=>t+e+n+s+i+(r/2**32|0)|0;var ef={fromBig:ua,split:_u,toBig:Vu,shrSH:Ou,shrSL:Du,rotrSH:Pu,rotrSL:Mu,rotrBH:Hu,rotrBL:Fu,rotr32H:Ku,rotr32L:qu,rotlSH:$u,rotlSL:zu,rotlBH:Gu,rotlBL:Wu,add:Zu,add3L:ju,add3H:Yu,add4L:Ju,add4H:Xu,add5H:tf,add5L:Qu},V=ef;var[rf,nf]=V.split(["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(r=>BigInt(r))),pe=new Uint32Array(80),me=new Uint32Array(80),Gs=class extends Xe{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:f,El:l,Fh:u,Fl:h,Gh:g,Gl:x,Hh:b,Hl:d}=this;return[t,e,n,s,i,o,a,c,f,l,u,h,g,x,b,d]}set(t,e,n,s,i,o,a,c,f,l,u,h,g,x,b,d){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=l|0,this.Fh=u|0,this.Fl=h|0,this.Gh=g|0,this.Gl=x|0,this.Hh=b|0,this.Hl=d|0}process(t,e){for(let m=0;m<16;m++,e+=4)pe[m]=t.getUint32(e),me[m]=t.getUint32(e+=4);for(let m=16;m<80;m++){let k=pe[m-15]|0,U=me[m-15]|0,L=V.rotrSH(k,U,1)^V.rotrSH(k,U,8)^V.shrSH(k,U,7),S=V.rotrSL(k,U,1)^V.rotrSL(k,U,8)^V.shrSL(k,U,7),I=pe[m-2]|0,N=me[m-2]|0,rt=V.rotrSH(I,N,19)^V.rotrBH(I,N,61)^V.shrSH(I,N,6),F=V.rotrSL(I,N,19)^V.rotrBL(I,N,61)^V.shrSL(I,N,6),O=V.add4L(S,F,me[m-7],me[m-16]),nt=V.add4H(O,L,rt,pe[m-7],pe[m-16]);pe[m]=nt|0,me[m]=O|0}let{Ah:n,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:f,Dl:l,Eh:u,El:h,Fh:g,Fl:x,Gh:b,Gl:d,Hh:w,Hl:B}=this;for(let m=0;m<80;m++){let k=V.rotrSH(u,h,14)^V.rotrSH(u,h,18)^V.rotrBH(u,h,41),U=V.rotrSL(u,h,14)^V.rotrSL(u,h,18)^V.rotrBL(u,h,41),L=u&g^~u&b,S=h&x^~h&d,I=V.add5L(B,U,S,nf[m],me[m]),N=V.add5H(I,w,k,L,rf[m],pe[m]),rt=I|0,F=V.rotrSH(n,s,28)^V.rotrBH(n,s,34)^V.rotrBH(n,s,39),O=V.rotrSL(n,s,28)^V.rotrBL(n,s,34)^V.rotrBL(n,s,39),nt=n&i^n&a^i&a,E=s&o^s&c^o&c;w=b|0,B=d|0,b=g|0,d=x|0,g=u|0,x=h|0,{h:u,l:h}=V.add(f|0,l|0,N|0,rt|0),f=a|0,l=c|0,a=i|0,c=o|0,i=n|0,o=s|0;let T=V.add3L(rt,O,E);n=V.add3H(T,N,F,nt),s=T|0}({h:n,l:s}=V.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:o}=V.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=V.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l}=V.add(this.Dh|0,this.Dl|0,f|0,l|0),{h:u,l:h}=V.add(this.Eh|0,this.El|0,u|0,h|0),{h:g,l:x}=V.add(this.Fh|0,this.Fl|0,g|0,x|0),{h:b,l:d}=V.add(this.Gh|0,this.Gl|0,b|0,d|0),{h:w,l:B}=V.add(this.Hh|0,this.Hl|0,w|0,B|0),this.set(n,s,i,o,a,c,f,l,u,h,g,x,b,d,w,B)}roundClean(){pe.fill(0),me.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var fa=on(()=>new Gs);var un={};xt(un,{aInRange:()=>It,abool:()=>Pt,abytes:()=>Qe,bitGet:()=>uf,bitLen:()=>Js,bitMask:()=>Ar,bitSet:()=>ff,bytesToHex:()=>Qt,bytesToNumberBE:()=>te,bytesToNumberLE:()=>ye,concatBytes:()=>ee,createHmacDrbg:()=>Xs,ensureBytes:()=>tt,equalBytes:()=>cf,hexToBytes:()=>Ue,hexToNumber:()=>Ys,inRange:()=>Br,isBytes:()=>ge,memoized:()=>_e,notImplemented:()=>df,numberToBytesBE:()=>be,numberToBytesLE:()=>Re,numberToHexUnpadded:()=>Le,numberToVarBytesBE:()=>af,utf8ToBytes:()=>lf,validateObject:()=>Kt});var js=BigInt(0),ln=BigInt(1),sf=BigInt(2);function ge(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Qe(r){if(!ge(r))throw new Error("Uint8Array expected")}function Pt(r,t){if(typeof t!="boolean")throw new Error(`${r} must be valid boolean, got "${t}".`)}var of=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Qt(r){Qe(r);let t="";for(let e=0;e<r.length;e++)t+=of[r[e]];return t}function Le(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Ys(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Xt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function ha(r){if(r>=Xt._0&&r<=Xt._9)return r-Xt._0;if(r>=Xt._A&&r<=Xt._F)return r-(Xt._A-10);if(r>=Xt._a&&r<=Xt._f)return r-(Xt._a-10)}function Ue(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let s=0,i=0;s<e;s++,i+=2){let o=ha(r.charCodeAt(i)),a=ha(r.charCodeAt(i+1));if(o===void 0||a===void 0){let c=r[i]+r[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[s]=o*16+a}return n}function te(r){return Ys(Qt(r))}function ye(r){return Qe(r),Ys(Qt(Uint8Array.from(r).reverse()))}function be(r,t){return Ue(r.toString(16).padStart(t*2,"0"))}function Re(r,t){return be(r,t).reverse()}function af(r){return Ue(Le(r))}function tt(r,t,e){let n;if(typeof t=="string")try{n=Ue(t)}catch(i){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${i}`)}else if(ge(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let s=n.length;if(typeof e=="number"&&s!==e)throw new Error(`${r} expected ${e} bytes, got ${s}`);return n}function ee(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];Qe(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let i=r[n];e.set(i,s),s+=i.length}return e}function cf(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function lf(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}var Ws=r=>typeof r=="bigint"&&js<=r;function Br(r,t,e){return Ws(r)&&Ws(t)&&Ws(e)&&t<=r&&r<e}function It(r,t,e,n){if(!Br(t,e,n))throw new Error(`expected valid ${r}: ${e} <= n < ${n}, got ${typeof t} ${t}`)}function Js(r){let t;for(t=0;r>js;r>>=ln,t+=1);return t}function uf(r,t){return r>>BigInt(t)&ln}function ff(r,t,e){return r|(e?ln:js)<<BigInt(t)}var Ar=r=>(sf<<BigInt(r-1))-ln,Zs=r=>new Uint8Array(r),da=r=>Uint8Array.from(r);function Xs(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=Zs(r),s=Zs(r),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...u)=>e(s,n,...u),c=(u=Zs())=>{s=a(da([0]),u),n=a(),u.length!==0&&(s=a(da([1]),u),n=a())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,h=[];for(;u<t;){n=a();let g=n.slice();h.push(g),u+=n.length}return ee(...h)};return(u,h)=>{o(),c(u);let g;for(;!(g=h(f()));)c();return o(),g}}var hf={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||ge(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Kt(r,t,e={}){let n=(s,i,o)=>{let a=hf[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=r[s];if(!(o&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(let[s,i]of Object.entries(t))n(s,i,!1);for(let[s,i]of Object.entries(e))n(s,i,!0);return r}var df=()=>{throw new Error("not implemented")};function _e(r){let t=new WeakMap;return(e,...n)=>{let s=t.get(e);if(s!==void 0)return s;let i=r(e,...n);return t.set(e,i),i}}var ot=BigInt(0),j=BigInt(1),Ve=BigInt(2),pf=BigInt(3),Qs=BigInt(4),pa=BigInt(5),ma=BigInt(8),mf=BigInt(9),gf=BigInt(16);function z(r,t){let e=r%t;return e>=ot?e:t+e}function yf(r,t,e){if(e<=ot||t<ot)throw new Error("Expected power/modulo > 0");if(e===j)return ot;let n=j;for(;t>ot;)t&j&&(n=n*r%e),r=r*r%e,t>>=j;return n}function Y(r,t,e){let n=r;for(;t-- >ot;)n*=n,n%=e;return n}function fn(r,t){if(r===ot||t<=ot)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=z(r,t),n=t,s=ot,i=j,o=j,a=ot;for(;e!==ot;){let f=n/e,l=n%e,u=s-o*f,h=i-a*f;n=e,e=l,s=o,i=a,o=u,a=h}if(n!==j)throw new Error("invert: does not exist");return z(s,t)}function bf(r){let t=(r-j)/Ve,e,n,s;for(e=r-j,n=0;e%Ve===ot;e/=Ve,n++);for(s=Ve;s<r&&yf(s,t,r)!==r-j;s++);if(n===1){let o=(r+j)/Qs;return function(c,f){let l=c.pow(f,o);if(!c.eql(c.sqr(l),f))throw new Error("Cannot find square root");return l}}let i=(e+j)/Ve;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,l=a.pow(a.mul(a.ONE,s),e),u=a.pow(c,i),h=a.pow(c,e);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let g=1;for(let b=a.sqr(h);g<f&&!a.eql(b,a.ONE);g++)b=a.sqr(b);let x=a.pow(l,j<<BigInt(f-g-1));l=a.sqr(x),u=a.mul(u,x),h=a.mul(h,l),f=g}return u}}function wf(r){if(r%Qs===pf){let t=(r+j)/Qs;return function(n,s){let i=n.pow(s,t);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(r%ma===pa){let t=(r-pa)/ma;return function(n,s){let i=n.mul(s,Ve),o=n.pow(i,t),a=n.mul(s,o),c=n.mul(n.mul(a,Ve),o),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),s))throw new Error("Cannot find square root");return f}}return r%gf,bf(r)}var ga=(r,t)=>(z(r,t)&j)===j,xf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ti(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=xf.reduce((n,s)=>(n[s]="function",n),t);return Kt(r,e)}function vf(r,t,e){if(e<ot)throw new Error("Expected power > 0");if(e===ot)return r.ONE;if(e===j)return t;let n=r.ONE,s=t;for(;e>ot;)e&j&&(n=r.mul(n,s)),s=r.sqr(s),e>>=j;return n}function Ef(r,t){let e=new Array(t.length),n=t.reduce((i,o,a)=>r.is0(o)?i:(e[a]=i,r.mul(i,o)),r.ONE),s=r.inv(n);return t.reduceRight((i,o,a)=>r.is0(o)?i:(e[a]=r.mul(i,e[a]),r.mul(i,o)),s),e}function ei(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function we(r,t,e=!1,n={}){if(r<=ot)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:s,nByteLength:i}=ei(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=wf(r),a=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:Ar(s),ZERO:ot,ONE:j,create:c=>z(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return ot<=c&&c<r},is0:c=>c===ot,isOdd:c=>(c&j)===j,neg:c=>z(-c,r),eql:(c,f)=>c===f,sqr:c=>z(c*c,r),add:(c,f)=>z(c+f,r),sub:(c,f)=>z(c-f,r),mul:(c,f)=>z(c*f,r),pow:(c,f)=>vf(a,c,f),div:(c,f)=>z(c*fn(f,r),r),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>fn(c,r),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>Ef(a,c),cmov:(c,f,l)=>l?f:c,toBytes:c=>e?Re(c,i):be(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return e?ye(c):te(c)}});return Object.freeze(a)}function ya(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function ri(r){let t=ya(r);return t+Math.ceil(t/2)}function ba(r,t,e=!1){let n=r.length,s=ya(t),i=ri(t);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=e?te(r):ye(r),a=z(o,t-j)+j;return e?Re(a,s):be(a,s)}var Af=BigInt(0),ni=BigInt(1),si=new WeakMap,wa=new WeakMap;function hn(r,t){let e=(i,o)=>{let a=o.negate();return i?a:o},n=i=>{if(!Number.isSafeInteger(i)||i<=0||i>t)throw new Error(`Wrong window size=${i}, should be [1..${t}]`)},s=i=>{n(i);let o=Math.ceil(t/i)+1,a=2**(i-1);return{windows:o,windowSize:a}};return{constTimeNegate:e,unsafeLadder(i,o){let a=r.ZERO,c=i;for(;o>Af;)o&ni&&(a=a.add(c)),c=c.double(),o>>=ni;return a},precomputeWindow(i,o){let{windows:a,windowSize:c}=s(o),f=[],l=i,u=l;for(let h=0;h<a;h++){u=l,f.push(u);for(let g=1;g<c;g++)u=u.add(l),f.push(u);l=u.double()}return f},wNAF(i,o,a){let{windows:c,windowSize:f}=s(i),l=r.ZERO,u=r.BASE,h=BigInt(2**i-1),g=2**i,x=BigInt(i);for(let b=0;b<c;b++){let d=b*f,w=Number(a&h);a>>=x,w>f&&(w-=g,a+=ni);let B=d,m=d+Math.abs(w)-1,k=b%2!==0,U=w<0;w===0?u=u.add(e(k,o[B])):l=l.add(e(U,o[m]))}return{p:l,f:u}},wNAFCached(i,o,a){let c=wa.get(i)||1,f=si.get(i);return f||(f=this.precomputeWindow(i,c),c!==1&&si.set(i,a(f))),this.wNAF(c,f,o)},setWindowSize(i,o){n(o),wa.set(i,o),si.delete(i)}}}function dn(r,t,e,n){if(!Array.isArray(e)||!Array.isArray(n)||n.length!==e.length)throw new Error("arrays of points and scalars must have equal length");n.forEach((l,u)=>{if(!t.isValid(l))throw new Error(`wrong scalar at index ${u}`)}),e.forEach((l,u)=>{if(!(l instanceof r))throw new Error(`wrong point at index ${u}`)});let s=Js(BigInt(e.length)),i=s>12?s-3:s>4?s-2:s?2:1,o=(1<<i)-1,a=new Array(o+1).fill(r.ZERO),c=Math.floor((t.BITS-1)/i)*i,f=r.ZERO;for(let l=c;l>=0;l-=i){a.fill(r.ZERO);for(let h=0;h<n.length;h++){let g=n[h],x=Number(g>>BigInt(l)&BigInt(o));a[x]=a[x].add(e[h])}let u=r.ZERO;for(let h=a.length-1,g=r.ZERO;h>0;h--)g=g.add(a[h]),u=u.add(g);if(f=f.add(u),l!==0)for(let h=0;h<i;h++)f=f.double()}return f}function kr(r){return ti(r.Fp),Kt(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ei(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Mt=BigInt(0),Tt=BigInt(1),pn=BigInt(2),kf=BigInt(8),Sf={zip215:!0};function If(r){let t=kr(r);return Kt(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function xa(r){let t=If(r),{Fp:e,n,prehash:s,hash:i,randomBytes:o,nByteLength:a,h:c}=t,f=pn<<BigInt(a*8)-Tt,l=e.create,u=we(t.n,t.nBitLength),h=t.uvRatio||((y,p)=>{try{return{isValid:!0,value:e.sqrt(y*e.inv(p))}}catch{return{isValid:!1,value:Mt}}}),g=t.adjustScalarBytes||(y=>y),x=t.domain||((y,p,v)=>{if(Pt("phflag",v),p.length||v)throw new Error("Contexts/pre-hash are not supported");return y});function b(y,p){It("coordinate "+y,p,Mt,f)}function d(y){if(!(y instanceof m))throw new Error("ExtendedPoint expected")}let w=_e((y,p)=>{let{ex:v,ey:C,ez:R}=y,_=y.is0();p==null&&(p=_?kf:e.inv(R));let D=l(v*p),H=l(C*p),P=l(R*p);if(_)return{x:Mt,y:Tt};if(P!==Tt)throw new Error("invZ was invalid");return{x:D,y:H}}),B=_e(y=>{let{a:p,d:v}=t;if(y.is0())throw new Error("bad point: ZERO");let{ex:C,ey:R,ez:_,et:D}=y,H=l(C*C),P=l(R*R),$=l(_*_),W=l($*$),ct=l(H*p),lt=l($*l(ct+P)),ht=l(W+l(v*l(H*P)));if(lt!==ht)throw new Error("bad point: equation left != right (1)");let wt=l(C*R),st=l(_*D);if(wt!==st)throw new Error("bad point: equation left != right (2)");return!0});class m{constructor(p,v,C,R){this.ex=p,this.ey=v,this.ez=C,this.et=R,b("x",p),b("y",v),b("z",C),b("t",R),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(p){if(p instanceof m)throw new Error("extended point not allowed");let{x:v,y:C}=p||{};return b("x",v),b("y",C),new m(v,C,Tt,l(v*C))}static normalizeZ(p){let v=e.invertBatch(p.map(C=>C.ez));return p.map((C,R)=>C.toAffine(v[R])).map(m.fromAffine)}static msm(p,v){return dn(m,u,p,v)}_setWindowSize(p){L.setWindowSize(this,p)}assertValidity(){B(this)}equals(p){d(p);let{ex:v,ey:C,ez:R}=this,{ex:_,ey:D,ez:H}=p,P=l(v*H),$=l(_*R),W=l(C*H),ct=l(D*R);return P===$&&W===ct}is0(){return this.equals(m.ZERO)}negate(){return new m(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:p}=t,{ex:v,ey:C,ez:R}=this,_=l(v*v),D=l(C*C),H=l(pn*l(R*R)),P=l(p*_),$=v+C,W=l(l($*$)-_-D),ct=P+D,lt=ct-H,ht=P-D,wt=l(W*lt),st=l(ct*ht),St=l(W*ht),jt=l(lt*ct);return new m(wt,st,jt,St)}add(p){d(p);let{a:v,d:C}=t,{ex:R,ey:_,ez:D,et:H}=this,{ex:P,ey:$,ez:W,et:ct}=p;if(v===BigInt(-1)){let Uo=l((_-R)*($+P)),Ro=l((_+R)*($-P)),Rs=l(Ro-Uo);if(Rs===Mt)return this.double();let _o=l(D*pn*ct),Vo=l(H*pn*W),Oo=Vo+_o,Do=Ro+Uo,Po=Vo-_o,Ol=l(Oo*Rs),Dl=l(Do*Po),Pl=l(Oo*Po),Ml=l(Rs*Do);return new m(Ol,Dl,Ml,Pl)}let lt=l(R*P),ht=l(_*$),wt=l(H*C*ct),st=l(D*W),St=l((R+_)*(P+$)-lt-ht),jt=st-wt,gr=st+wt,yr=l(ht-v*lt),Ul=l(St*jt),Rl=l(gr*yr),_l=l(St*yr),Vl=l(jt*gr);return new m(Ul,Rl,Vl,_l)}subtract(p){return this.add(p.negate())}wNAF(p){return L.wNAFCached(this,p,m.normalizeZ)}multiply(p){let v=p;It("scalar",v,Tt,n);let{p:C,f:R}=this.wNAF(v);return m.normalizeZ([C,R])[0]}multiplyUnsafe(p){let v=p;return It("scalar",v,Mt,n),v===Mt?U:this.equals(U)||v===Tt?this:this.equals(k)?this.wNAF(v).p:L.unsafeLadder(this,v)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return L.unsafeLadder(this,n).is0()}toAffine(p){return w(this,p)}clearCofactor(){let{h:p}=t;return p===Tt?this:this.multiplyUnsafe(p)}static fromHex(p,v=!1){let{d:C,a:R}=t,_=e.BYTES;p=tt("pointHex",p,_),Pt("zip215",v);let D=p.slice(),H=p[_-1];D[_-1]=H&-129;let P=ye(D),$=v?f:e.ORDER;It("pointHex.y",P,Mt,$);let W=l(P*P),ct=l(W-Tt),lt=l(C*W-R),{isValid:ht,value:wt}=h(ct,lt);if(!ht)throw new Error("Point.fromHex: invalid y coordinate");let st=(wt&Tt)===Tt,St=(H&128)!==0;if(!v&&wt===Mt&&St)throw new Error("Point.fromHex: x=0 and x_0=1");return St!==st&&(wt=l(-wt)),m.fromAffine({x:wt,y:P})}static fromPrivateKey(p){return N(p).point}toRawBytes(){let{x:p,y:v}=this.toAffine(),C=Re(v,e.BYTES);return C[C.length-1]|=p&Tt?128:0,C}toHex(){return Qt(this.toRawBytes())}}m.BASE=new m(t.Gx,t.Gy,Tt,l(t.Gx*t.Gy)),m.ZERO=new m(Mt,Tt,Tt,Mt);let{BASE:k,ZERO:U}=m,L=hn(m,a*8);function S(y){return z(y,n)}function I(y){return S(ye(y))}function N(y){let p=a;y=tt("private key",y,p);let v=tt("hashed private key",i(y),2*p),C=g(v.slice(0,p)),R=v.slice(p,2*p),_=I(C),D=k.multiply(_),H=D.toRawBytes();return{head:C,prefix:R,scalar:_,point:D,pointBytes:H}}function rt(y){return N(y).pointBytes}function F(y=new Uint8Array,...p){let v=ee(...p);return I(i(x(v,tt("context",y),!!s)))}function O(y,p,v={}){y=tt("message",y),s&&(y=s(y));let{prefix:C,scalar:R,pointBytes:_}=N(p),D=F(v.context,C,y),H=k.multiply(D).toRawBytes(),P=F(v.context,H,_,y),$=S(D+P*R);It("signature.s",$,Mt,n);let W=ee(H,Re($,e.BYTES));return tt("result",W,a*2)}let nt=Sf;function E(y,p,v,C=nt){let{context:R,zip215:_}=C,D=e.BYTES;y=tt("signature",y,2*D),p=tt("message",p),_!==void 0&&Pt("zip215",_),s&&(p=s(p));let H=ye(y.slice(D,2*D)),P,$,W;try{P=m.fromHex(v,_),$=m.fromHex(y.slice(0,D),_),W=k.multiplyUnsafe(H)}catch{return!1}if(!_&&P.isSmallOrder())return!1;let ct=F(R,$.toRawBytes(),P.toRawBytes(),p);return $.add(P.multiplyUnsafe(ct)).subtract(W).clearCofactor().equals(m.ZERO)}return k._setWindowSize(8),{CURVE:t,getPublicKey:rt,sign:O,verify:E,ExtendedPoint:m,utils:{getExtendedPublicKey:N,randomPrivateKey:()=>o(e.BYTES),precompute(y=8,p=m.BASE){return p._setWindowSize(y),p.multiply(BigInt(3)),p}}}}var ii=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),va=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),w0=BigInt(0),Tf=BigInt(1),Ea=BigInt(2),x0=BigInt(3),Cf=BigInt(5),Nf=BigInt(8);function Lf(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),s=BigInt(80),i=ii,a=r*r%i*r%i,c=Y(a,Ea,i)*a%i,f=Y(c,Tf,i)*r%i,l=Y(f,Cf,i)*f%i,u=Y(l,t,i)*l%i,h=Y(u,e,i)*u%i,g=Y(h,n,i)*h%i,x=Y(g,s,i)*g%i,b=Y(x,s,i)*g%i,d=Y(b,t,i)*l%i;return{pow_p_5_8:Y(d,Ea,i)*r%i,b2:a}}function Uf(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Rf(r,t){let e=ii,n=z(t*t*t,e),s=z(n*n*t,e),i=Lf(r*s).pow_p_5_8,o=z(r*n*i,e),a=z(t*o*o,e),c=o,f=z(o*va,e),l=a===r,u=a===z(-r,e),h=a===z(-r*va,e);return l&&(o=c),(u||h)&&(o=f),ga(o,e)&&(o=z(-o,e)),{isValid:l||u,value:o}}var _f=we(ii,void 0,!0),Vf={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:_f,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Nf,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:fa,randomBytes:an,adjustScalarBytes:Uf,uvRatio:Rf},Ba=xa(Vf);var mn=32;function Aa(r,t,e){return Ba.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}var gn=class{type="Ed25519";raw;constructor(t){this.raw=oi(t,mn)}toMultihash(){return Jt.digest(qt(this))}toCID(){return it.createV1(114,this.toMultihash())}toString(){return J.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ut(this.raw,t.raw)}verify(t,e){return Aa(this.raw,e,t)}};function ai(r){return r=oi(r,mn),new gn(r)}function oi(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new K(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}function et(r=0){return new Uint8Array(r)}function Ct(r=0){return new Uint8Array(r)}var Df=Math.pow(2,7),Pf=Math.pow(2,14),Mf=Math.pow(2,21),ci=Math.pow(2,28),li=Math.pow(2,35),ui=Math.pow(2,42),fi=Math.pow(2,49),q=128,mt=127;function Nt(r){if(r<Df)return 1;if(r<Pf)return 2;if(r<Mf)return 3;if(r<ci)return 4;if(r<li)return 5;if(r<ui)return 6;if(r<fi)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function hi(r,t,e=0){switch(Nt(r)){case 8:t[e++]=r&255|q,r/=128;case 7:t[e++]=r&255|q,r/=128;case 6:t[e++]=r&255|q,r/=128;case 5:t[e++]=r&255|q,r/=128;case 4:t[e++]=r&255|q,r>>>=7;case 3:t[e++]=r&255|q,r>>>=7;case 2:t[e++]=r&255|q,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Hf(r,t,e=0){switch(Nt(r)){case 8:t.set(e++,r&255|q),r/=128;case 7:t.set(e++,r&255|q),r/=128;case 6:t.set(e++,r&255|q),r/=128;case 5:t.set(e++,r&255|q),r/=128;case 4:t.set(e++,r&255|q),r>>>=7;case 3:t.set(e++,r&255|q),r>>>=7;case 2:t.set(e++,r&255|q),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function di(r,t){let e=r[t],n=0;if(n+=e&mt,e<q||(e=r[t+1],n+=(e&mt)<<7,e<q)||(e=r[t+2],n+=(e&mt)<<14,e<q)||(e=r[t+3],n+=(e&mt)<<21,e<q)||(e=r[t+4],n+=(e&mt)*ci,e<q)||(e=r[t+5],n+=(e&mt)*li,e<q)||(e=r[t+6],n+=(e&mt)*ui,e<q)||(e=r[t+7],n+=(e&mt)*fi,e<q))return n;throw new RangeError("Could not decode varint")}function Ff(r,t){let e=r.get(t),n=0;if(n+=e&mt,e<q||(e=r.get(t+1),n+=(e&mt)<<7,e<q)||(e=r.get(t+2),n+=(e&mt)<<14,e<q)||(e=r.get(t+3),n+=(e&mt)<<21,e<q)||(e=r.get(t+4),n+=(e&mt)*ci,e<q)||(e=r.get(t+5),n+=(e&mt)*li,e<q)||(e=r.get(t+6),n+=(e&mt)*ui,e<q)||(e=r.get(t+7),n+=(e&mt)*fi,e<q))return n;throw new RangeError("Could not decode varint")}function $t(r,t,e=0){return t==null&&(t=Ct(Nt(r))),t instanceof Uint8Array?hi(r,t,e):Hf(r,t,e)}function Oe(r,t=0){return r instanceof Uint8Array?di(r,t):Ff(r,t)}var mi=new Float32Array([-0]),xe=new Uint8Array(mi.buffer);function Sa(r,t,e){mi[0]=r,t[e]=xe[0],t[e+1]=xe[1],t[e+2]=xe[2],t[e+3]=xe[3]}function Ia(r,t){return xe[0]=r[t],xe[1]=r[t+1],xe[2]=r[t+2],xe[3]=r[t+3],mi[0]}var gi=new Float64Array([-0]),gt=new Uint8Array(gi.buffer);function Ta(r,t,e){gi[0]=r,t[e]=gt[0],t[e+1]=gt[1],t[e+2]=gt[2],t[e+3]=gt[3],t[e+4]=gt[4],t[e+5]=gt[5],t[e+6]=gt[6],t[e+7]=gt[7]}function Ca(r,t){return gt[0]=r[t],gt[1]=r[t+1],gt[2]=r[t+2],gt[3]=r[t+3],gt[4]=r[t+4],gt[5]=r[t+5],gt[6]=r[t+6],gt[7]=r[t+7],gi[0]}var Kf=BigInt(Number.MAX_SAFE_INTEGER),qf=BigInt(Number.MIN_SAFE_INTEGER),Ut=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+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 e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(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,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return De;if(t<Kf&&t>qf)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,s=t-(n<<32n);return e&&(n=~n|0n,s=~s|0n,++s>Na&&(s=0n,++n>Na&&(n=0n))),new r(Number(s),Number(n))}static fromNumber(t){if(t===0)return De;let e=t<0;e&&(t=-t);let n=t>>>0,s=(t-n)/4294967296>>>0;return e&&(s=~s>>>0,n=~n>>>0,++n>4294967295&&(n=0,++s>4294967295&&(s=0))),new r(n,s)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):De}},De=new Ut(0,0);De.toBigInt=function(){return 0n};De.zzEncode=De.zzDecode=function(){return this};De.length=function(){return 1};var Na=4294967296n;function La(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Ua(r,t,e){if(e-t<1)return"";let s,i=[],o=0,a;for(;t<e;)a=r[t++],a<128?i[o++]=a:a>191&&a<224?i[o++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[o++]=55296+(a>>10),i[o++]=56320+(a&1023)):i[o++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,o>8191&&((s??(s=[])).push(String.fromCharCode.apply(String,i)),o=0);return s!=null?(o>0&&s.push(String.fromCharCode.apply(String,i.slice(0,o))),s.join("")):String.fromCharCode.apply(String,i.slice(0,o))}function yi(r,t,e){let n=e,s,i;for(let o=0;o<r.length;++o)s=r.charCodeAt(o),s<128?t[e++]=s:s<2048?(t[e++]=s>>6|192,t[e++]=s&63|128):(s&64512)===55296&&((i=r.charCodeAt(o+1))&64512)===56320?(s=65536+((s&1023)<<10)+(i&1023),++o,t[e++]=s>>18|240,t[e++]=s>>12&63|128,t[e++]=s>>6&63|128,t[e++]=s&63|128):(t[e++]=s>>12|224,t[e++]=s>>6&63|128,t[e++]=s&63|128);return e-n}function Ht(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function yn(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var bi=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,Ht(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 Ht(this,4);return yn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ht(this,4);return yn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ht(this,4);let t=Ia(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Ht(this,4);let t=Ca(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Ht(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Ua(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ht(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ht(this);while(this.buf[this.pos++]&128);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 Ut(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*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;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Ht(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Ht(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Ht(this,8);let t=yn(this.buf,this.pos+=4),e=yn(this.buf,this.pos+=4);return new Ut(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=di(this.buf,this.pos);return this.pos+=Nt(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 wi(r){return new bi(r instanceof Uint8Array?r:r.subarray())}function vt(r,t,e){let n=wi(r);return t.decode(n,void 0,e)}var xi={};xt(xi,{base10:()=>$f});var $f=he({prefix:"9",name:"base10",alphabet:"0123456789"});var vi={};xt(vi,{base16:()=>zf,base16upper:()=>Gf});var zf=Q({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Gf=Q({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ei={};xt(Ei,{base2:()=>Wf});var Wf=Q({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Bi={};xt(Bi,{base256emoji:()=>Xf});var _a=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}"),Zf=_a.reduce((r,t,e)=>(r[e]=t,r),[]),jf=_a.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Yf(r){return r.reduce((t,e)=>(t+=Zf[e],t),"")}function Jf(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let s=jf[n];if(s==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(s)}return new Uint8Array(t)}var Xf=ze({prefix:"\u{1F680}",name:"base256emoji",encode:Yf,decode:Jf});var Ai={};xt(Ai,{base64:()=>Qf,base64pad:()=>th,base64url:()=>eh,base64urlpad:()=>rh});var Qf=Q({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),th=Q({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),eh=Q({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),rh=Q({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ki={};xt(ki,{base8:()=>nh});var nh=Q({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Si={};xt(Si,{identity:()=>sh});var sh=ze({prefix:"\0",name:"identity",encode:r=>zo(r),decode:r=>$o(r)});var rp=new TextEncoder,np=new TextDecoder;var Ci={};xt(Ci,{sha256:()=>Sr,sha512:()=>ah});function Ti({name:r,code:t,encode:e}){return new Ii(r,t,e)}var Ii=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Ot(this.code,e):e.then(n=>Ot(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Oa(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var Sr=Ti({name:"sha2-256",code:18,encode:Oa("SHA-256")}),ah=Ti({name:"sha2-512",code:19,encode:Oa("SHA-512")});var Ir={...Si,...Ei,...ki,...xi,...vi,...Ms,...Hs,...Ps,...Ai,...Bi},mp={...Ci,...qs};function Pa(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Da=Pa("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ni=Pa("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Ct(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),ch={utf8:Da,"utf-8":Da,hex:Ir.base16,latin1:Ni,ascii:Ni,binary:Ni,...Ir},bn=ch;function Z(r,t="utf8"){let e=bn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Li(r){let t=r??8192,e=t>>>1,n,s=t;return function(o){if(o<1||o>e)return Ct(o);s+o>t&&(n=Ct(t),s=0);let a=n.subarray(s,s+=o);return s&7&&(s=(s|7)+1),a}}var Pe=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Ui(){}var _i=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},lh=Li();function uh(r){return globalThis.Buffer!=null?Ct(r):lh(r)}var Cr=class{len;head;tail;states;constructor(){this.len=0,this.head=new Pe(Ui,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new Pe(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Vi((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(wn,10,Ut.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Ut.fromBigInt(t);return this._push(wn,e.length(),e)}uint64Number(t){return this._push(hi,Nt(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 e=Ut.fromBigInt(t).zzEncode();return this._push(wn,e.length(),e)}sint64Number(t){let e=Ut.fromNumber(t).zzEncode();return this._push(wn,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Ri,1,t?1:0)}fixed32(t){return this._push(Tr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Ut.fromBigInt(t);return this._push(Tr,4,e.lo)._push(Tr,4,e.hi)}fixed64Number(t){let e=Ut.fromNumber(t);return this._push(Tr,4,e.lo)._push(Tr,4,e.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(Sa,4,t)}double(t){return this._push(Ta,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Ri,1,0):this.uint32(e)._push(hh,e,t)}string(t){let e=La(t);return e!==0?this.uint32(e)._push(yi,e,t):this._push(Ri,1,0)}fork(){return this.states=new _i(this),this.head=this.tail=new Pe(Ui,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 Pe(Ui,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=uh(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Ri(r,t,e){t[e]=r&255}function fh(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Vi=class extends Pe{next;constructor(t,e){super(fh,t,e),this.next=void 0}};function wn(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Tr(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function hh(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Cr.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(dh,t,r),this},Cr.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(ph,t,r),this});function dh(r,t,e){t.set(r,e)}function ph(r,t,e){r.length<40?yi(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Z(r),e)}function Oi(){return new Cr}function Et(r,t){let e=Oi();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var tr;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(tr||(tr={}));function xn(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Di(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(i,o){let a=t(i);o.int32(a)},n=function(i){let o=i.int32();return t(o)};return xn("enum",tr.VARINT,e,n)}function Bt(r,t){return xn("message",tr.LENGTH_DELIMITED,r,t)}var Me=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"},Nr=class extends Error{code="ERR_MAX_SIZE";name="MaxSizeError"};var at;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(at||(at={}));var Pi;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(Pi||(Pi={}));(function(r){r.codec=()=>Di(Pi)})(at||(at={}));var zt;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),at.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=at.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(zt||(zt={}));var Mi;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),at.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=at.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(Mi||(Mi={}));var Hr={};xt(Hr,{MAX_RSA_KEY_SIZE:()=>fs,generateRSAKeyPair:()=>Vc,jwkToJWKKeyPair:()=>Oc,jwkToPkcs1:()=>Nh,jwkToPkix:()=>Zi,jwkToRSAPrivateKey:()=>_c,pkcs1ToJwk:()=>Lc,pkcs1ToRSAPrivateKey:()=>Rc,pkixToJwk:()=>Uc,pkixToRSAPublicKey:()=>ji});var mh=new Uint32Array([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]),ve=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ee=new Uint32Array(64),Hi=class extends Xe{constructor(){super(64,32,8,!1),this.A=ve[0]|0,this.B=ve[1]|0,this.C=ve[2]|0,this.D=ve[3]|0,this.E=ve[4]|0,this.F=ve[5]|0,this.G=ve[6]|0,this.H=ve[7]|0}get(){let{A:t,B:e,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[t,e,n,s,i,o,a,c]}set(t,e,n,s,i,o,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,e){for(let u=0;u<16;u++,e+=4)Ee[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let h=Ee[u-15],g=Ee[u-2],x=Dt(h,7)^Dt(h,18)^h>>>3,b=Dt(g,17)^Dt(g,19)^g>>>10;Ee[u]=b+Ee[u-7]+x+Ee[u-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:f,H:l}=this;for(let u=0;u<64;u++){let h=Dt(a,6)^Dt(a,11)^Dt(a,25),g=l+h+ca(a,c,f)+mh[u]+Ee[u]|0,b=(Dt(n,2)^Dt(n,13)^Dt(n,22))+la(n,s,i)|0;l=f,f=c,c=a,a=o+g|0,o=i,i=s,s=n,n=g+b|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(n,s,i,o,a,c,f,l)}roundClean(){Ee.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var er=on(()=>new Hi);var M=Fo(Ha());function He(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function Be(r,t,e=-1){let n=e,s=r,i=0,o=Math.pow(2,t);for(let a=1;a<8;a++){if(r<o){let c;if(n<0)c=new ArrayBuffer(a),i=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),i=n}let f=new Uint8Array(c);for(let l=a-1;l>=0;l--){let u=Math.pow(2,l*t);f[i-l-1]=Math.floor(s/u),s-=f[i-l-1]*u}return c}o*=Math.pow(2,t)}return new ArrayBuffer(0)}function Bn(...r){let t=0,e=0;for(let i of r)t+=i.length;let n=new ArrayBuffer(t),s=new Uint8Array(n);for(let i of r)s.set(i,e),e+=i.length;return s}function Ki(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=He(e,8),s=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(s);for(let a=0;a<this.valueHex.byteLength;a++)i[a]=r[a];return i[0]&=127,He(i,8)-n}function Fa(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let o=e-t,a=Be(o,8,n),c=new Uint8Array(a);return c[0]|=128,a}let s=Be(t,8,n),i=new Uint8Array(s);if(i[0]&128){let o=s.slice(0),a=new Uint8Array(o);s=new ArrayBuffer(s.byteLength+1),i=new Uint8Array(s);for(let c=0;c<o.byteLength;c++)i[c+1]=a[c];i[0]=0}return s}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function Ka(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<e.length;s++)if(e[s]!==n[s])return!1;return!0}function Lt(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,s=new Array(n);for(let o=0;o<n;o++)s[o]="0";return s.join("").concat(e)}var Yp=Math.log(2);function An(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function qi(r){let t=0,e=0;for(let s=0;s<r.length;s++){let i=r[s];t+=i.byteLength}let n=new Uint8Array(t);for(let s=0;s<r.length;s++){let i=r[s];n.set(new Uint8Array(i),e),e+=i.byteLength}return n.buffer}function oe(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Ur=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return qi(this.items)}},Lr=[new Uint8Array([1])],qa="0123456789";var or="",Ft=new ArrayBuffer(0),$i=new Uint8Array(0),Rr="EndOfContent",za="OCTET STRING",Ga="BIT STRING";function ae(r){var t;return t=class extends r{constructor(...n){var s;super(...n);let i=n[0]||{};this.isHexOnly=(s=i.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=i.valueHex?M.BufferSourceConverter.toUint8Array(i.valueHex):$i}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,s,i){let o=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!oe(this,o,s,i))return-1;let a=s+i;return this.valueHexView=o.subarray(s,a),this.valueHexView.length?(this.blockLength=i,a):(this.warnings.push("Zero buffer length"),s)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Ft)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:M.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var ne=class{constructor({blockLength:t=0,error:e=or,warnings:n=[],valueBeforeDecode:s=$i}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=M.BufferSourceConverter.toUint8Array(s)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:M.Convert.ToHex(this.valueBeforeDecodeView)}}};ne.NAME="baseBlock";var yt=class extends ne{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};yt.NAME="valueBlock";var kn=class extends ae(ne){constructor({idBlock:t={}}={}){var e,n,s,i;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?M.BufferSourceConverter.toUint8Array(t.valueHex):$i,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(s=t.tagNumber)!==null&&s!==void 0?s:-1,this.isConstructed=(i=t.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Ft}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let s=new Uint8Array(1);if(!t){let i=this.tagNumber;i&=31,e|=i,s[0]=e}return s.buffer}if(!this.isHexOnly){let s=Be(this.tagNumber,7),i=new Uint8Array(s),o=s.byteLength,a=new Uint8Array(o+1);if(a[0]=e|31,!t){for(let c=0;c<o-1;c++)a[c+1]=i[c]|128;a[o]=i[o-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let s=this.valueHexView;for(let i=0;i<s.length-1;i++)n[i+1]=s[i]|128;n[this.valueHexView.byteLength]=s[s.length-1]}return n.buffer}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let a=i[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,f=this.valueHexView=new Uint8Array(255),l=255;for(;i[c]&128;){if(f[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===l){l+=255;let h=new Uint8Array(l);for(let g=0;g<f.length;g++)h[g]=f[g];f=this.valueHexView=new Uint8Array(l)}}this.blockLength=c+1,f[c-1]=i[c]&127;let u=new Uint8Array(c);for(let h=0;h<c;h++)u[h]=f[h];f=this.valueHexView=new Uint8Array(c),f.set(u),this.blockLength<=9?this.tagNumber=He(f,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};kn.NAME="identificationBlock";var Sn=class extends ne{constructor({lenBlock:t={}}={}){var e,n,s;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(s=t.length)!==null&&s!==void 0?s:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,e+this.blockLength;let o=i[0]&127;if(o>8)return this.error="Too big integer",-1;if(o+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=s.subarray(a,a+o);return c[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=He(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let s=Be(this.length,8);if(s.byteLength>127)return this.error="Too big length",Ft;if(e=new ArrayBuffer(s.byteLength+1),t)return e;let i=new Uint8Array(s);n=new Uint8Array(e),n[0]=s.byteLength|128;for(let o=0;o<s.byteLength;o++)n[o+1]=i[o];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};Sn.NAME="lengthBlock";var A={},dt=class extends ne{constructor({name:t=or,optional:e=!1,primitiveSchema:n,...s}={},i){super(s),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new kn(s),this.lenBlock=new Sn(s),this.valueBlock=i?new i(s):new yt(s)}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}toBER(t,e){let n=e||new Ur;e||Wa(this);let s=this.idBlock.toBER(t);if(n.write(s),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let i=this.valueBlock.toBER(t);this.lenBlock.length=i.byteLength;let o=this.lenBlock.toBER(t);n.write(o),n.write(i)}return e?Ft:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():M.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return Ka(e,n)}};dt.NAME="BaseBlock";function Wa(r){if(r instanceof A.Constructed)for(let t of r.valueBlock.value)Wa(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var In=class extends dt{constructor({value:t=or,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};In.NAME="BaseStringBlock";var Tn=class extends ae(yt){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};Tn.NAME="PrimitiveValueBlock";var Za,Cn=class extends dt{constructor(t={}){super(t,Tn),this.idBlock.isConstructed=!1}};Za=Cn;A.Primitive=Za;Cn.NAME="PRIMITIVE";function Ah(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function ls(r,t=0,e=r.length){let n=t,s=new dt({},yt),i=new ne;if(!oe(i,r,t,e))return s.error=i.error,{offset:-1,result:s};if(!r.subarray(t,t+e).length)return s.error="Zero buffer length",{offset:-1,result:s};let a=s.idBlock.fromBER(r,t,e);if(s.idBlock.warnings.length&&s.warnings.concat(s.idBlock.warnings),a===-1)return s.error=s.idBlock.error,{offset:-1,result:s};if(t=a,e-=s.idBlock.blockLength,a=s.lenBlock.fromBER(r,t,e),s.lenBlock.warnings.length&&s.warnings.concat(s.lenBlock.warnings),a===-1)return s.error=s.lenBlock.error,{offset:-1,result:s};if(t=a,e-=s.lenBlock.blockLength,!s.idBlock.isConstructed&&s.lenBlock.isIndefiniteForm)return s.error="Indefinite length form used for primitive encoding form",{offset:-1,result:s};let c=dt;switch(s.idBlock.tagClass){case 1:if(s.idBlock.tagNumber>=37&&s.idBlock.isHexOnly===!1)return s.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:s};switch(s.idBlock.tagNumber){case 0:if(s.idBlock.isConstructed&&s.lenBlock.length>0)return s.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:s};c=A.EndOfContent;break;case 1:c=A.Boolean;break;case 2:c=A.Integer;break;case 3:c=A.BitString;break;case 4:c=A.OctetString;break;case 5:c=A.Null;break;case 6:c=A.ObjectIdentifier;break;case 10:c=A.Enumerated;break;case 12:c=A.Utf8String;break;case 13:c=A.RelativeObjectIdentifier;break;case 14:c=A.TIME;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=A.Sequence;break;case 17:c=A.Set;break;case 18:c=A.NumericString;break;case 19:c=A.PrintableString;break;case 20:c=A.TeletexString;break;case 21:c=A.VideotexString;break;case 22:c=A.IA5String;break;case 23:c=A.UTCTime;break;case 24:c=A.GeneralizedTime;break;case 25:c=A.GraphicString;break;case 26:c=A.VisibleString;break;case 27:c=A.GeneralString;break;case 28:c=A.UniversalString;break;case 29:c=A.CharacterString;break;case 30:c=A.BmpString;break;case 31:c=A.DATE;break;case 32:c=A.TimeOfDay;break;case 33:c=A.DateTime;break;case 34:c=A.Duration;break;default:{let f=s.idBlock.isConstructed?new A.Constructed:new A.Primitive;f.idBlock=s.idBlock,f.lenBlock=s.lenBlock,f.warnings=s.warnings,s=f}}break;case 2:case 3:case 4:default:c=s.idBlock.isConstructed?A.Constructed:A.Primitive}return s=Ah(s,c),a=s.fromBER(r,t,s.lenBlock.isIndefiniteForm?e:s.lenBlock.length),s.valueBeforeDecodeView=r.subarray(n,n+s.blockLength),{offset:a,result:s}}function zi(r){if(!r.byteLength){let t=new dt({},yt);return t.error="Input buffer has zero length",{offset:-1,result:t}}return ls(M.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function kh(r,t){return r?1:t}var Gt=class extends yt{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,s,e,n))return-1;if(this.valueBeforeDecodeView=s.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let i=e;for(;kh(this.isIndefiniteForm,n)>0;){let o=ls(s,i,n);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(i=o.offset,this.blockLength+=o.result.blockLength,n-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===Rr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Rr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){let n=e||new Ur;for(let s=0;s<this.value.length;s++)this.value[s].toBER(t,n);return e?Ft:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};Gt.NAME="ConstructedValueBlock";var ja,Ae=class extends dt{constructor(t={}){super(t,Gt),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
3
3
|
`).map(s=>` ${s}`).join(`
|
4
4
|
`));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
|
5
5
|
${t.join(`
|
6
|
-
`)}`:`${e} :`}};ja=Ae;A.Constructed=ja;Ae.NAME="CONSTRUCTED";var Nn=class extends yt{fromBER(t,e,n){return e}toBER(t){return Ft}};Nn.override="EndOfContentValueBlock";var Ya,Ln=class extends dt{constructor(t={}){super(t,Nn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};Ya=Ln;A.EndOfContent=Ya;Ln.NAME=Rr;var Ja,nr=class extends dt{constructor(t={}){super(t,yt),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};Ja=nr;A.Null=Ja;nr.NAME="NULL";var Un=class extends ae(yt){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=M.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);return oe(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Ki.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Un.NAME="BooleanValueBlock";var Xa,Rn=class extends dt{constructor(t={}){super(t,Un),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Xa=Rn;A.Boolean=Xa;Rn.NAME="BOOLEAN";var _n=class extends ae(Gt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Gt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let i=0;i<this.value.length;i++){let o=this.value[i].constructor.NAME;if(o===Rr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==za)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Gt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};_n.NAME="OctetStringValueBlock";var Qa,Vn=class r extends dt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},_n),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(i.byteLength){let o=ls(i,0,i.byteLength);o.offset!==-1&&o.offset===n&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Ae.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return M.BufferSourceConverter.concat(t)}};Qa=Vn;A.OctetString=Qa;Vn.NAME=za;var On=class extends ae(Gt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Gt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===Rr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Ga)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let f=a.valueBlock;if(this.unusedBits>0&&f.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=f.unusedBits}return s}let i=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,i,e,n))return-1;let o=i.subarray(e,e+n);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=ls(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,e+n}toBER(t,e){if(this.isConstructed)return Gt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ft;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};On.NAME="BitStringValueBlock";var tc,sr=class extends dt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},On),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Ae.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let s of e)t.push(s.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};tc=sr;A.BitString=tc;sr.NAME=Ga;var ec;function Sh(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,f=0,l=c<o?o:c,u=0;for(let h=l;h>=0;h--,u++){switch(!0){case u<a.length:f=i[o-u]+a[c-u]+e[0];break;default:f=i[o-u]+e[0]}switch(e[0]=f/10,!0){case u>=i.length:i=Bn(new Uint8Array([f%10]),i);break;default:i[o-u]=f%10}}return e[0]>0&&(i=Bn(e,i)),i}function $a(r){if(r>=Lr.length)for(let t=Lr.length;t<=r;t++){let e=new Uint8Array([0]),n=Lr[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let i=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=i[0]/10,n[s]=i[0]%10}e[0]>0&&(n=Bn(e,n)),Lr.push(n)}return Lr[r]}function Ih(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,f,l=0;for(let u=c;u>=0;u--,l++)switch(f=i[o-l]-a[c-l]-e,!0){case f<0:e=1,i[o-l]=f+10;break;default:e=0,i[o-l]=f}if(e>0)for(let u=o-c+1;u>=0;u--,l++)if(f=i[o-l]-e,f<0)e=1,i[o-l]=f+10;else{e=0,i[o-l]=f;break}return i.slice()}var _r=class extends ae(yt){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Ki.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Fa(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let i=this.fromBER(t,e,n);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):s!==0&&o.length<s&&(s-o.length>1&&(s=o.length+1),this.valueHexView=o.subarray(s-o.length)),i}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){s=i[c];for(let f=0;f<8;f++){if((s&1)===1)switch(n){case t:e=Ih($a(n),e),o="-";break;default:e=Sh(e,$a(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(o+=qa.charAt(e[c]));return a===!1&&(o+=qa.charAt(0)),o}};ec=_r;_r.NAME="IntegerValueBlock";Object.defineProperty(ec.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var rc,pt=class r extends dt{constructor(t={}){super(t,_r),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return An(),BigInt(this.valueBlock.toString())}static fromBigInt(t){An();let e=BigInt(t),n=new Ur,s=e.toString(16).replace(/^-/,""),i=new Uint8Array(M.Convert.FromHex(s));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let f=BigInt(`0x${M.Convert.ToHex(a)}`)+e,l=M.BufferSourceConverter.toUint8Array(M.Convert.FromHex(f.toString(16)));l[0]|=128,n.write(l)}else i[0]&128&&n.write(new Uint8Array([0])),n.write(i);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};rc=pt;A.Integer=rc;pt.NAME="INTEGER";var nc,Dn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};nc=Dn;A.Enumerated=nc;Dn.NAME="ENUMERATED";var Vr=class extends ae(yt){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=He(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){An();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=Be(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ft;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n}toString(){let t="";if(this.isHexOnly)t=M.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Vr.NAME="sidBlock";var Pn=class extends yt{constructor({value:t=or,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Vr;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Ft;e.push(s)}return qi(e)}fromString(t){this.value=[];let e=0,n=0,s="",i=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,i){let o=this.value[0],a=0;switch(o.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;o.valueDec=c+a,i=!1}else{let o=new Vr;if(s>Number.MAX_SAFE_INTEGER){An();let a=BigInt(s);o.valueBigInt=a}else if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Pn.NAME="ObjectIdentifierValueBlock";var sc,ir=class extends dt{constructor(t={}){super(t,Pn),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};sc=ir;A.ObjectIdentifier=sc;ir.NAME="OBJECT IDENTIFIER";var Or=class extends ae(ne){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=He(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=Be(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ft;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n.buffer}toString(){let t="";return this.isHexOnly?t=M.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Or.NAME="relativeSidBlock";var Mn=class extends yt{constructor({value:t=or,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Or;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let i=this.value[s].toBER(t);if(i.byteLength===0)return this.error=this.value[s].error,Ft;n.push(i)}return qi(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let i=new Or;if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Mn.NAME="RelativeObjectIdentifierValueBlock";var ic,Hn=class extends dt{constructor(t={}){super(t,Mn),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};ic=Hn;A.RelativeObjectIdentifier=ic;Hn.NAME="RelativeObjectIdentifier";var oc,se=class extends Ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};oc=se;A.Sequence=oc;se.NAME="SEQUENCE";var ac,Fn=class extends Ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};ac=Fn;A.Set=ac;Fn.NAME="SET";var Kn=class extends ae(yt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=or}toJSON(){return{...super.toJSON(),value:this.value}}};Kn.NAME="StringValueBlock";var qn=class extends Kn{};qn.NAME="SimpleStringValueBlock";var At=class extends In{constructor({...t}={}){super(t,qn)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};At.NAME="SIMPLE STRING";var $n=class extends At{fromBuffer(t){this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=M.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=M.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf8String(t)),this.valueBlock.value=t}};$n.NAME="Utf8StringValueBlock";var cc,ie=class extends $n{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};cc=ie;A.Utf8String=cc;ie.NAME="UTF8String";var zn=class extends At{fromBuffer(t){this.valueBlock.value=M.Convert.ToUtf16String(t),this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf16String(t))}};zn.NAME="BmpStringValueBlock";var lc,Gn=class extends zn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};lc=Gn;A.BmpString=lc;Gn.NAME="BMPString";var Wn=class extends At{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let i=Be(t.charCodeAt(s),8),o=new Uint8Array(i);if(o.length>4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)n[s*4+c+a]=o[c]}this.valueBlock.value=t}};Wn.NAME="UniversalStringValueBlock";var uc,Zn=class extends Wn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};uc=Zn;A.UniversalString=uc;Zn.NAME="UniversalString";var fc,jn=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};fc=jn;A.NumericString=fc;jn.NAME="NumericString";var hc,Yn=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};hc=Yn;A.PrintableString=hc;Yn.NAME="PrintableString";var dc,Jn=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};dc=Jn;A.TeletexString=dc;Jn.NAME="TeletexString";var pc,Xn=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};pc=Xn;A.VideotexString=pc;Xn.NAME="VideotexString";var mc,Qn=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};mc=Qn;A.IA5String=mc;Qn.NAME="IA5String";var gc,ts=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};gc=ts;A.GraphicString=gc;ts.NAME="GraphicString";var yc,Dr=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};yc=Dr;A.VisibleString=yc;Dr.NAME="VisibleString";var bc,es=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};bc=es;A.GeneralString=bc;es.NAME="GeneralString";var wc,rs=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};wc=rs;A.CharacterString=wc;rs.NAME="CharacterString";var xc,Pr=class extends Dr{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=Lt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Lt(this.month,2),e[2]=Lt(this.day,2),e[3]=Lt(this.hour,2),e[4]=Lt(this.minute,2),e[5]=Lt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};xc=Pr;A.UTCTime=xc;Pr.NAME="UTCTime";var vc,ns=class extends Pr{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",s="",i=0,o,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let u=new Number(t[t.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,h=n.indexOf("+"),g="";if(h===-1&&(h=n.indexOf("-"),u=-1),h!==-1){if(g=n.substring(h+1),n=n.substring(0,h),g.length!==2&&g.length!==4)throw new Error("Wrong input string for conversion");let x=parseInt(g.substring(0,2),10);if(isNaN(x.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*x,g.length===4){if(x=parseInt(g.substring(2,4),10),isNaN(x.valueOf()))throw new Error("Wrong input string for conversion");c=u*x}}}let f=n.indexOf(".");if(f===-1&&(f=n.indexOf(",")),f!==-1){let u=new Number(`0${n.substring(f)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");i=u.valueOf(),s=n.substring(0,f)}else s=n;switch(!0){case s.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,f!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=60*i;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=60*i;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=1e3*i;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let l=o.exec(s);if(l===null)throw new Error("Wrong input string for conversion");for(let u=1;u<l.length;u++)switch(u){case 1:this.year=parseInt(l[u],10);break;case 2:this.month=parseInt(l[u],10);break;case 3:this.day=parseInt(l[u],10);break;case 4:this.hour=parseInt(l[u],10)+a;break;case 5:this.minute=parseInt(l[u],10)+c;break;case 6:this.second=parseInt(l[u],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let u=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=u.getUTCFullYear(),this.month=u.getUTCMonth(),this.day=u.getUTCDay(),this.hour=u.getUTCHours(),this.minute=u.getUTCMinutes(),this.second=u.getUTCSeconds(),this.millisecond=u.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Lt(this.year,4)),e.push(Lt(this.month,2)),e.push(Lt(this.day,2)),e.push(Lt(this.hour,2)),e.push(Lt(this.minute,2)),e.push(Lt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Lt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};vc=ns;A.GeneralizedTime=vc;ns.NAME="GeneralizedTime";var Ec,ss=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Ec=ss;A.DATE=Ec;ss.NAME="DATE";var Bc,is=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};Bc=is;A.TimeOfDay=Bc;is.NAME="TimeOfDay";var Ac,os=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Ac=os;A.DateTime=Ac;os.NAME="DateTime";var kc,as=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};kc=as;A.Duration=kc;as.NAME="Duration";var Sc,cs=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};Sc=cs;A.TIME=Sc;cs.NAME="TIME";function X(r,t="utf8"){let e=bn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var Mr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},us=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Ic={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new us("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 ke=Ic;async function Tc(r){let t=await ke.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Ch(t);return{privateKey:e[0],publicKey:e[1]}}async function Cc(r,t){let e=await ke.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ke.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Nc(r,t,e){let n=await ke.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ke.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Ch(r){if(r.privateKey==null||r.publicKey==null)throw new K("Private and public key are required");return Promise.all([ke.get().subtle.exportKey("jwk",r.privateKey),ke.get().subtle.exportKey("jwk",r.publicKey)])}function Gi(r){if(r.kty!=="RSA")throw new K("invalid key type");if(r.n==null)throw new K("invalid key modulus");return Z(r.n,"base64url").length*8}var ar=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Hr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return it.createV1(114,this._multihash)}toString(){return J.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ut(this.raw,t.raw)}verify(t,e){return Nc(this._key,e,t)}},Fr=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Hr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ut(this.raw,t.raw)}sign(t){return Cc(this._key,t)}};var fs=8192,Wi=18;function Lc(r){let{result:t}=zi(r),e=t.valueBlock.value;return{n:Wt(e[1]),e:Wt(e[2]),d:Wt(e[3]),p:Wt(e[4]),q:Wt(e[5]),dp:Wt(e[6]),dq:Wt(e[7]),qi:Wt(e[8]),kty:"RSA",alg:"RS256"}}function Nh(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new K("JWK was missing components");let e=new se({value:[new pt({value:0}),pt.fromBigInt(Zt(Z(r.n,"base64url"))),pt.fromBigInt(Zt(Z(r.e,"base64url"))),pt.fromBigInt(Zt(Z(r.d,"base64url"))),pt.fromBigInt(Zt(Z(r.p,"base64url"))),pt.fromBigInt(Zt(Z(r.q,"base64url"))),pt.fromBigInt(Zt(Z(r.dp,"base64url"))),pt.fromBigInt(Zt(Z(r.dq,"base64url"))),pt.fromBigInt(Zt(Z(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Uc(r){let{result:t}=zi(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:Wt(e[0]),e:Wt(e[1])}}function Zi(r){if(r.n==null||r.e==null)throw new K("JWK was missing components");let e=new se({value:[new se({value:[new ir({value:"1.2.840.113549.1.1.1"}),new nr]}),new sr({valueHex:new se({value:[pt.fromBigInt(Zt(Z(r.n,"base64url"))),pt.fromBigInt(Zt(Z(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Wt(r){let t=r.valueBlock.valueHexView;for(;t[0]===0;)t=t.subarray(1);return X(t,"base64url")}function Zt(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}function Rc(r){let t=Lc(r);return _c(t)}function ji(r){let t=Uc(r);if(Gi(t)>fs)throw new $e("Key size is too large");let e=er(zt.encode({Type:at.RSA,Data:r})),n=Ot(Wi,e);return new ar(t,n)}function _c(r){if(Gi(r)>fs)throw new K("Key size is too large");let t=Oc(r),e=er(zt.encode({Type:at.RSA,Data:Zi(t.publicKey)})),n=Ot(Wi,e);return new Fr(t.privateKey,new ar(t.publicKey,n))}async function Vc(r){if(r>fs)throw new K("Key size is too large");let t=await Tc(r),e=er(zt.encode({Type:at.RSA,Data:Zi(t.publicKey)})),n=Ot(Wi,e);return new Fr(t.privateKey,new ar(t.publicKey,n))}function Oc(r){if(r==null)throw new K("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var hs=class extends Je{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,ia(t);let n=Er(e);if(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 s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?t.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=t.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(t){return Ye(this),this.iHash.update(t),this}digestInto(t){Ye(this),je(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=i,t.blockLen=o,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Yi=(r,t,e)=>new hs(r,t).update(e).digest();Yi.create=(r,t)=>new hs(r,t);function Dc(r){r.lowS!==void 0&&Pt("lowS",r.lowS),r.prehash!==void 0&&Pt("prehash",r.prehash)}function Lh(r){let t=kr(r);Kt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:s}=t;if(e){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Uh,hexToBytes:Rh}=un,ce={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(r,t)=>{let{Err:e}=ce;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,s=Le(n);if(s.length/2&128)throw new e("tlv.encode: long form length too big");let i=n>127?Le(s.length/2|128):"";return`${Le(r)}${i}${s}${t}`},decode(r,t){let{Err:e}=ce,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let s=t[n++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+c);if(f.length!==c)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let l of f)o=o<<8|l;if(n+=c,o<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+o);if(a.length!==o)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+o)}}},_int:{encode(r){let{Err:t}=ce;if(r<le)throw new t("integer: negative integers are not allowed");let e=Le(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected assertion");return e},decode(r){let{Err:t}=ce;if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return Uh(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=ce,s=typeof r=="string"?Rh(r):r;Qe(s);let{v:i,l:o}=n.decode(48,s);if(o.length)throw new t("Invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:f,l}=n.decode(2,c);if(l.length)throw new t("Invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=ce,n=`${t.encode(2,e.encode(r.r))}${t.encode(2,e.encode(r.s))}`;return t.encode(48,n)}},le=BigInt(0),ft=BigInt(1),Tm=BigInt(2),Pc=BigInt(3),Cm=BigInt(4);function _h(r){let t=Lh(r),{Fp:e}=t,n=we(t.n,t.nBitLength),s=t.toBytes||((b,d,w)=>{let B=d.toAffine();return ee(Uint8Array.from([4]),e.toBytes(B.x),e.toBytes(B.y))}),i=t.fromBytes||(b=>{let d=b.subarray(1),w=e.fromBytes(d.subarray(0,e.BYTES)),B=e.fromBytes(d.subarray(e.BYTES,2*e.BYTES));return{x:w,y:B}});function o(b){let{a:d,b:w}=t,B=e.sqr(b),m=e.mul(B,b);return e.add(e.add(m,e.mul(b,d)),w)}if(!e.eql(e.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function a(b){return Br(b,ft,t.n)}function c(b){let{allowedPrivateKeyLengths:d,nByteLength:w,wrapPrivateKey:B,n:m}=t;if(d&&typeof b!="bigint"){if(ge(b)&&(b=Qt(b)),typeof b!="string"||!d.includes(b.length))throw new Error("Invalid key");b=b.padStart(w*2,"0")}let k;try{k=typeof b=="bigint"?b:te(tt("private key",b,w))}catch{throw new Error(`private key must be ${w} bytes, hex or bigint, not ${typeof b}`)}return B&&(k=z(k,m)),It("private key",k,ft,m),k}function f(b){if(!(b instanceof h))throw new Error("ProjectivePoint expected")}let l=_e((b,d)=>{let{px:w,py:B,pz:m}=b;if(e.eql(m,e.ONE))return{x:w,y:B};let k=b.is0();d==null&&(d=k?e.ONE:e.inv(m));let U=e.mul(w,d),L=e.mul(B,d),S=e.mul(m,d);if(k)return{x:e.ZERO,y:e.ZERO};if(!e.eql(S,e.ONE))throw new Error("invZ was invalid");return{x:U,y:L}}),u=_e(b=>{if(b.is0()){if(t.allowInfinityPoint&&!e.is0(b.py))return;throw new Error("bad point: ZERO")}let{x:d,y:w}=b.toAffine();if(!e.isValid(d)||!e.isValid(w))throw new Error("bad point: x or y not FE");let B=e.sqr(w),m=o(d);if(!e.eql(B,m))throw new Error("bad point: equation left != right");if(!b.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class h{constructor(d,w,B){if(this.px=d,this.py=w,this.pz=B,d==null||!e.isValid(d))throw new Error("x required");if(w==null||!e.isValid(w))throw new Error("y required");if(B==null||!e.isValid(B))throw new Error("z required");Object.freeze(this)}static fromAffine(d){let{x:w,y:B}=d||{};if(!d||!e.isValid(w)||!e.isValid(B))throw new Error("invalid affine point");if(d instanceof h)throw new Error("projective point not allowed");let m=k=>e.eql(k,e.ZERO);return m(w)&&m(B)?h.ZERO:new h(w,B,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let w=e.invertBatch(d.map(B=>B.pz));return d.map((B,m)=>B.toAffine(w[m])).map(h.fromAffine)}static fromHex(d){let w=h.fromAffine(i(tt("pointHex",d)));return w.assertValidity(),w}static fromPrivateKey(d){return h.BASE.multiply(c(d))}static msm(d,w){return dn(h,n,d,w)}_setWindowSize(d){x.setWindowSize(this,d)}assertValidity(){u(this)}hasEvenY(){let{y:d}=this.toAffine();if(e.isOdd)return!e.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:w,py:B,pz:m}=this,{px:k,py:U,pz:L}=d,S=e.eql(e.mul(w,L),e.mul(k,m)),I=e.eql(e.mul(B,L),e.mul(U,m));return S&&I}negate(){return new h(this.px,e.neg(this.py),this.pz)}double(){let{a:d,b:w}=t,B=e.mul(w,Pc),{px:m,py:k,pz:U}=this,L=e.ZERO,S=e.ZERO,I=e.ZERO,N=e.mul(m,m),rt=e.mul(k,k),F=e.mul(U,U),O=e.mul(m,k);return O=e.add(O,O),I=e.mul(m,U),I=e.add(I,I),L=e.mul(d,I),S=e.mul(B,F),S=e.add(L,S),L=e.sub(rt,S),S=e.add(rt,S),S=e.mul(L,S),L=e.mul(O,L),I=e.mul(B,I),F=e.mul(d,F),O=e.sub(N,F),O=e.mul(d,O),O=e.add(O,I),I=e.add(N,N),N=e.add(I,N),N=e.add(N,F),N=e.mul(N,O),S=e.add(S,N),F=e.mul(k,U),F=e.add(F,F),N=e.mul(F,O),L=e.sub(L,N),I=e.mul(F,rt),I=e.add(I,I),I=e.add(I,I),new h(L,S,I)}add(d){f(d);let{px:w,py:B,pz:m}=this,{px:k,py:U,pz:L}=d,S=e.ZERO,I=e.ZERO,N=e.ZERO,rt=t.a,F=e.mul(t.b,Pc),O=e.mul(w,k),nt=e.mul(B,U),E=e.mul(m,L),T=e.add(w,B),y=e.add(k,U);T=e.mul(T,y),y=e.add(O,nt),T=e.sub(T,y),y=e.add(w,m);let p=e.add(k,L);return y=e.mul(y,p),p=e.add(O,E),y=e.sub(y,p),p=e.add(B,m),S=e.add(U,L),p=e.mul(p,S),S=e.add(nt,E),p=e.sub(p,S),N=e.mul(rt,y),S=e.mul(F,E),N=e.add(S,N),S=e.sub(nt,N),N=e.add(nt,N),I=e.mul(S,N),nt=e.add(O,O),nt=e.add(nt,O),E=e.mul(rt,E),y=e.mul(F,y),nt=e.add(nt,E),E=e.sub(O,E),E=e.mul(rt,E),y=e.add(y,E),O=e.mul(nt,y),I=e.add(I,O),O=e.mul(p,y),S=e.mul(T,S),S=e.sub(S,O),O=e.mul(T,nt),N=e.mul(p,N),N=e.add(N,O),new h(S,I,N)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return x.wNAFCached(this,d,h.normalizeZ)}multiplyUnsafe(d){It("scalar",d,le,t.n);let w=h.ZERO;if(d===le)return w;if(d===ft)return this;let{endo:B}=t;if(!B)return x.unsafeLadder(this,d);let{k1neg:m,k1:k,k2neg:U,k2:L}=B.splitScalar(d),S=w,I=w,N=this;for(;k>le||L>le;)k&ft&&(S=S.add(N)),L&ft&&(I=I.add(N)),N=N.double(),k>>=ft,L>>=ft;return m&&(S=S.negate()),U&&(I=I.negate()),I=new h(e.mul(I.px,B.beta),I.py,I.pz),S.add(I)}multiply(d){let{endo:w,n:B}=t;It("scalar",d,ft,B);let m,k;if(w){let{k1neg:U,k1:L,k2neg:S,k2:I}=w.splitScalar(d),{p:N,f:rt}=this.wNAF(L),{p:F,f:O}=this.wNAF(I);N=x.constTimeNegate(U,N),F=x.constTimeNegate(S,F),F=new h(e.mul(F.px,w.beta),F.py,F.pz),m=N.add(F),k=rt.add(O)}else{let{p:U,f:L}=this.wNAF(d);m=U,k=L}return h.normalizeZ([m,k])[0]}multiplyAndAddUnsafe(d,w,B){let m=h.BASE,k=(L,S)=>S===le||S===ft||!L.equals(m)?L.multiplyUnsafe(S):L.multiply(S),U=k(this,w).add(k(d,B));return U.is0()?void 0:U}toAffine(d){return l(this,d)}isTorsionFree(){let{h:d,isTorsionFree:w}=t;if(d===ft)return!0;if(w)return w(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:w}=t;return d===ft?this:w?w(h,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return Pt("isCompressed",d),this.assertValidity(),s(h,this,d)}toHex(d=!0){return Pt("isCompressed",d),Qt(this.toRawBytes(d))}}h.BASE=new h(t.Gx,t.Gy,e.ONE),h.ZERO=new h(e.ZERO,e.ONE,e.ZERO);let g=t.nBitLength,x=hn(h,t.endo?Math.ceil(g/2):g);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function Vh(r){let t=kr(r);return Kt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Mc(r){let t=Vh(r),{Fp:e,n}=t,s=e.BYTES+1,i=2*e.BYTES+1;function o(E){return z(E,n)}function a(E){return fn(E,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:u}=_h({...t,toBytes(E,T,y){let p=T.toAffine(),v=e.toBytes(p.x),C=ee;return Pt("isCompressed",y),y?C(Uint8Array.from([T.hasEvenY()?2:3]),v):C(Uint8Array.from([4]),v,e.toBytes(p.y))},fromBytes(E){let T=E.length,y=E[0],p=E.subarray(1);if(T===s&&(y===2||y===3)){let v=te(p);if(!Br(v,ft,e.ORDER))throw new Error("Point is not on curve");let C=l(v),R;try{R=e.sqrt(C)}catch(H){let P=H instanceof Error?": "+H.message:"";throw new Error("Point is not on curve"+P)}let _=(R&ft)===ft;return(y&1)===1!==_&&(R=e.neg(R)),{x:v,y:R}}else if(T===i&&y===4){let v=e.fromBytes(p.subarray(0,e.BYTES)),C=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x:v,y:C}}else throw new Error(`Point of length ${T} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),h=E=>Qt(be(E,t.nByteLength));function g(E){let T=n>>ft;return E>T}function x(E){return g(E)?o(-E):E}let b=(E,T,y)=>te(E.slice(T,y));class d{constructor(T,y,p){this.r=T,this.s=y,this.recovery=p,this.assertValidity()}static fromCompact(T){let y=t.nByteLength;return T=tt("compactSignature",T,y*2),new d(b(T,0,y),b(T,y,2*y))}static fromDER(T){let{r:y,s:p}=ce.toSig(tt("DER",T));return new d(y,p)}assertValidity(){It("r",this.r,ft,n),It("s",this.s,ft,n)}addRecoveryBit(T){return new d(this.r,this.s,T)}recoverPublicKey(T){let{r:y,s:p,recovery:v}=this,C=L(tt("msgHash",T));if(v==null||![0,1,2,3].includes(v))throw new Error("recovery id invalid");let R=v===2||v===3?y+t.n:y;if(R>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let _=v&1?"03":"02",D=c.fromHex(_+h(R)),H=a(R),P=o(-C*H),$=o(p*H),W=c.BASE.multiplyAndAddUnsafe(D,P,$);if(!W)throw new Error("point at infinify");return W.assertValidity(),W}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new d(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Ue(this.toDERHex())}toDERHex(){return ce.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Ue(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let w={isValidPrivateKey(E){try{return f(E),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let E=ri(t.n);return ba(t.randomBytes(E),t.n)},precompute(E=8,T=c.BASE){return T._setWindowSize(E),T.multiply(BigInt(3)),T}};function B(E,T=!0){return c.fromPrivateKey(E).toRawBytes(T)}function m(E){let T=ge(E),y=typeof E=="string",p=(T||y)&&E.length;return T?p===s||p===i:y?p===2*s||p===2*i:E instanceof c}function k(E,T,y=!0){if(m(E))throw new Error("first arg must be private key");if(!m(T))throw new Error("second arg must be public key");return c.fromHex(T).multiply(f(E)).toRawBytes(y)}let U=t.bits2int||function(E){let T=te(E),y=E.length*8-t.nBitLength;return y>0?T>>BigInt(y):T},L=t.bits2int_modN||function(E){return o(U(E))},S=Ar(t.nBitLength);function I(E){return It(`num < 2^${t.nBitLength}`,E,le,S),be(E,t.nByteLength)}function N(E,T,y=rt){if(["recovered","canonical"].some(lt=>lt in y))throw new Error("sign() legacy options not supported");let{hash:p,randomBytes:v}=t,{lowS:C,prehash:R,extraEntropy:_}=y;C==null&&(C=!0),E=tt("msgHash",E),Dc(y),R&&(E=tt("prehashed msgHash",p(E)));let D=L(E),H=f(T),P=[I(H),I(D)];if(_!=null&&_!==!1){let lt=_===!0?v(e.BYTES):_;P.push(tt("extraEntropy",lt))}let $=ee(...P),W=D;function ct(lt){let ht=U(lt);if(!u(ht))return;let wt=a(ht),st=c.BASE.multiply(ht).toAffine(),St=o(st.x);if(St===le)return;let jt=o(wt*o(W+St*H));if(jt===le)return;let gr=(st.x===St?0:2)|Number(st.y&ft),yr=jt;return C&&g(jt)&&(yr=x(jt),gr^=1),new d(St,yr,gr)}return{seed:$,k2sig:ct}}let rt={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function O(E,T,y=rt){let{seed:p,k2sig:v}=N(E,T,y),C=t;return Xs(C.hash.outputLen,C.nByteLength,C.hmac)(p,v)}c.BASE._setWindowSize(8);function nt(E,T,y,p=F){let v=E;if(T=tt("msgHash",T),y=tt("publicKey",y),"strict"in p)throw new Error("options.strict was renamed to lowS");Dc(p);let{lowS:C,prehash:R}=p,_,D;try{if(typeof v=="string"||ge(v))try{_=d.fromDER(v)}catch(st){if(!(st instanceof ce.Err))throw st;_=d.fromCompact(v)}else if(typeof v=="object"&&typeof v.r=="bigint"&&typeof v.s=="bigint"){let{r:st,s:St}=v;_=new d(st,St)}else throw new Error("PARSE");D=c.fromHex(y)}catch(st){if(st.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(C&&_.hasHighS())return!1;R&&(T=t.hash(T));let{r:H,s:P}=_,$=L(T),W=a(P),ct=o($*W),lt=o(H*W),ht=c.BASE.multiplyAndAddUnsafe(D,ct,lt)?.toAffine();return ht?o(ht.x)===H:!1}return{CURVE:t,getPublicKey:B,getSharedSecret:k,sign:O,verify:nt,ProjectivePoint:c,Signature:d,utils:w}}function Oh(r){return{hash:r,hmac:(t,...e)=>Yi(r,t,$s(...e)),randomBytes:an}}function Hc(r,t){let e=n=>Mc({...r,...Oh(n)});return Object.freeze({...e(t),create:e})}var qc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Fc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Dh=BigInt(1),Ji=BigInt(2),Kc=(r,t)=>(r+t/Ji)/t;function Ph(r){let t=qc,e=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),f=r*r*r%t,l=f*f*r%t,u=Y(l,e,t)*l%t,h=Y(u,e,t)*l%t,g=Y(h,Ji,t)*f%t,x=Y(g,s,t)*g%t,b=Y(x,i,t)*x%t,d=Y(b,a,t)*b%t,w=Y(d,c,t)*d%t,B=Y(w,a,t)*b%t,m=Y(B,e,t)*l%t,k=Y(m,o,t)*x%t,U=Y(k,n,t)*f%t,L=Y(U,Ji,t);if(!Xi.eql(Xi.sqr(L),r))throw new Error("Cannot find square root");return L}var Xi=we(qc,void 0,void 0,{sqrt:Ph}),Fe=Hc({a:BigInt(0),b:BigInt(7),Fp:Xi,n:Fc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Fc,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Dh*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,o=BigInt("0x100000000000000000000000000000000"),a=Kc(i*r,t),c=Kc(-n*r,t),f=z(r-a*e-c*s,t),l=z(-a*n-c*i,t),u=f>o,h=l>o;if(u&&(f=t-f),h&&(l=t-l),f>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:f,k2neg:h,k2:l}}}},er),Pm=BigInt(0);var Mm=Fe.ProjectivePoint;function Rt(r,t){t==null&&(t=r.reduce((s,i)=>s+i.length,0));let e=Ct(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}function $c(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function zc(r,t,e){let n=Sr.digest(e instanceof Uint8Array?e:e.subarray());if($c(n))return n.then(({digest:s})=>Fe.verify(t,s,r)).catch(s=>{throw new Mr(String(s))});try{return Fe.verify(t,n.digest,r)}catch(s){throw new Mr(String(s))}}var ds=class{type="secp256k1";raw;_key;constructor(t){this._key=Wc(t),this.raw=Gc(this._key)}toMultihash(){return Jt.digest(qt(this))}toCID(){return it.createV1(114,this.toMultihash())}toString(){return J.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ut(this.raw,t.raw)}verify(t,e){return zc(this._key,e,t)}};function Qi(r){return new ds(r)}function Gc(r){return Fe.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Wc(r){try{return Fe.ProjectivePoint.fromHex(r),r}catch(t){throw new $e(String(t))}}function ps(r){let{Type:t,Data:e}=zt.decode(r),n=e??new Uint8Array;switch(t){case at.RSA:return ji(n);case at.Ed25519:return ai(n);case at.secp256k1:return Qi(n);default:throw new Te}}function Zc(r){let{Type:t,Data:e}=zt.decode(r.digest),n=e??new Uint8Array;switch(t){case at.Ed25519:return ai(n);case at.secp256k1:return Qi(n);default:throw new Te}}function qt(r){return zt.encode({Type:at[r.type],Data:r.raw})}var jc=Symbol.for("nodejs.util.inspect.custom"),Mh=114,Kr=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()})`}[tn]=!0;toString(){return this.string==null&&(this.string=J.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return it.createV1(Mh,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return ut(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return ut(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[jc](){return`PeerId(${this.toString()})`}},qr=class extends Kr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},$r=class extends Kr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},zr=class extends Kr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Hh=2336,Gr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Jt.digest(Z(this.url))}[jc](){return`PeerId(${this.url})`}[tn]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return it.createV1(Hh,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=X(t)),t.toString()===this.toString())}};var Fh=114,Yc=2336;function Jc(r){if(r.type==="Ed25519")return new $r({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new zr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new qr({multihash:r.toCID().multihash,publicKey:r});throw new Te}function to(r){if(qh(r))return new qr({multihash:r});if(Kh(r))try{let t=Zc(r);if(t.type==="Ed25519")return new $r({multihash:r,publicKey:t});if(t.type==="secp256k1")return new zr({multihash:r,publicKey:t})}catch{let e=X(r.digest);return new Gr(new URL(e))}throw new rn("Supplied PeerID Multihash is invalid")}function ms(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==Fh&&r.code!==Yc)throw new en("Supplied PeerID CID is invalid");if(r.code===Yc){let t=X(r.multihash.digest);return new Gr(new URL(t))}return to(r.multihash)}function Kh(r){return r.code===Jt.code}function qh(r){return r.code===Sr.code}var Qc=Symbol.for("@achingbrain/uint8arraylist");function Xc(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function gs(r){return!!r?.[Qc]}var ys=class r{bufs;length;[Qc]=!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 e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(gs(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(gs(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Xc(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Xc(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(gs(t))for(let n=0;n<t.length;n++)this.set(e+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,e){let{bufs:n,length:s}=this._subList(t,e);return Rt(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:Rt(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),i=new r;return i.length=s,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],s=0;for(let i=0;i<this.bufs.length;i++){let o=this.bufs[i],a=s,c=a+o.byteLength;if(s=c,t>=c)continue;let f=t>=a&&t<c,l=e>a&&e<=c;if(f&&l){if(t===a&&e===c){n.push(o);break}let u=t-a;n.push(o.subarray(u,u+(e-t)));break}if(f){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(l){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!gs(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(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let u=0;u<i;u++)o[u]=-1;for(let u=0;u<s;u++)o[n[u]]=u;let a=o,c=this.byteLength-n.byteLength,f=n.byteLength-1,l;for(let u=e;u<=c;u+=l){l=0;for(let h=f;h>=0;h--){let g=this.get(u+h);if(n[h]!==g){l=Math.max(1,h-a[g]);break}}if(l===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let s=et(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let s=et(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let s=et(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let s=et(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let s=et(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let s=et(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let s=et(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let s=et(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!ut(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((s,i)=>s+i.byteLength,0)),n.length=e,n}};var Wr;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.publicKey!=null&&e.publicKey.byteLength>0&&(n.uint32(10),n.bytes(e.publicKey)),e.payloadType!=null&&e.payloadType.byteLength>0&&(n.uint32(18),n.bytes(e.payloadType)),e.payload!=null&&e.payload.byteLength>0&&(n.uint32(26),n.bytes(e.payload)),e.signature!=null&&e.signature.byteLength>0&&(n.uint32(42),n.bytes(e.signature)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={publicKey:et(0),payloadType:et(0),payload:et(0),signature:et(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.publicKey=e.bytes();break}case 2:{i.payloadType=e.bytes();break}case 3:{i.payload=e.bytes();break}case 5:{i.signature=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(Wr||(Wr={}));var bs=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var cr=class r{static createFromProtobuf=async t=>{let e=Wr.decode(t),n=ps(e.publicKey);return new r({publicKey:n,payloadType:e.payloadType,payload:e.payload,signature:e.signature})};static seal=async(t,e)=>{if(e==null)throw new Error("Missing private key");let n=t.domain,s=t.codec,i=t.marshal(),o=tl(n,s,i),a=await e.sign(o.subarray());return new r({publicKey:e.publicKey,payloadType:s,payload:i,signature:a})};static openAndCertify=async(t,e)=>{let n=await r.createFromProtobuf(t);if(!await n.validate(e))throw new bs("Envelope signature is not valid for the given domain");return n};publicKey;payloadType;payload;signature;marshaled;constructor(t){let{publicKey:e,payloadType:n,payload:s,signature:i}=t;this.publicKey=e,this.payloadType=n,this.payload=s,this.signature=i}marshal(){return this.marshaled==null&&(this.marshaled=Wr.encode({publicKey:qt(this.publicKey),payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return ut(this.marshal(),t.marshal())}async validate(t){let e=tl(t,this.payloadType,this.payload);return this.publicKey.verify(e.subarray(),this.signature)}},tl=(r,t,e)=>{let n=Z(r),s=$t(n.byteLength),i=$t(t.length),o=$t(e.length);return new ys(s,n,i,t,o,e)};function el(r,t){let e=(n,s)=>n.toString().localeCompare(s.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,s)=>t[s].equals(n)))}var ws=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,s){return this.readAtomically(()=>{let i=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*s)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let h=Number.parseInt(u,t);if(!Number.isNaN(h))return h});if(l===void 0)break;if(i*=t,i+=l,i>f||(o+=1,e!==void 0&&o>e))return}if(o!==0)return!n&&c&&o>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let s=n*2;if(n<e.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return e[s]=o[0],e[s+1]=o[1],e[s+2]=o[2],e[s+3]=o[3],[s+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[s,!1];e[s]=i>>8,e[s+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,s]=t(e);if(n===16)return e;if(s||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),o=16-(n+2),[a]=t(i.subarray(0,o));return e.set(i.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var rl=45,$h=15,lr=new ws;function eo(r){if(!(r.length>$h))return lr.new(r).parseWith(()=>lr.readIPv4Addr())}function ro(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>rl))return lr.new(r).parseWith(()=>lr.readIPv6Addr())}function xs(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>rl))return lr.new(r).parseWith(()=>lr.readIPAddr())}var gy=parseInt("0xFFFF",16),yy=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function il(r){return!!eo(r)}function ol(r){return!!ro(r)}function vs(r){return!!xs(r)}var al=il,jh=ol,no=function(r){let t=0;if(r=r.toString().trim(),al(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(jh(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let i=al(e[n]),o;i&&(o=no(e[n]),e[n]=X(o.slice(0,2),"base16")),o!=null&&++n<8&&e.splice(n,0,X(o.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let i=[n,1];for(n=9-e.length;n>0;n--)i.push("0");e.splice.apply(e,i)}let s=new Uint8Array(t+16);for(n=0;n<e.length;n++){let i=parseInt(e[n],16);s[t++]=i>>8&255,s[t++]=i&255}return s}throw new Error("invalid ip address")},cl=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let s=[];for(let i=0;i<e;i++)s.push(r[t+i]);return s.join(".")}if(e===16){let s=[];for(let i=0;i<e;i+=2)s.push(n.getUint16(t+i).toString(16));return s.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ur={},so={},Jh=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];Jh.forEach(r=>{let t=Xh(...r);so[t.code]=t,ur[t.name]=t});function Xh(r,t,e,n,s){return{code:r,size:t,name:e,resolvable:!!n,path:!!s}}function G(r){if(typeof r=="number"){if(so[r]!=null)return so[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(ur[r]!=null)return ur[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var tb=G("ip4"),eb=G("ip6"),rb=G("ipcidr");function co(r,t){switch(G(r).code){case 4:case 41:return td(t);case 42:return ao(t);case 6:case 273:case 33:case 132:return fl(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ao(t);case 421:return sd(t);case 444:return ul(t);case 445:return ul(t);case 466:return nd(t);case 481:return globalThis.encodeURIComponent(ao(t));default:return X(t,"base16")}}function lo(r,t){switch(G(r).code){case 4:return ll(t);case 41:return ll(t);case 42:return oo(t);case 6:case 273:case 33:case 132:return uo(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return oo(t);case 421:return ed(t);case 444:return id(t);case 445:return od(t);case 466:return rd(t);case 481:return oo(globalThis.decodeURIComponent(t));default:return Z(t,"base16")}}var io=Object.values(Ir).map(r=>r.decoder),Qh=function(){let r=io[0].or(io[1]);return io.slice(2).forEach(t=>r=r.or(t)),r}();function ll(r){if(!vs(r))throw new Error("invalid ip address");return no(r)}function td(r){let t=cl(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!vs(t))throw new Error("invalid ip address");return t}function uo(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function fl(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function oo(r){let t=Z(r),e=Uint8Array.from($t(t.length));return Rt([e,t],e.length+t.length)}function ao(r){let t=Oe(r);if(r=r.slice(Nt(t)),r.length!==t)throw new Error("inconsistent lengths");return X(r)}function ed(r){let t;r[0]==="Q"||r[0]==="1"?t=Ce(J.decode(`z${r}`)).bytes:t=it.parse(r).multihash.bytes;let e=Uint8Array.from($t(t.length));return Rt([e,t],e.length+t.length)}function rd(r){let t=Qh.decode(r),e=Uint8Array.from($t(t.length));return Rt([e,t],e.length+t.length)}function nd(r){let t=Oe(r),e=r.slice(Nt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+X(e,"base64url")}function sd(r){let t=Oe(r),e=r.slice(Nt(t));if(e.length!==t)throw new Error("inconsistent lengths");return X(e,"base58btc")}function id(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Vt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let s=uo(n);return Rt([e,s],e.length+s.length)}function od(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Vt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let s=uo(n);return Rt([e,s],e.length+s.length)}function ul(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=X(t,"base32"),s=fl(e);return`${n}:${s}`}function hl(r){r=fo(r);let t=[],e=[],n=null,s=r.split("/").slice(1);if(s.length===1&&s[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<s.length;i++){let o=s[i],a=G(o);if(a.size===0){t.push([a.code]),e.push([a.code]);continue}if(i++,i>=s.length)throw pl("invalid address: "+r);if(a.path===!0){n=fo(s.slice(i).join("/")),t.push([a.code,lo(a.code,n)]),e.push([a.code,n]);break}let c=lo(a.code,s[i]);t.push([a.code,c]),e.push([a.code,co(a.code,c)])}return{string:dl(e),bytes:po(t),tuples:t,stringTuples:e,path:n}}function ho(r){let t=[],e=[],n=null,s=0;for(;s<r.length;){let i=Oe(r,s),o=Nt(i),a=G(i),c=ad(a,r.slice(s+o));if(c===0){t.push([i]),e.push([i]),s+=o;continue}let f=r.slice(s+o,s+o+c);if(s+=c+o,s>r.length)throw pl("Invalid address Uint8Array: "+X(r,"base16"));t.push([i,f]);let l=co(i,f);if(e.push([i,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(r),string:dl(e),tuples:t,stringTuples:e,path:n}}function dl(r){let t=[];return r.map(e=>{let n=G(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),fo(t.join("/"))}function po(r){return Rt(r.map(t=>{let e=G(t[0]),n=Uint8Array.from($t(e.code));return t.length>1&&t[1]!=null&&(n=Rt([n,t[1]])),n}))}function ad(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=Oe(t instanceof Uint8Array?t:Uint8Array.from(t));return e+Nt(e)}}function fo(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function pl(r){return new Error("Error parsing address: "+r)}var cd=Symbol.for("nodejs.util.inspect.custom"),go=Symbol.for("@multiformats/js-multiaddr/multiaddr"),ld=[G("dns").code,G("dns4").code,G("dns6").code,G("dnsaddr").code],mo=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},Es=class r{bytes;#t;#e;#i;#a;[go]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=ho(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=hl(t)}else if(Bs(t))e=ho(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#i=e.stringTuples,this.#a=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,s,i="",o=G("tcp"),a=G("udp"),c=G("ip4"),f=G("ip6"),l=G("dns6"),u=G("ip6zone");for(let[g,x]of this.stringTuples())g===u.code&&(i=`%${x??""}`),ld.includes(g)&&(e=o.name,s=443,n=`${x??""}${i}`,t=g===l.code?6:4),(g===o.code||g===a.code)&&(e=G(g).name,s=parseInt(x??"")),(g===c.code||g===f.code)&&(e=G(g).name,n=`${x??""}${i}`,t=g===f.code?6:4);if(t==null||e==null||n==null||s==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:s}}protos(){return this.#e.map(([t])=>Object.assign({},G(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>G(t).name)}tuples(){return this.#e}stringTuples(){return this.#i}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),s=n.lastIndexOf(e);if(s<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,s))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(po(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,s])=>{n===ur.p2p.code&&t.push([n,s]),n===ur["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?X(J.decode(`z${n}`),"base58btc"):X(it.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(t){return ut(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=ml.get(e.name);if(n==null)throw new mo(`no available resolver for ${e.name}`);return(await n(this,t)).map(i=>ue(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[cd](){return`Multiaddr(${this.#t})`}};var ml=new Map;function Bs(r){return!!r?.[go]}function ue(r){return new Es(r)}var gl="libp2p-peer-record",yl=Uint8Array.from([3,1]);var Zr;(function(r){let t;(function(n){let s;n.codec=()=>(s==null&&(s=Bt((i,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),i.multiaddr!=null&&i.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(i.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(i,o,a={})=>{let c={multiaddr:et(0)},f=o==null?i.len:i.pos+o;for(;i.pos<f;){let l=i.uint32();switch(l>>>3){case 1:{c.multiaddr=i.bytes();break}default:{i.skipType(l&7);break}}}return c})),s),n.encode=i=>Et(i,n.codec()),n.decode=(i,o)=>vt(i,n.codec(),o)})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=Bt((n,s,i={})=>{if(i.lengthDelimited!==!1&&s.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(s.uint32(10),s.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(s.uint32(16),s.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)s.uint32(26),r.AddressInfo.codec().encode(o,s);i.lengthDelimited!==!1&&s.ldelim()},(n,s,i={})=>{let o={peerId:et(0),seq:0n,addresses:[]},a=s==null?n.len:n.pos+s;for(;n.pos<a;){let c=n.uint32();switch(c>>>3){case 1:{o.peerId=n.bytes();break}case 2:{o.seq=n.uint64();break}case 3:{if(i.limits?.addresses!=null&&o.addresses.length===i.limits.addresses)throw new Me('Decode error - map field "addresses" had too many elements');o.addresses.push(r.AddressInfo.codec().decode(n,n.uint32(),{limits:i.limits?.addresses$}));break}default:{n.skipType(c&7);break}}}return o})),e),r.encode=n=>Et(n,r.codec()),r.decode=(n,s)=>vt(n,r.codec(),s)})(Zr||(Zr={}));var Ke=class r{static createFromProtobuf=t=>{let e=Zr.decode(t),n=to(Ce(e.peerId)),s=(e.addresses??[]).map(o=>ue(o.multiaddr)),i=e.seq;return new r({peerId:n,multiaddrs:s,seqNumber:i})};static DOMAIN=gl;static CODEC=yl;peerId;multiaddrs;seqNumber;domain=r.DOMAIN;codec=r.CODEC;marshaled;constructor(t){let{peerId:e,multiaddrs:n,seqNumber:s}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=s??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Zr.encode({peerId:this.peerId.toMultihash().bytes,seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof r)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!el(this.multiaddrs,t.multiaddrs))}};function ud(r){return r[Symbol.asyncIterator]!=null}function fd(r){if(ud(r))return(async()=>{let e=[];for await(let n of r)e.push(n);return e})();let t=[];for(let e of r)t.push(e);return t}var bl=fd;var bo=Fo(xl(),1);var Yr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},wo=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},vl=r=>globalThis.DOMException===void 0?new wo(r):new DOMException(r),El=r=>{let t=r.reason===void 0?vl("This operation was aborted."):r.reason;return t instanceof Error?t:vl(t)};function Jr(r,t){let{milliseconds:e,fallback:n,message:s,customTimers:i={setTimeout,clearTimeout}}=t,o,c=new Promise((f,l)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:h}=t;h.aborted&&l(El(h));let g=()=>{l(El(h))};h.addEventListener("abort",g,{once:!0}),r.finally(()=>{h.removeEventListener("abort",g)})}if(e===Number.POSITIVE_INFINITY){r.then(f,l);return}let u=new Yr;o=i.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(h){l(h)}return}typeof r.cancel=="function"&&r.cancel(),s===!1?f():s instanceof Error?l(s):(u.message=s??`Promise timed out after ${e} milliseconds`,l(u))},e),(async()=>{try{f(await r)}catch(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},c}function xo(r,t,e){let n=0,s=r.length;for(;s>0;){let i=Math.trunc(s/2),o=n+i;e(r[o],t)<=0?(n=++o,s-=i+1):s=i}return n}var Xr=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let s=xo(this.#t,n,(i,o)=>o.priority-i.priority);this.#t.splice(s,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var fr=class extends bo.default{#t;#e;#i=0;#a;#c;#p=0;#n;#l;#r;#m;#s=0;#u;#o;#g;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Xr,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#e=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#a=t.intervalCap,this.#c=t.interval,this.#r=new t.queueClass,this.#m=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#g=t.throwOnTimeout===!0,this.#o=t.autoStart===!1}get#w(){return this.#e||this.#i<this.#a}get#x(){return this.#s<this.#u}#v(){this.#s--,this.#f(),this.emit("next")}#E(){this.#b(),this.#y(),this.#l=void 0}get#B(){let t=Date.now();if(this.#n===void 0){let e=this.#p-t;if(e<0)this.#i=this.#t?this.#s:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#E()},e)),!0}return!1}#f(){if(this.#r.size===0)return this.#n&&clearInterval(this.#n),this.#n=void 0,this.emit("empty"),this.#s===0&&this.emit("idle"),!1;if(!this.#o){let t=!this.#B;if(this.#w&&this.#x){let e=this.#r.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#e||this.#n!==void 0||(this.#n=setInterval(()=>{this.#b()},this.#c),this.#p=Date.now()+this.#c)}#b(){this.#i===0&&this.#s===0&&this.#n&&(clearInterval(this.#n),this.#n=void 0),this.#i=this.#t?this.#s:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#u}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#u=t,this.#h()}async#A(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#g,...e},new Promise((n,s)=>{this.#r.enqueue(async()=>{this.#s++,this.#i++;try{e.signal?.throwIfAborted();let i=t({signal:e.signal});e.timeout&&(i=Jr(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#A(e.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof Yr&&!e.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#v()}},e),this.emit("add"),this.#f()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#r=new this.#m}async onEmpty(){this.#r.size!==0&&await this.#d("empty")}async onSizeLessThan(t){this.#r.size<t||await this.#d("next",()=>this.#r.size<t)}async onIdle(){this.#s===0&&this.#r.size===0||await this.#d("idle")}async#d(t,e){return new Promise(n=>{let s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)})}get size(){return this.#r.size}sizeBy(t){return this.#r.filter(t).length}get pending(){return this.#s}get isPaused(){return this.#o}};var Se={},hr=r=>{r.addEventListener("message",t=>{hr.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{hr.dispatchEvent("message",r,t)})};hr.addEventListener=(r,t)=>{Se[r]==null&&(Se[r]=[]),Se[r].push(t)};hr.removeEventListener=(r,t)=>{Se[r]!=null&&(Se[r]=Se[r].filter(e=>e===t))};hr.dispatchEvent=function(r,t,e){Se[r]!=null&&Se[r].forEach(n=>n(t,e))};var vo=hr;var Eo="lock:worker:request-read",Bo="lock:worker:release-read",Ao="lock:master:grant-read",ko="lock:worker:request-write",So="lock:worker:release-write",Io="lock:master:grant-write";var Bl=(r=21)=>Math.random().toString().substring(2);var Al=(r,t,e,n,s)=>(i,o)=>{if(o.data.type!==e)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>{i.postMessage({type:s,name:a.name,identifier:a.identifier}),await new Promise(c=>{let f=l=>{if(l?.data==null)return;let u={type:l.data.type,name:l.data.name,identifier:l.data.identifier};u.type===n&&u.identifier===a.identifier&&(i.removeEventListener("message",f),c())};i.addEventListener("message",f)})}}}))},kl=(r,t,e,n)=>async()=>{let s=Bl();return globalThis.postMessage({type:t,identifier:s,name:r}),new Promise(i=>{let o=a=>{if(a?.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===s&&(globalThis.removeEventListener("message",o),i(()=>{globalThis.postMessage({type:n,identifier:s,name:r})}))};globalThis.addEventListener("message",o)})},pd={singleProcess:!1},Sl=r=>{if(r=Object.assign({},pd,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return vo.addEventListener("message",Al(e,"requestReadLock",Eo,Bo,Ao)),vo.addEventListener("message",Al(e,"requestWriteLock",ko,So,Io)),e}return{isWorker:!0,readLock:e=>kl(e,Eo,Ao,Bo),writeLock:e=>kl(e,ko,Io,So)}};var qe={},Ie;async function To(r,t){let e,n=new Promise(s=>{e=s});return r.add(async()=>Jr((async()=>{await new Promise(s=>{e(()=>{s()})})})(),{milliseconds:t.timeout})),n}var md=(r,t)=>{if(Ie.isWorker===!0)return{readLock:Ie.readLock(r,t),writeLock:Ie.writeLock(r,t)};let e=new fr({concurrency:1}),n;return{async readLock(){if(n!=null)return To(n,t);n=new fr({concurrency:t.concurrency,autoStart:!1});let s=n,i=To(n,t);return e.add(async()=>{s.start(),await s.onIdle().then(()=>{n===s&&(n=null)})}),i},async writeLock(){return n=null,To(e,t)}}},gd={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Co(r){let t=Object.assign({},gd,r);return Ie==null&&(Ie=Sl(t),Ie.isWorker!==!0&&(Ie.addEventListener("requestReadLock",e=>{qe[e.data.name]!=null&&qe[e.data.name].readLock().then(async n=>e.data.handler().finally(()=>{n()}))}),Ie.addEventListener("requestWriteLock",async e=>{qe[e.data.name]!=null&&qe[e.data.name].writeLock().then(async n=>e.data.handler().finally(()=>{n()}))}))),qe[t.name]==null&&(qe[t.name]=md(t.name,t)),qe[t.name]}var dr;(function(r){let t;(function(s){let i;s.codec=()=>(i==null&&(i=Bt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let f={key:"",value:et(0)},l=a==null?o.len:o.pos+a;for(;o.pos<l;){let u=o.uint32();switch(u>>>3){case 1:{f.key=o.string();break}case 2:{f.value=o.bytes();break}default:{o.skipType(u&7);break}}}return f})),i),s.encode=o=>Et(o,s.codec()),s.decode=(o,a)=>vt(o,s.codec(),a)})(t=r.Peer$metadataEntry||(r.Peer$metadataEntry={}));let e;(function(s){let i;s.codec=()=>(i==null&&(i=Bt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),Ss.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let f={key:""},l=a==null?o.len:o.pos+a;for(;o.pos<l;){let u=o.uint32();switch(u>>>3){case 1:{f.key=o.string();break}case 2:{f.value=Ss.codec().decode(o,o.uint32(),{limits:c.limits?.value});break}default:{o.skipType(u&7);break}}}return f})),i),s.encode=o=>Et(o,s.codec()),s.decode=(o,a)=>vt(o,s.codec(),a)})(e=r.Peer$tagsEntry||(r.Peer$tagsEntry={}));let n;r.codec=()=>(n==null&&(n=Bt((s,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),s.addresses!=null)for(let a of s.addresses)i.uint32(10),ks.codec().encode(a,i);if(s.protocols!=null)for(let a of s.protocols)i.uint32(18),i.string(a);if(s.publicKey!=null&&(i.uint32(34),i.bytes(s.publicKey)),s.peerRecordEnvelope!=null&&(i.uint32(42),i.bytes(s.peerRecordEnvelope)),s.metadata!=null&&s.metadata.size!==0)for(let[a,c]of s.metadata.entries())i.uint32(50),r.Peer$metadataEntry.codec().encode({key:a,value:c},i);if(s.tags!=null&&s.tags.size!==0)for(let[a,c]of s.tags.entries())i.uint32(58),r.Peer$tagsEntry.codec().encode({key:a,value:c},i);o.lengthDelimited!==!1&&i.ldelim()},(s,i,o={})=>{let a={addresses:[],protocols:[],metadata:new Map,tags:new Map},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let f=s.uint32();switch(f>>>3){case 1:{if(o.limits?.addresses!=null&&a.addresses.length===o.limits.addresses)throw new Me('Decode error - map field "addresses" had too many elements');a.addresses.push(ks.codec().decode(s,s.uint32(),{limits:o.limits?.addresses$}));break}case 2:{if(o.limits?.protocols!=null&&a.protocols.length===o.limits.protocols)throw new Me('Decode error - map field "protocols" had too many elements');a.protocols.push(s.string());break}case 4:{a.publicKey=s.bytes();break}case 5:{a.peerRecordEnvelope=s.bytes();break}case 6:{if(o.limits?.metadata!=null&&a.metadata.size===o.limits.metadata)throw new Nr('Decode error - map field "metadata" had too many elements');let l=r.Peer$metadataEntry.codec().decode(s,s.uint32());a.metadata.set(l.key,l.value);break}case 7:{if(o.limits?.tags!=null&&a.tags.size===o.limits.tags)throw new Nr('Decode error - map field "tags" had too many elements');let l=r.Peer$tagsEntry.codec().decode(s,s.uint32(),{limits:{value:o.limits?.tags$value}});a.tags.set(l.key,l.value);break}default:{s.skipType(f&7);break}}}return a})),n),r.encode=s=>Et(s,r.codec()),r.decode=(s,i)=>vt(s,r.codec(),i)})(dr||(dr={}));var ks;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.multiaddr!=null&&e.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(e.multiaddr)),e.isCertified!=null&&(n.uint32(16),n.bool(e.isCertified)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={multiaddr:et(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.multiaddr=e.bytes();break}case 2:{i.isCertified=e.bool();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(ks||(ks={}));var Ss;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.value!=null&&e.value!==0&&(n.uint32(8),n.uint32(e.value)),e.expiry!=null&&(n.uint32(16),n.uint64(e.expiry)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={value:0},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.value=e.uint32();break}case 2:{i.expiry=e.uint64();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(Ss||(Ss={}));function pr(r,t){let e=dr.decode(t);if(e.publicKey!=null&&r.publicKey==null){let i=ps(e.publicKey);r=Jc(i)}let n=new Map,s=BigInt(Date.now());for(let[i,o]of e.tags.entries())o.expiry!=null&&o.expiry<s||n.set(i,o);return{...e,id:r,addresses:e.addresses.map(({multiaddr:i,isCertified:o})=>({multiaddr:ue(i),isCertified:o??!1})),metadata:e.metadata,peerRecordEnvelope:e.peerRecordEnvelope??void 0,tags:n}}var fe="/",Il=new TextEncoder().encode(fe),Is=Il[0],Ts=class r{_buf;constructor(t,e){if(typeof t=="string")this._buf=Z(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Is)throw new Error("Invalid key")}toString(t="utf8"){return X(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new r(t.join(fe))}static random(){return new r(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new r(t):typeof t.uint8Array=="function"?new r(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Il),this._buf[0]!==Is){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Is,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Is;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let s=0;s<e.length;s++){if(n.length<s+1)return!1;let i=e[s],o=n[s];if(i<o)return!0;if(i>o)return!1}return e.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(fe).slice(1)}type(){return yd(this.baseNamespace())}name(){return bd(this.baseNamespace())}instance(t){return new r(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(fe)||(t+=fe),t+=this.type(),new r(t)}parent(){let t=this.list();return t.length===1?new r(fe):new r(t.slice(0,-1).join(fe))}child(t){return this.toString()===fe?t:t.toString()===fe?this:new r(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return r.withNamespaces([...this.namespaces(),...wd(t.map(e=>e.namespaces()))])}};function yd(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function bd(r){let t=r.split(":");return t[t.length-1]}function wd(r){return[].concat(...r)}var No="/peers/";function mr(r){if(!Ko(r)||r.type==null)throw new K("Invalid PeerId");let t=r.toCID().toString();return new Ts(`${No}${t}`)}async function Tl(r,t,e){let n=new Map;for(let s of e){if(s==null)continue;if(s.multiaddr instanceof Uint8Array&&(s.multiaddr=ue(s.multiaddr)),!Bs(s.multiaddr))throw new K("Multiaddr was invalid");if(!await t(r,s.multiaddr))continue;let i=s.isCertified??!1,o=s.multiaddr.toString(),a=n.get(o);a!=null?s.isCertified=a.isCertified||i:n.set(o,{multiaddr:s.multiaddr,isCertified:i})}return[...n.values()].sort((s,i)=>s.multiaddr.toString().localeCompare(i.multiaddr.toString())).map(({isCertified:s,multiaddr:i})=>({isCertified:s,multiaddr:i.bytes}))}async function Ns(r,t,e,n){if(t==null)throw new K("Invalid PeerData");if(t.publicKey!=null&&r.publicKey!=null&&!t.publicKey.equals(r.publicKey))throw new K("publicKey bytes do not match peer id publicKey bytes");let s=n.existingPeer;if(s!=null&&!r.equals(s.id))throw new K("peer id did not match existing peer id");let i=s?.addresses??[],o=new Set(s?.protocols??[]),a=s?.metadata??new Map,c=s?.tags??new Map,f=s?.peerRecordEnvelope;if(e==="patch"){if((t.multiaddrs!=null||t.addresses!=null)&&(i=[],t.multiaddrs!=null&&i.push(...t.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),t.addresses!=null&&i.push(...t.addresses)),t.protocols!=null&&(o=new Set(t.protocols)),t.metadata!=null){let h=t.metadata instanceof Map?[...t.metadata.entries()]:Object.entries(t.metadata);a=Cs(h,{validate:Cl})}if(t.tags!=null){let h=t.tags instanceof Map?[...t.tags.entries()]:Object.entries(t.tags);c=Cs(h,{validate:Nl,map:Ll})}t.peerRecordEnvelope!=null&&(f=t.peerRecordEnvelope)}if(e==="merge"){if(t.multiaddrs!=null&&i.push(...t.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),t.addresses!=null&&i.push(...t.addresses),t.protocols!=null&&(o=new Set([...o,...t.protocols])),t.metadata!=null){let h=t.metadata instanceof Map?[...t.metadata.entries()]:Object.entries(t.metadata);for(let[g,x]of h)x==null?a.delete(g):a.set(g,x);a=Cs([...a.entries()],{validate:Cl})}if(t.tags!=null){let h=t.tags instanceof Map?[...t.tags.entries()]:Object.entries(t.tags),g=new Map(c);for(let[x,b]of h)b==null?g.delete(x):g.set(x,b);c=Cs([...g.entries()],{validate:Nl,map:Ll})}t.peerRecordEnvelope!=null&&(f=t.peerRecordEnvelope)}let l;s?.id.publicKey!=null?l=qt(s.id.publicKey):t.publicKey!=null?l=qt(t.publicKey):r.publicKey!=null&&(l=qt(r.publicKey));let u={addresses:await Tl(r,n.addressFilter??(async()=>!0),i),protocols:[...o.values()].sort((h,g)=>h.localeCompare(g)),metadata:a,tags:c,publicKey:l,peerRecordEnvelope:f};return r.type!=="RSA"&&delete u.publicKey,u}function Cs(r,t){let e=new Map;for(let[n,s]of r)s!=null&&t.validate(n,s);for(let[n,s]of r.sort(([i],[o])=>i.localeCompare(o)))s!=null&&e.set(n,t.map?.(n,s)??s);return e}function Cl(r,t){if(typeof r!="string")throw new K("Metadata key must be a string");if(!(t instanceof Uint8Array))throw new K("Metadata value must be a Uint8Array")}function Nl(r,t){if(typeof r!="string")throw new K("Tag name must be a string");if(t.value!=null){if(parseInt(`${t.value}`,10)!==t.value)throw new K("Tag value must be an integer");if(t.value<0||t.value>100)throw new K("Tag value must be between 0-100")}if(t.ttl!=null){if(parseInt(`${t.ttl}`,10)!==t.ttl)throw new K("Tag ttl must be an integer");if(t.ttl<0)throw new K("Tag ttl must be between greater than 0")}}function Ll(r,t){let e;return t.expiry!=null&&(e=t.expiry),t.ttl!=null&&(e=BigInt(Date.now()+Number(t.ttl))),{value:t.value??0,expiry:e}}function Ls(r,t){let e=r.toString().split("/")[2],n=it.parse(e,Vt),s=ms(n);return pr(s,t)}function xd(r){return r==null?{}:{prefix:No,filters:(r.filters??[]).map(t=>({key:e,value:n})=>t(Ls(e,n))),orders:(r.orders??[]).map(t=>(e,n)=>t(Ls(e.key,e.value),Ls(n.key,n.value)))}}var Us=class{peerId;datastore;lock;addressFilter;constructor(t,e={}){this.peerId=t.peerId,this.datastore=t.datastore,this.addressFilter=e.addressFilter,this.lock=Co({name:"peer-store",singleProcess:!0})}async has(t){return this.datastore.has(mr(t))}async delete(t){if(this.peerId.equals(t))throw new K("Cannot delete self peer");await this.datastore.delete(mr(t))}async load(t){let e=await this.datastore.get(mr(t));return pr(t,e)}async save(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ns(t,e,"patch",{addressFilter:this.addressFilter});return this.#e(t,i,n,s)}async patch(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ns(t,e,"patch",{addressFilter:this.addressFilter,existingPeer:s});return this.#e(t,i,n,s)}async merge(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ns(t,e,"merge",{addressFilter:this.addressFilter,existingPeer:s});return this.#e(t,i,n,s)}async*all(t){for await(let{key:e,value:n}of this.datastore.query(xd(t??{}))){let s=Ls(e,n);s.id.equals(this.peerId)||(yield s)}}async#t(t){try{let e=await this.datastore.get(mr(t)),n=pr(t,e);return{existingBuf:e,existingPeer:n}}catch(e){if(e.name!=="NotFoundError")throw e}return{}}async#e(t,e,n,s){let i=dr.encode(e);return n!=null&&ut(i,n)?{peer:pr(t,i),previous:s,updated:!1}:(await this.datastore.put(mr(t),i),{peer:pr(t,i),previous:s,updated:!0})}};var Lo=class{store;events;peerId;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:peer-store"),this.events=t.events,this.peerId=t.peerId,this.store=new Us(t,e)}[Symbol.toStringTag]="@libp2p/peer-store";async forEach(t,e){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let s of this.store.all(e))t(s)}finally{this.log.trace("forEach release read lock"),n()}}async all(t){this.log.trace("all await read lock");let e=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await bl(this.store.all(t))}finally{this.log.trace("all release read lock"),e()}}async delete(t){this.log.trace("delete await write lock");let e=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(t)}finally{this.log.trace("delete release write lock"),e()}}async has(t){this.log.trace("has await read lock");let e=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(t)}finally{this.log.trace("has release read lock"),e()}}async get(t){this.log.trace("get await read lock");let e=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(t)}finally{this.log.trace("get release read lock"),e()}}async save(t,e){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let s=await this.store.save(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("save release write lock"),n()}}async patch(t,e){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let s=await this.store.patch(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(t,e){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let s=await this.store.merge(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(t,e){let n=await cr.openAndCertify(t,Ke.DOMAIN),s=ms(n.publicKey.toCID());if(e?.equals(s)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",e,s),!1;let i=Ke.createFromProtobuf(n.payload),o;try{o=await this.get(s)}catch(a){if(a.name!=="NotFoundError")throw a}if(o?.peerRecordEnvelope!=null){let a=await cr.createFromProtobuf(o.peerRecordEnvelope),c=Ke.createFromProtobuf(a.payload);if(c.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",c.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:t,addresses:i.multiaddrs.map(a=>({isCertified:!0,multiaddr:a}))}),!0}#t(t,e){e.updated&&(this.peerId.equals(t)?this.events.safeDispatchEvent("self:peer:update",{detail:e}):this.events.safeDispatchEvent("peer:update",{detail:e}))}};function vd(r,t={}){return new Lo(r,t)}return zl(Ed);})();
|
6
|
+
`)}`:`${e} :`}};ja=Ae;A.Constructed=ja;Ae.NAME="CONSTRUCTED";var Nn=class extends yt{fromBER(t,e,n){return e}toBER(t){return Ft}};Nn.override="EndOfContentValueBlock";var Ya,Ln=class extends dt{constructor(t={}){super(t,Nn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};Ya=Ln;A.EndOfContent=Ya;Ln.NAME=Rr;var Ja,nr=class extends dt{constructor(t={}){super(t,yt),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};Ja=nr;A.Null=Ja;nr.NAME="NULL";var Un=class extends ae(yt){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=M.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);return oe(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Ki.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Un.NAME="BooleanValueBlock";var Xa,Rn=class extends dt{constructor(t={}){super(t,Un),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Xa=Rn;A.Boolean=Xa;Rn.NAME="BOOLEAN";var _n=class extends ae(Gt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Gt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let i=0;i<this.value.length;i++){let o=this.value[i].constructor.NAME;if(o===Rr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==za)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Gt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};_n.NAME="OctetStringValueBlock";var Qa,Vn=class r extends dt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},_n),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(i.byteLength){let o=ls(i,0,i.byteLength);o.offset!==-1&&o.offset===n&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Ae.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return M.BufferSourceConverter.concat(t)}};Qa=Vn;A.OctetString=Qa;Vn.NAME=za;var On=class extends ae(Gt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Gt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===Rr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Ga)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let f=a.valueBlock;if(this.unusedBits>0&&f.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=f.unusedBits}return s}let i=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,i,e,n))return-1;let o=i.subarray(e,e+n);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=ls(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,e+n}toBER(t,e){if(this.isConstructed)return Gt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ft;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};On.NAME="BitStringValueBlock";var tc,sr=class extends dt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},On),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Ae.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let s of e)t.push(s.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};tc=sr;A.BitString=tc;sr.NAME=Ga;var ec;function Sh(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,f=0,l=c<o?o:c,u=0;for(let h=l;h>=0;h--,u++){switch(!0){case u<a.length:f=i[o-u]+a[c-u]+e[0];break;default:f=i[o-u]+e[0]}switch(e[0]=f/10,!0){case u>=i.length:i=Bn(new Uint8Array([f%10]),i);break;default:i[o-u]=f%10}}return e[0]>0&&(i=Bn(e,i)),i}function $a(r){if(r>=Lr.length)for(let t=Lr.length;t<=r;t++){let e=new Uint8Array([0]),n=Lr[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let i=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=i[0]/10,n[s]=i[0]%10}e[0]>0&&(n=Bn(e,n)),Lr.push(n)}return Lr[r]}function Ih(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,f,l=0;for(let u=c;u>=0;u--,l++)switch(f=i[o-l]-a[c-l]-e,!0){case f<0:e=1,i[o-l]=f+10;break;default:e=0,i[o-l]=f}if(e>0)for(let u=o-c+1;u>=0;u--,l++)if(f=i[o-l]-e,f<0)e=1,i[o-l]=f+10;else{e=0,i[o-l]=f;break}return i.slice()}var _r=class extends ae(yt){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Ki.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Fa(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let i=this.fromBER(t,e,n);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):s!==0&&o.length<s&&(s-o.length>1&&(s=o.length+1),this.valueHexView=o.subarray(s-o.length)),i}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){s=i[c];for(let f=0;f<8;f++){if((s&1)===1)switch(n){case t:e=Ih($a(n),e),o="-";break;default:e=Sh(e,$a(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(o+=qa.charAt(e[c]));return a===!1&&(o+=qa.charAt(0)),o}};ec=_r;_r.NAME="IntegerValueBlock";Object.defineProperty(ec.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var rc,pt=class r extends dt{constructor(t={}){super(t,_r),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return An(),BigInt(this.valueBlock.toString())}static fromBigInt(t){An();let e=BigInt(t),n=new Ur,s=e.toString(16).replace(/^-/,""),i=new Uint8Array(M.Convert.FromHex(s));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let f=BigInt(`0x${M.Convert.ToHex(a)}`)+e,l=M.BufferSourceConverter.toUint8Array(M.Convert.FromHex(f.toString(16)));l[0]|=128,n.write(l)}else i[0]&128&&n.write(new Uint8Array([0])),n.write(i);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};rc=pt;A.Integer=rc;pt.NAME="INTEGER";var nc,Dn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};nc=Dn;A.Enumerated=nc;Dn.NAME="ENUMERATED";var Vr=class extends ae(yt){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=He(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){An();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=Be(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ft;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n}toString(){let t="";if(this.isHexOnly)t=M.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Vr.NAME="sidBlock";var Pn=class extends yt{constructor({value:t=or,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Vr;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Ft;e.push(s)}return qi(e)}fromString(t){this.value=[];let e=0,n=0,s="",i=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,i){let o=this.value[0],a=0;switch(o.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;o.valueDec=c+a,i=!1}else{let o=new Vr;if(s>Number.MAX_SAFE_INTEGER){An();let a=BigInt(s);o.valueBigInt=a}else if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Pn.NAME="ObjectIdentifierValueBlock";var sc,ir=class extends dt{constructor(t={}){super(t,Pn),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};sc=ir;A.ObjectIdentifier=sc;ir.NAME="OBJECT IDENTIFIER";var Or=class extends ae(ne){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!oe(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=He(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=Be(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ft;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n.buffer}toString(){let t="";return this.isHexOnly?t=M.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Or.NAME="relativeSidBlock";var Mn=class extends yt{constructor({value:t=or,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Or;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let i=this.value[s].toBER(t);if(i.byteLength===0)return this.error=this.value[s].error,Ft;n.push(i)}return qi(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let i=new Or;if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Mn.NAME="RelativeObjectIdentifierValueBlock";var ic,Hn=class extends dt{constructor(t={}){super(t,Mn),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};ic=Hn;A.RelativeObjectIdentifier=ic;Hn.NAME="RelativeObjectIdentifier";var oc,se=class extends Ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};oc=se;A.Sequence=oc;se.NAME="SEQUENCE";var ac,Fn=class extends Ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};ac=Fn;A.Set=ac;Fn.NAME="SET";var Kn=class extends ae(yt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=or}toJSON(){return{...super.toJSON(),value:this.value}}};Kn.NAME="StringValueBlock";var qn=class extends Kn{};qn.NAME="SimpleStringValueBlock";var At=class extends In{constructor({...t}={}){super(t,qn)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};At.NAME="SIMPLE STRING";var $n=class extends At{fromBuffer(t){this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=M.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=M.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf8String(t)),this.valueBlock.value=t}};$n.NAME="Utf8StringValueBlock";var cc,ie=class extends $n{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};cc=ie;A.Utf8String=cc;ie.NAME="UTF8String";var zn=class extends At{fromBuffer(t){this.valueBlock.value=M.Convert.ToUtf16String(t),this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf16String(t))}};zn.NAME="BmpStringValueBlock";var lc,Gn=class extends zn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};lc=Gn;A.BmpString=lc;Gn.NAME="BMPString";var Wn=class extends At{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let i=Be(t.charCodeAt(s),8),o=new Uint8Array(i);if(o.length>4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)n[s*4+c+a]=o[c]}this.valueBlock.value=t}};Wn.NAME="UniversalStringValueBlock";var uc,Zn=class extends Wn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};uc=Zn;A.UniversalString=uc;Zn.NAME="UniversalString";var fc,jn=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};fc=jn;A.NumericString=fc;jn.NAME="NumericString";var hc,Yn=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};hc=Yn;A.PrintableString=hc;Yn.NAME="PrintableString";var dc,Jn=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};dc=Jn;A.TeletexString=dc;Jn.NAME="TeletexString";var pc,Xn=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};pc=Xn;A.VideotexString=pc;Xn.NAME="VideotexString";var mc,Qn=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};mc=Qn;A.IA5String=mc;Qn.NAME="IA5String";var gc,ts=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};gc=ts;A.GraphicString=gc;ts.NAME="GraphicString";var yc,Dr=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};yc=Dr;A.VisibleString=yc;Dr.NAME="VisibleString";var bc,es=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};bc=es;A.GeneralString=bc;es.NAME="GeneralString";var wc,rs=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};wc=rs;A.CharacterString=wc;rs.NAME="CharacterString";var xc,Pr=class extends Dr{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=Lt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Lt(this.month,2),e[2]=Lt(this.day,2),e[3]=Lt(this.hour,2),e[4]=Lt(this.minute,2),e[5]=Lt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};xc=Pr;A.UTCTime=xc;Pr.NAME="UTCTime";var vc,ns=class extends Pr{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",s="",i=0,o,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let u=new Number(t[t.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,h=n.indexOf("+"),g="";if(h===-1&&(h=n.indexOf("-"),u=-1),h!==-1){if(g=n.substring(h+1),n=n.substring(0,h),g.length!==2&&g.length!==4)throw new Error("Wrong input string for conversion");let x=parseInt(g.substring(0,2),10);if(isNaN(x.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*x,g.length===4){if(x=parseInt(g.substring(2,4),10),isNaN(x.valueOf()))throw new Error("Wrong input string for conversion");c=u*x}}}let f=n.indexOf(".");if(f===-1&&(f=n.indexOf(",")),f!==-1){let u=new Number(`0${n.substring(f)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");i=u.valueOf(),s=n.substring(0,f)}else s=n;switch(!0){case s.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,f!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=60*i;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=60*i;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=1e3*i;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let l=o.exec(s);if(l===null)throw new Error("Wrong input string for conversion");for(let u=1;u<l.length;u++)switch(u){case 1:this.year=parseInt(l[u],10);break;case 2:this.month=parseInt(l[u],10);break;case 3:this.day=parseInt(l[u],10);break;case 4:this.hour=parseInt(l[u],10)+a;break;case 5:this.minute=parseInt(l[u],10)+c;break;case 6:this.second=parseInt(l[u],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let u=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=u.getUTCFullYear(),this.month=u.getUTCMonth(),this.day=u.getUTCDay(),this.hour=u.getUTCHours(),this.minute=u.getUTCMinutes(),this.second=u.getUTCSeconds(),this.millisecond=u.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Lt(this.year,4)),e.push(Lt(this.month,2)),e.push(Lt(this.day,2)),e.push(Lt(this.hour,2)),e.push(Lt(this.minute,2)),e.push(Lt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Lt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};vc=ns;A.GeneralizedTime=vc;ns.NAME="GeneralizedTime";var Ec,ss=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Ec=ss;A.DATE=Ec;ss.NAME="DATE";var Bc,is=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};Bc=is;A.TimeOfDay=Bc;is.NAME="TimeOfDay";var Ac,os=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Ac=os;A.DateTime=Ac;os.NAME="DateTime";var kc,as=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};kc=as;A.Duration=kc;as.NAME="Duration";var Sc,cs=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};Sc=cs;A.TIME=Sc;cs.NAME="TIME";function X(r,t="utf8"){let e=bn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var Mr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},us=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Ic={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new us("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 ke=Ic;async function Tc(r){let t=await ke.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Ch(t);return{privateKey:e[0],publicKey:e[1]}}async function Cc(r,t){let e=await ke.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ke.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Nc(r,t,e){let n=await ke.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ke.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Ch(r){if(r.privateKey==null||r.publicKey==null)throw new K("Private and public key are required");return Promise.all([ke.get().subtle.exportKey("jwk",r.privateKey),ke.get().subtle.exportKey("jwk",r.publicKey)])}function Gi(r){if(r.kty!=="RSA")throw new K("invalid key type");if(r.n==null)throw new K("invalid key modulus");return Z(r.n,"base64url").length*8}var ar=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Hr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return it.createV1(114,this._multihash)}toString(){return J.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ut(this.raw,t.raw)}verify(t,e){return Nc(this._key,e,t)}},Fr=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Hr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ut(this.raw,t.raw)}sign(t){return Cc(this._key,t)}};var fs=8192,Wi=18;function Lc(r){let{result:t}=zi(r),e=t.valueBlock.value;return{n:Wt(e[1]),e:Wt(e[2]),d:Wt(e[3]),p:Wt(e[4]),q:Wt(e[5]),dp:Wt(e[6]),dq:Wt(e[7]),qi:Wt(e[8]),kty:"RSA",alg:"RS256"}}function Nh(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new K("JWK was missing components");let e=new se({value:[new pt({value:0}),pt.fromBigInt(Zt(Z(r.n,"base64url"))),pt.fromBigInt(Zt(Z(r.e,"base64url"))),pt.fromBigInt(Zt(Z(r.d,"base64url"))),pt.fromBigInt(Zt(Z(r.p,"base64url"))),pt.fromBigInt(Zt(Z(r.q,"base64url"))),pt.fromBigInt(Zt(Z(r.dp,"base64url"))),pt.fromBigInt(Zt(Z(r.dq,"base64url"))),pt.fromBigInt(Zt(Z(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Uc(r){let{result:t}=zi(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:Wt(e[0]),e:Wt(e[1])}}function Zi(r){if(r.n==null||r.e==null)throw new K("JWK was missing components");let e=new se({value:[new se({value:[new ir({value:"1.2.840.113549.1.1.1"}),new nr]}),new sr({valueHex:new se({value:[pt.fromBigInt(Zt(Z(r.n,"base64url"))),pt.fromBigInt(Zt(Z(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Wt(r){let t=r.valueBlock.valueHexView;for(;t[0]===0;)t=t.subarray(1);return X(t,"base64url")}function Zt(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}function Rc(r){let t=Lc(r);return _c(t)}function ji(r){let t=Uc(r);if(Gi(t)>fs)throw new $e("Key size is too large");let e=er(zt.encode({Type:at.RSA,Data:r})),n=Ot(Wi,e);return new ar(t,n)}function _c(r){if(Gi(r)>fs)throw new K("Key size is too large");let t=Oc(r),e=er(zt.encode({Type:at.RSA,Data:Zi(t.publicKey)})),n=Ot(Wi,e);return new Fr(t.privateKey,new ar(t.publicKey,n))}async function Vc(r){if(r>fs)throw new K("Key size is too large");let t=await Tc(r),e=er(zt.encode({Type:at.RSA,Data:Zi(t.publicKey)})),n=Ot(Wi,e);return new Fr(t.privateKey,new ar(t.publicKey,n))}function Oc(r){if(r==null)throw new K("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var hs=class extends Je{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,ia(t);let n=Er(e);if(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 s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?t.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=t.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(t){return Ye(this),this.iHash.update(t),this}digestInto(t){Ye(this),je(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=i,t.blockLen=o,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Yi=(r,t,e)=>new hs(r,t).update(e).digest();Yi.create=(r,t)=>new hs(r,t);function Dc(r){r.lowS!==void 0&&Pt("lowS",r.lowS),r.prehash!==void 0&&Pt("prehash",r.prehash)}function Lh(r){let t=kr(r);Kt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:s}=t;if(e){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Uh,hexToBytes:Rh}=un,ce={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(r,t)=>{let{Err:e}=ce;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,s=Le(n);if(s.length/2&128)throw new e("tlv.encode: long form length too big");let i=n>127?Le(s.length/2|128):"";return`${Le(r)}${i}${s}${t}`},decode(r,t){let{Err:e}=ce,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let s=t[n++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+c);if(f.length!==c)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let l of f)o=o<<8|l;if(n+=c,o<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+o);if(a.length!==o)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+o)}}},_int:{encode(r){let{Err:t}=ce;if(r<le)throw new t("integer: negative integers are not allowed");let e=Le(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected assertion");return e},decode(r){let{Err:t}=ce;if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return Uh(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=ce,s=typeof r=="string"?Rh(r):r;Qe(s);let{v:i,l:o}=n.decode(48,s);if(o.length)throw new t("Invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:f,l}=n.decode(2,c);if(l.length)throw new t("Invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=ce,n=`${t.encode(2,e.encode(r.r))}${t.encode(2,e.encode(r.s))}`;return t.encode(48,n)}},le=BigInt(0),ft=BigInt(1),Tm=BigInt(2),Pc=BigInt(3),Cm=BigInt(4);function _h(r){let t=Lh(r),{Fp:e}=t,n=we(t.n,t.nBitLength),s=t.toBytes||((b,d,w)=>{let B=d.toAffine();return ee(Uint8Array.from([4]),e.toBytes(B.x),e.toBytes(B.y))}),i=t.fromBytes||(b=>{let d=b.subarray(1),w=e.fromBytes(d.subarray(0,e.BYTES)),B=e.fromBytes(d.subarray(e.BYTES,2*e.BYTES));return{x:w,y:B}});function o(b){let{a:d,b:w}=t,B=e.sqr(b),m=e.mul(B,b);return e.add(e.add(m,e.mul(b,d)),w)}if(!e.eql(e.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function a(b){return Br(b,ft,t.n)}function c(b){let{allowedPrivateKeyLengths:d,nByteLength:w,wrapPrivateKey:B,n:m}=t;if(d&&typeof b!="bigint"){if(ge(b)&&(b=Qt(b)),typeof b!="string"||!d.includes(b.length))throw new Error("Invalid key");b=b.padStart(w*2,"0")}let k;try{k=typeof b=="bigint"?b:te(tt("private key",b,w))}catch{throw new Error(`private key must be ${w} bytes, hex or bigint, not ${typeof b}`)}return B&&(k=z(k,m)),It("private key",k,ft,m),k}function f(b){if(!(b instanceof h))throw new Error("ProjectivePoint expected")}let l=_e((b,d)=>{let{px:w,py:B,pz:m}=b;if(e.eql(m,e.ONE))return{x:w,y:B};let k=b.is0();d==null&&(d=k?e.ONE:e.inv(m));let U=e.mul(w,d),L=e.mul(B,d),S=e.mul(m,d);if(k)return{x:e.ZERO,y:e.ZERO};if(!e.eql(S,e.ONE))throw new Error("invZ was invalid");return{x:U,y:L}}),u=_e(b=>{if(b.is0()){if(t.allowInfinityPoint&&!e.is0(b.py))return;throw new Error("bad point: ZERO")}let{x:d,y:w}=b.toAffine();if(!e.isValid(d)||!e.isValid(w))throw new Error("bad point: x or y not FE");let B=e.sqr(w),m=o(d);if(!e.eql(B,m))throw new Error("bad point: equation left != right");if(!b.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class h{constructor(d,w,B){if(this.px=d,this.py=w,this.pz=B,d==null||!e.isValid(d))throw new Error("x required");if(w==null||!e.isValid(w))throw new Error("y required");if(B==null||!e.isValid(B))throw new Error("z required");Object.freeze(this)}static fromAffine(d){let{x:w,y:B}=d||{};if(!d||!e.isValid(w)||!e.isValid(B))throw new Error("invalid affine point");if(d instanceof h)throw new Error("projective point not allowed");let m=k=>e.eql(k,e.ZERO);return m(w)&&m(B)?h.ZERO:new h(w,B,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let w=e.invertBatch(d.map(B=>B.pz));return d.map((B,m)=>B.toAffine(w[m])).map(h.fromAffine)}static fromHex(d){let w=h.fromAffine(i(tt("pointHex",d)));return w.assertValidity(),w}static fromPrivateKey(d){return h.BASE.multiply(c(d))}static msm(d,w){return dn(h,n,d,w)}_setWindowSize(d){x.setWindowSize(this,d)}assertValidity(){u(this)}hasEvenY(){let{y:d}=this.toAffine();if(e.isOdd)return!e.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:w,py:B,pz:m}=this,{px:k,py:U,pz:L}=d,S=e.eql(e.mul(w,L),e.mul(k,m)),I=e.eql(e.mul(B,L),e.mul(U,m));return S&&I}negate(){return new h(this.px,e.neg(this.py),this.pz)}double(){let{a:d,b:w}=t,B=e.mul(w,Pc),{px:m,py:k,pz:U}=this,L=e.ZERO,S=e.ZERO,I=e.ZERO,N=e.mul(m,m),rt=e.mul(k,k),F=e.mul(U,U),O=e.mul(m,k);return O=e.add(O,O),I=e.mul(m,U),I=e.add(I,I),L=e.mul(d,I),S=e.mul(B,F),S=e.add(L,S),L=e.sub(rt,S),S=e.add(rt,S),S=e.mul(L,S),L=e.mul(O,L),I=e.mul(B,I),F=e.mul(d,F),O=e.sub(N,F),O=e.mul(d,O),O=e.add(O,I),I=e.add(N,N),N=e.add(I,N),N=e.add(N,F),N=e.mul(N,O),S=e.add(S,N),F=e.mul(k,U),F=e.add(F,F),N=e.mul(F,O),L=e.sub(L,N),I=e.mul(F,rt),I=e.add(I,I),I=e.add(I,I),new h(L,S,I)}add(d){f(d);let{px:w,py:B,pz:m}=this,{px:k,py:U,pz:L}=d,S=e.ZERO,I=e.ZERO,N=e.ZERO,rt=t.a,F=e.mul(t.b,Pc),O=e.mul(w,k),nt=e.mul(B,U),E=e.mul(m,L),T=e.add(w,B),y=e.add(k,U);T=e.mul(T,y),y=e.add(O,nt),T=e.sub(T,y),y=e.add(w,m);let p=e.add(k,L);return y=e.mul(y,p),p=e.add(O,E),y=e.sub(y,p),p=e.add(B,m),S=e.add(U,L),p=e.mul(p,S),S=e.add(nt,E),p=e.sub(p,S),N=e.mul(rt,y),S=e.mul(F,E),N=e.add(S,N),S=e.sub(nt,N),N=e.add(nt,N),I=e.mul(S,N),nt=e.add(O,O),nt=e.add(nt,O),E=e.mul(rt,E),y=e.mul(F,y),nt=e.add(nt,E),E=e.sub(O,E),E=e.mul(rt,E),y=e.add(y,E),O=e.mul(nt,y),I=e.add(I,O),O=e.mul(p,y),S=e.mul(T,S),S=e.sub(S,O),O=e.mul(T,nt),N=e.mul(p,N),N=e.add(N,O),new h(S,I,N)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return x.wNAFCached(this,d,h.normalizeZ)}multiplyUnsafe(d){It("scalar",d,le,t.n);let w=h.ZERO;if(d===le)return w;if(d===ft)return this;let{endo:B}=t;if(!B)return x.unsafeLadder(this,d);let{k1neg:m,k1:k,k2neg:U,k2:L}=B.splitScalar(d),S=w,I=w,N=this;for(;k>le||L>le;)k&ft&&(S=S.add(N)),L&ft&&(I=I.add(N)),N=N.double(),k>>=ft,L>>=ft;return m&&(S=S.negate()),U&&(I=I.negate()),I=new h(e.mul(I.px,B.beta),I.py,I.pz),S.add(I)}multiply(d){let{endo:w,n:B}=t;It("scalar",d,ft,B);let m,k;if(w){let{k1neg:U,k1:L,k2neg:S,k2:I}=w.splitScalar(d),{p:N,f:rt}=this.wNAF(L),{p:F,f:O}=this.wNAF(I);N=x.constTimeNegate(U,N),F=x.constTimeNegate(S,F),F=new h(e.mul(F.px,w.beta),F.py,F.pz),m=N.add(F),k=rt.add(O)}else{let{p:U,f:L}=this.wNAF(d);m=U,k=L}return h.normalizeZ([m,k])[0]}multiplyAndAddUnsafe(d,w,B){let m=h.BASE,k=(L,S)=>S===le||S===ft||!L.equals(m)?L.multiplyUnsafe(S):L.multiply(S),U=k(this,w).add(k(d,B));return U.is0()?void 0:U}toAffine(d){return l(this,d)}isTorsionFree(){let{h:d,isTorsionFree:w}=t;if(d===ft)return!0;if(w)return w(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:w}=t;return d===ft?this:w?w(h,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return Pt("isCompressed",d),this.assertValidity(),s(h,this,d)}toHex(d=!0){return Pt("isCompressed",d),Qt(this.toRawBytes(d))}}h.BASE=new h(t.Gx,t.Gy,e.ONE),h.ZERO=new h(e.ZERO,e.ONE,e.ZERO);let g=t.nBitLength,x=hn(h,t.endo?Math.ceil(g/2):g);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function Vh(r){let t=kr(r);return Kt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Mc(r){let t=Vh(r),{Fp:e,n}=t,s=e.BYTES+1,i=2*e.BYTES+1;function o(E){return z(E,n)}function a(E){return fn(E,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:u}=_h({...t,toBytes(E,T,y){let p=T.toAffine(),v=e.toBytes(p.x),C=ee;return Pt("isCompressed",y),y?C(Uint8Array.from([T.hasEvenY()?2:3]),v):C(Uint8Array.from([4]),v,e.toBytes(p.y))},fromBytes(E){let T=E.length,y=E[0],p=E.subarray(1);if(T===s&&(y===2||y===3)){let v=te(p);if(!Br(v,ft,e.ORDER))throw new Error("Point is not on curve");let C=l(v),R;try{R=e.sqrt(C)}catch(H){let P=H instanceof Error?": "+H.message:"";throw new Error("Point is not on curve"+P)}let _=(R&ft)===ft;return(y&1)===1!==_&&(R=e.neg(R)),{x:v,y:R}}else if(T===i&&y===4){let v=e.fromBytes(p.subarray(0,e.BYTES)),C=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x:v,y:C}}else throw new Error(`Point of length ${T} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),h=E=>Qt(be(E,t.nByteLength));function g(E){let T=n>>ft;return E>T}function x(E){return g(E)?o(-E):E}let b=(E,T,y)=>te(E.slice(T,y));class d{constructor(T,y,p){this.r=T,this.s=y,this.recovery=p,this.assertValidity()}static fromCompact(T){let y=t.nByteLength;return T=tt("compactSignature",T,y*2),new d(b(T,0,y),b(T,y,2*y))}static fromDER(T){let{r:y,s:p}=ce.toSig(tt("DER",T));return new d(y,p)}assertValidity(){It("r",this.r,ft,n),It("s",this.s,ft,n)}addRecoveryBit(T){return new d(this.r,this.s,T)}recoverPublicKey(T){let{r:y,s:p,recovery:v}=this,C=L(tt("msgHash",T));if(v==null||![0,1,2,3].includes(v))throw new Error("recovery id invalid");let R=v===2||v===3?y+t.n:y;if(R>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let _=v&1?"03":"02",D=c.fromHex(_+h(R)),H=a(R),P=o(-C*H),$=o(p*H),W=c.BASE.multiplyAndAddUnsafe(D,P,$);if(!W)throw new Error("point at infinify");return W.assertValidity(),W}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new d(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Ue(this.toDERHex())}toDERHex(){return ce.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Ue(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let w={isValidPrivateKey(E){try{return f(E),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let E=ri(t.n);return ba(t.randomBytes(E),t.n)},precompute(E=8,T=c.BASE){return T._setWindowSize(E),T.multiply(BigInt(3)),T}};function B(E,T=!0){return c.fromPrivateKey(E).toRawBytes(T)}function m(E){let T=ge(E),y=typeof E=="string",p=(T||y)&&E.length;return T?p===s||p===i:y?p===2*s||p===2*i:E instanceof c}function k(E,T,y=!0){if(m(E))throw new Error("first arg must be private key");if(!m(T))throw new Error("second arg must be public key");return c.fromHex(T).multiply(f(E)).toRawBytes(y)}let U=t.bits2int||function(E){let T=te(E),y=E.length*8-t.nBitLength;return y>0?T>>BigInt(y):T},L=t.bits2int_modN||function(E){return o(U(E))},S=Ar(t.nBitLength);function I(E){return It(`num < 2^${t.nBitLength}`,E,le,S),be(E,t.nByteLength)}function N(E,T,y=rt){if(["recovered","canonical"].some(lt=>lt in y))throw new Error("sign() legacy options not supported");let{hash:p,randomBytes:v}=t,{lowS:C,prehash:R,extraEntropy:_}=y;C==null&&(C=!0),E=tt("msgHash",E),Dc(y),R&&(E=tt("prehashed msgHash",p(E)));let D=L(E),H=f(T),P=[I(H),I(D)];if(_!=null&&_!==!1){let lt=_===!0?v(e.BYTES):_;P.push(tt("extraEntropy",lt))}let $=ee(...P),W=D;function ct(lt){let ht=U(lt);if(!u(ht))return;let wt=a(ht),st=c.BASE.multiply(ht).toAffine(),St=o(st.x);if(St===le)return;let jt=o(wt*o(W+St*H));if(jt===le)return;let gr=(st.x===St?0:2)|Number(st.y&ft),yr=jt;return C&&g(jt)&&(yr=x(jt),gr^=1),new d(St,yr,gr)}return{seed:$,k2sig:ct}}let rt={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function O(E,T,y=rt){let{seed:p,k2sig:v}=N(E,T,y),C=t;return Xs(C.hash.outputLen,C.nByteLength,C.hmac)(p,v)}c.BASE._setWindowSize(8);function nt(E,T,y,p=F){let v=E;if(T=tt("msgHash",T),y=tt("publicKey",y),"strict"in p)throw new Error("options.strict was renamed to lowS");Dc(p);let{lowS:C,prehash:R}=p,_,D;try{if(typeof v=="string"||ge(v))try{_=d.fromDER(v)}catch(st){if(!(st instanceof ce.Err))throw st;_=d.fromCompact(v)}else if(typeof v=="object"&&typeof v.r=="bigint"&&typeof v.s=="bigint"){let{r:st,s:St}=v;_=new d(st,St)}else throw new Error("PARSE");D=c.fromHex(y)}catch(st){if(st.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(C&&_.hasHighS())return!1;R&&(T=t.hash(T));let{r:H,s:P}=_,$=L(T),W=a(P),ct=o($*W),lt=o(H*W),ht=c.BASE.multiplyAndAddUnsafe(D,ct,lt)?.toAffine();return ht?o(ht.x)===H:!1}return{CURVE:t,getPublicKey:B,getSharedSecret:k,sign:O,verify:nt,ProjectivePoint:c,Signature:d,utils:w}}function Oh(r){return{hash:r,hmac:(t,...e)=>Yi(r,t,$s(...e)),randomBytes:an}}function Hc(r,t){let e=n=>Mc({...r,...Oh(n)});return Object.freeze({...e(t),create:e})}var qc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Fc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Dh=BigInt(1),Ji=BigInt(2),Kc=(r,t)=>(r+t/Ji)/t;function Ph(r){let t=qc,e=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),f=r*r*r%t,l=f*f*r%t,u=Y(l,e,t)*l%t,h=Y(u,e,t)*l%t,g=Y(h,Ji,t)*f%t,x=Y(g,s,t)*g%t,b=Y(x,i,t)*x%t,d=Y(b,a,t)*b%t,w=Y(d,c,t)*d%t,B=Y(w,a,t)*b%t,m=Y(B,e,t)*l%t,k=Y(m,o,t)*x%t,U=Y(k,n,t)*f%t,L=Y(U,Ji,t);if(!Xi.eql(Xi.sqr(L),r))throw new Error("Cannot find square root");return L}var Xi=we(qc,void 0,void 0,{sqrt:Ph}),Fe=Hc({a:BigInt(0),b:BigInt(7),Fp:Xi,n:Fc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Fc,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Dh*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,o=BigInt("0x100000000000000000000000000000000"),a=Kc(i*r,t),c=Kc(-n*r,t),f=z(r-a*e-c*s,t),l=z(-a*n-c*i,t),u=f>o,h=l>o;if(u&&(f=t-f),h&&(l=t-l),f>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:f,k2neg:h,k2:l}}}},er),Pm=BigInt(0);var Mm=Fe.ProjectivePoint;function Rt(r,t){t==null&&(t=r.reduce((s,i)=>s+i.length,0));let e=Ct(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}function $c(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function zc(r,t,e){let n=Sr.digest(e instanceof Uint8Array?e:e.subarray());if($c(n))return n.then(({digest:s})=>Fe.verify(t,s,r)).catch(s=>{throw new Mr(String(s))});try{return Fe.verify(t,n.digest,r)}catch(s){throw new Mr(String(s))}}var ds=class{type="secp256k1";raw;_key;constructor(t){this._key=Wc(t),this.raw=Gc(this._key)}toMultihash(){return Jt.digest(qt(this))}toCID(){return it.createV1(114,this.toMultihash())}toString(){return J.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ut(this.raw,t.raw)}verify(t,e){return zc(this._key,e,t)}};function Qi(r){return new ds(r)}function Gc(r){return Fe.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Wc(r){try{return Fe.ProjectivePoint.fromHex(r),r}catch(t){throw new $e(String(t))}}function ps(r){let{Type:t,Data:e}=zt.decode(r),n=e??new Uint8Array;switch(t){case at.RSA:return ji(n);case at.Ed25519:return ai(n);case at.secp256k1:return Qi(n);default:throw new Te}}function Zc(r){let{Type:t,Data:e}=zt.decode(r.digest),n=e??new Uint8Array;switch(t){case at.Ed25519:return ai(n);case at.secp256k1:return Qi(n);default:throw new Te}}function qt(r){return zt.encode({Type:at[r.type],Data:r.raw})}var jc=Symbol.for("nodejs.util.inspect.custom"),Mh=114,Kr=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()})`}[tn]=!0;toString(){return this.string==null&&(this.string=J.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return it.createV1(Mh,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return ut(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return ut(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[jc](){return`PeerId(${this.toString()})`}},qr=class extends Kr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},$r=class extends Kr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},zr=class extends Kr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Hh=2336,Gr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Jt.digest(Z(this.url))}[jc](){return`PeerId(${this.url})`}[tn]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return it.createV1(Hh,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=X(t)),t.toString()===this.toString())}};var Fh=114,Yc=2336;function Jc(r){if(r.type==="Ed25519")return new $r({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new zr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new qr({multihash:r.toCID().multihash,publicKey:r});throw new Te}function to(r){if(qh(r))return new qr({multihash:r});if(Kh(r))try{let t=Zc(r);if(t.type==="Ed25519")return new $r({multihash:r,publicKey:t});if(t.type==="secp256k1")return new zr({multihash:r,publicKey:t})}catch{let e=X(r.digest);return new Gr(new URL(e))}throw new rn("Supplied PeerID Multihash is invalid")}function ms(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==Fh&&r.code!==Yc)throw new en("Supplied PeerID CID is invalid");if(r.code===Yc){let t=X(r.multihash.digest);return new Gr(new URL(t))}return to(r.multihash)}function Kh(r){return r.code===Jt.code}function qh(r){return r.code===Sr.code}var Qc=Symbol.for("@achingbrain/uint8arraylist");function Xc(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function gs(r){return!!r?.[Qc]}var ys=class r{bufs;length;[Qc]=!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 e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(gs(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(gs(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Xc(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Xc(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(gs(t))for(let n=0;n<t.length;n++)this.set(e+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,e){let{bufs:n,length:s}=this._subList(t,e);return Rt(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:Rt(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),i=new r;return i.length=s,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],s=0;for(let i=0;i<this.bufs.length;i++){let o=this.bufs[i],a=s,c=a+o.byteLength;if(s=c,t>=c)continue;let f=t>=a&&t<c,l=e>a&&e<=c;if(f&&l){if(t===a&&e===c){n.push(o);break}let u=t-a;n.push(o.subarray(u,u+(e-t)));break}if(f){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(l){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!gs(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(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let u=0;u<i;u++)o[u]=-1;for(let u=0;u<s;u++)o[n[u]]=u;let a=o,c=this.byteLength-n.byteLength,f=n.byteLength-1,l;for(let u=e;u<=c;u+=l){l=0;for(let h=f;h>=0;h--){let g=this.get(u+h);if(n[h]!==g){l=Math.max(1,h-a[g]);break}}if(l===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let s=et(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let s=et(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let s=et(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let s=et(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let s=et(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let s=et(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let s=et(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let s=et(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!ut(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((s,i)=>s+i.byteLength,0)),n.length=e,n}};var Wr;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.publicKey!=null&&e.publicKey.byteLength>0&&(n.uint32(10),n.bytes(e.publicKey)),e.payloadType!=null&&e.payloadType.byteLength>0&&(n.uint32(18),n.bytes(e.payloadType)),e.payload!=null&&e.payload.byteLength>0&&(n.uint32(26),n.bytes(e.payload)),e.signature!=null&&e.signature.byteLength>0&&(n.uint32(42),n.bytes(e.signature)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={publicKey:et(0),payloadType:et(0),payload:et(0),signature:et(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.publicKey=e.bytes();break}case 2:{i.payloadType=e.bytes();break}case 3:{i.payload=e.bytes();break}case 5:{i.signature=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(Wr||(Wr={}));var bs=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var cr=class r{static createFromProtobuf=async t=>{let e=Wr.decode(t),n=ps(e.publicKey);return new r({publicKey:n,payloadType:e.payloadType,payload:e.payload,signature:e.signature})};static seal=async(t,e)=>{if(e==null)throw new Error("Missing private key");let n=t.domain,s=t.codec,i=t.marshal(),o=tl(n,s,i),a=await e.sign(o.subarray());return new r({publicKey:e.publicKey,payloadType:s,payload:i,signature:a})};static openAndCertify=async(t,e)=>{let n=await r.createFromProtobuf(t);if(!await n.validate(e))throw new bs("Envelope signature is not valid for the given domain");return n};publicKey;payloadType;payload;signature;marshaled;constructor(t){let{publicKey:e,payloadType:n,payload:s,signature:i}=t;this.publicKey=e,this.payloadType=n,this.payload=s,this.signature=i}marshal(){return this.marshaled==null&&(this.marshaled=Wr.encode({publicKey:qt(this.publicKey),payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return ut(this.marshal(),t.marshal())}async validate(t){let e=tl(t,this.payloadType,this.payload);return this.publicKey.verify(e.subarray(),this.signature)}},tl=(r,t,e)=>{let n=Z(r),s=$t(n.byteLength),i=$t(t.length),o=$t(e.length);return new ys(s,n,i,t,o,e)};function el(r,t){let e=(n,s)=>n.toString().localeCompare(s.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,s)=>t[s].equals(n)))}var ws=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,s){return this.readAtomically(()=>{let i=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*s)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let h=Number.parseInt(u,t);if(!Number.isNaN(h))return h});if(l===void 0)break;if(i*=t,i+=l,i>f||(o+=1,e!==void 0&&o>e))return}if(o!==0)return!n&&c&&o>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let s=n*2;if(n<e.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return e[s]=o[0],e[s+1]=o[1],e[s+2]=o[2],e[s+3]=o[3],[s+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[s,!1];e[s]=i>>8,e[s+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,s]=t(e);if(n===16)return e;if(s||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),o=16-(n+2),[a]=t(i.subarray(0,o));return e.set(i.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var rl=45,$h=15,lr=new ws;function eo(r){if(!(r.length>$h))return lr.new(r).parseWith(()=>lr.readIPv4Addr())}function ro(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>rl))return lr.new(r).parseWith(()=>lr.readIPv6Addr())}function xs(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>rl))return lr.new(r).parseWith(()=>lr.readIPAddr())}var gy=parseInt("0xFFFF",16),yy=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function il(r){return!!eo(r)}function ol(r){return!!ro(r)}function vs(r){return!!xs(r)}var al=il,jh=ol,no=function(r){let t=0;if(r=r.toString().trim(),al(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(jh(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let i=al(e[n]),o;i&&(o=no(e[n]),e[n]=X(o.slice(0,2),"base16")),o!=null&&++n<8&&e.splice(n,0,X(o.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let i=[n,1];for(n=9-e.length;n>0;n--)i.push("0");e.splice.apply(e,i)}let s=new Uint8Array(t+16);for(n=0;n<e.length;n++){let i=parseInt(e[n],16);s[t++]=i>>8&255,s[t++]=i&255}return s}throw new Error("invalid ip address")},cl=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let s=[];for(let i=0;i<e;i++)s.push(r[t+i]);return s.join(".")}if(e===16){let s=[];for(let i=0;i<e;i+=2)s.push(n.getUint16(t+i).toString(16));return s.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ur={},so={},Jh=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];Jh.forEach(r=>{let t=Xh(...r);so[t.code]=t,ur[t.name]=t});function Xh(r,t,e,n,s){return{code:r,size:t,name:e,resolvable:!!n,path:!!s}}function G(r){if(typeof r=="number"){if(so[r]!=null)return so[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(ur[r]!=null)return ur[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var tb=G("ip4"),eb=G("ip6"),rb=G("ipcidr");function co(r,t){switch(G(r).code){case 4:case 41:return td(t);case 42:return ao(t);case 6:case 273:case 33:case 132:return fl(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ao(t);case 421:return sd(t);case 444:return ul(t);case 445:return ul(t);case 466:return nd(t);case 481:return globalThis.encodeURIComponent(ao(t));default:return X(t,"base16")}}function lo(r,t){switch(G(r).code){case 4:return ll(t);case 41:return ll(t);case 42:return oo(t);case 6:case 273:case 33:case 132:return uo(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return oo(t);case 421:return ed(t);case 444:return id(t);case 445:return od(t);case 466:return rd(t);case 481:return oo(globalThis.decodeURIComponent(t));default:return Z(t,"base16")}}var io=Object.values(Ir).map(r=>r.decoder),Qh=function(){let r=io[0].or(io[1]);return io.slice(2).forEach(t=>r=r.or(t)),r}();function ll(r){if(!vs(r))throw new Error("invalid ip address");return no(r)}function td(r){let t=cl(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!vs(t))throw new Error("invalid ip address");return t}function uo(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function fl(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function oo(r){let t=Z(r),e=Uint8Array.from($t(t.length));return Rt([e,t],e.length+t.length)}function ao(r){let t=Oe(r);if(r=r.slice(Nt(t)),r.length!==t)throw new Error("inconsistent lengths");return X(r)}function ed(r){let t;r[0]==="Q"||r[0]==="1"?t=Ce(J.decode(`z${r}`)).bytes:t=it.parse(r).multihash.bytes;let e=Uint8Array.from($t(t.length));return Rt([e,t],e.length+t.length)}function rd(r){let t=Qh.decode(r),e=Uint8Array.from($t(t.length));return Rt([e,t],e.length+t.length)}function nd(r){let t=Oe(r),e=r.slice(Nt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+X(e,"base64url")}function sd(r){let t=Oe(r),e=r.slice(Nt(t));if(e.length!==t)throw new Error("inconsistent lengths");return X(e,"base58btc")}function id(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Vt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let s=uo(n);return Rt([e,s],e.length+s.length)}function od(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Vt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let s=uo(n);return Rt([e,s],e.length+s.length)}function ul(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=X(t,"base32"),s=fl(e);return`${n}:${s}`}function hl(r){r=fo(r);let t=[],e=[],n=null,s=r.split("/").slice(1);if(s.length===1&&s[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<s.length;i++){let o=s[i],a=G(o);if(a.size===0){t.push([a.code]),e.push([a.code]);continue}if(i++,i>=s.length)throw pl("invalid address: "+r);if(a.path===!0){n=fo(s.slice(i).join("/")),t.push([a.code,lo(a.code,n)]),e.push([a.code,n]);break}let c=lo(a.code,s[i]);t.push([a.code,c]),e.push([a.code,co(a.code,c)])}return{string:dl(e),bytes:po(t),tuples:t,stringTuples:e,path:n}}function ho(r){let t=[],e=[],n=null,s=0;for(;s<r.length;){let i=Oe(r,s),o=Nt(i),a=G(i),c=ad(a,r.slice(s+o));if(c===0){t.push([i]),e.push([i]),s+=o;continue}let f=r.slice(s+o,s+o+c);if(s+=c+o,s>r.length)throw pl("Invalid address Uint8Array: "+X(r,"base16"));t.push([i,f]);let l=co(i,f);if(e.push([i,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(r),string:dl(e),tuples:t,stringTuples:e,path:n}}function dl(r){let t=[];return r.map(e=>{let n=G(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),fo(t.join("/"))}function po(r){return Rt(r.map(t=>{let e=G(t[0]),n=Uint8Array.from($t(e.code));return t.length>1&&t[1]!=null&&(n=Rt([n,t[1]])),n}))}function ad(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=Oe(t instanceof Uint8Array?t:Uint8Array.from(t));return e+Nt(e)}}function fo(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function pl(r){return new Error("Error parsing address: "+r)}var cd=Symbol.for("nodejs.util.inspect.custom"),go=Symbol.for("@multiformats/js-multiaddr/multiaddr"),ld=[G("dns").code,G("dns4").code,G("dns6").code,G("dnsaddr").code],mo=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},Es=class r{bytes;#t;#e;#i;#a;[go]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=ho(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=hl(t)}else if(Bs(t))e=ho(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#i=e.stringTuples,this.#a=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,s,i="",o=G("tcp"),a=G("udp"),c=G("ip4"),f=G("ip6"),l=G("dns6"),u=G("ip6zone");for(let[g,x]of this.stringTuples())g===u.code&&(i=`%${x??""}`),ld.includes(g)&&(e=o.name,s=443,n=`${x??""}${i}`,t=g===l.code?6:4),(g===o.code||g===a.code)&&(e=G(g).name,s=parseInt(x??"")),(g===c.code||g===f.code)&&(e=G(g).name,n=`${x??""}${i}`,t=g===f.code?6:4);if(t==null||e==null||n==null||s==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:s}}protos(){return this.#e.map(([t])=>Object.assign({},G(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>G(t).name)}tuples(){return this.#e.map(([t,e])=>e==null?[t]:[t,e])}stringTuples(){return this.#i.map(([t,e])=>e==null?[t]:[t,e])}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),s=n.lastIndexOf(e);if(s<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,s))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(po(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,s])=>{n===ur.p2p.code&&t.push([n,s]),n===ur["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?X(J.decode(`z${n}`),"base58btc"):X(it.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(t){return ut(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=ml.get(e.name);if(n==null)throw new mo(`no available resolver for ${e.name}`);return(await n(this,t)).map(i=>ue(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[cd](){return`Multiaddr(${this.#t})`}};var ml=new Map;function Bs(r){return!!r?.[go]}function ue(r){return new Es(r)}var gl="libp2p-peer-record",yl=Uint8Array.from([3,1]);var Zr;(function(r){let t;(function(n){let s;n.codec=()=>(s==null&&(s=Bt((i,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),i.multiaddr!=null&&i.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(i.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(i,o,a={})=>{let c={multiaddr:et(0)},f=o==null?i.len:i.pos+o;for(;i.pos<f;){let l=i.uint32();switch(l>>>3){case 1:{c.multiaddr=i.bytes();break}default:{i.skipType(l&7);break}}}return c})),s),n.encode=i=>Et(i,n.codec()),n.decode=(i,o)=>vt(i,n.codec(),o)})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=Bt((n,s,i={})=>{if(i.lengthDelimited!==!1&&s.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(s.uint32(10),s.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(s.uint32(16),s.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)s.uint32(26),r.AddressInfo.codec().encode(o,s);i.lengthDelimited!==!1&&s.ldelim()},(n,s,i={})=>{let o={peerId:et(0),seq:0n,addresses:[]},a=s==null?n.len:n.pos+s;for(;n.pos<a;){let c=n.uint32();switch(c>>>3){case 1:{o.peerId=n.bytes();break}case 2:{o.seq=n.uint64();break}case 3:{if(i.limits?.addresses!=null&&o.addresses.length===i.limits.addresses)throw new Me('Decode error - map field "addresses" had too many elements');o.addresses.push(r.AddressInfo.codec().decode(n,n.uint32(),{limits:i.limits?.addresses$}));break}default:{n.skipType(c&7);break}}}return o})),e),r.encode=n=>Et(n,r.codec()),r.decode=(n,s)=>vt(n,r.codec(),s)})(Zr||(Zr={}));var Ke=class r{static createFromProtobuf=t=>{let e=Zr.decode(t),n=to(Ce(e.peerId)),s=(e.addresses??[]).map(o=>ue(o.multiaddr)),i=e.seq;return new r({peerId:n,multiaddrs:s,seqNumber:i})};static DOMAIN=gl;static CODEC=yl;peerId;multiaddrs;seqNumber;domain=r.DOMAIN;codec=r.CODEC;marshaled;constructor(t){let{peerId:e,multiaddrs:n,seqNumber:s}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=s??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Zr.encode({peerId:this.peerId.toMultihash().bytes,seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof r)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!el(this.multiaddrs,t.multiaddrs))}};function ud(r){return r[Symbol.asyncIterator]!=null}function fd(r){if(ud(r))return(async()=>{let e=[];for await(let n of r)e.push(n);return e})();let t=[];for(let e of r)t.push(e);return t}var bl=fd;var bo=Fo(xl(),1);var Yr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},wo=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},vl=r=>globalThis.DOMException===void 0?new wo(r):new DOMException(r),El=r=>{let t=r.reason===void 0?vl("This operation was aborted."):r.reason;return t instanceof Error?t:vl(t)};function Jr(r,t){let{milliseconds:e,fallback:n,message:s,customTimers:i={setTimeout,clearTimeout}}=t,o,c=new Promise((f,l)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:h}=t;h.aborted&&l(El(h));let g=()=>{l(El(h))};h.addEventListener("abort",g,{once:!0}),r.finally(()=>{h.removeEventListener("abort",g)})}if(e===Number.POSITIVE_INFINITY){r.then(f,l);return}let u=new Yr;o=i.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(h){l(h)}return}typeof r.cancel=="function"&&r.cancel(),s===!1?f():s instanceof Error?l(s):(u.message=s??`Promise timed out after ${e} milliseconds`,l(u))},e),(async()=>{try{f(await r)}catch(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},c}function xo(r,t,e){let n=0,s=r.length;for(;s>0;){let i=Math.trunc(s/2),o=n+i;e(r[o],t)<=0?(n=++o,s-=i+1):s=i}return n}var Xr=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let s=xo(this.#t,n,(i,o)=>o.priority-i.priority);this.#t.splice(s,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var fr=class extends bo.default{#t;#e;#i=0;#a;#c;#p=0;#n;#l;#r;#m;#s=0;#u;#o;#g;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Xr,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#e=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#a=t.intervalCap,this.#c=t.interval,this.#r=new t.queueClass,this.#m=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#g=t.throwOnTimeout===!0,this.#o=t.autoStart===!1}get#w(){return this.#e||this.#i<this.#a}get#x(){return this.#s<this.#u}#v(){this.#s--,this.#f(),this.emit("next")}#E(){this.#b(),this.#y(),this.#l=void 0}get#B(){let t=Date.now();if(this.#n===void 0){let e=this.#p-t;if(e<0)this.#i=this.#t?this.#s:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#E()},e)),!0}return!1}#f(){if(this.#r.size===0)return this.#n&&clearInterval(this.#n),this.#n=void 0,this.emit("empty"),this.#s===0&&this.emit("idle"),!1;if(!this.#o){let t=!this.#B;if(this.#w&&this.#x){let e=this.#r.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#e||this.#n!==void 0||(this.#n=setInterval(()=>{this.#b()},this.#c),this.#p=Date.now()+this.#c)}#b(){this.#i===0&&this.#s===0&&this.#n&&(clearInterval(this.#n),this.#n=void 0),this.#i=this.#t?this.#s:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#u}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#u=t,this.#h()}async#A(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#g,...e},new Promise((n,s)=>{this.#r.enqueue(async()=>{this.#s++,this.#i++;try{e.signal?.throwIfAborted();let i=t({signal:e.signal});e.timeout&&(i=Jr(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#A(e.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof Yr&&!e.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#v()}},e),this.emit("add"),this.#f()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#r=new this.#m}async onEmpty(){this.#r.size!==0&&await this.#d("empty")}async onSizeLessThan(t){this.#r.size<t||await this.#d("next",()=>this.#r.size<t)}async onIdle(){this.#s===0&&this.#r.size===0||await this.#d("idle")}async#d(t,e){return new Promise(n=>{let s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)})}get size(){return this.#r.size}sizeBy(t){return this.#r.filter(t).length}get pending(){return this.#s}get isPaused(){return this.#o}};var Se={},hr=r=>{r.addEventListener("message",t=>{hr.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{hr.dispatchEvent("message",r,t)})};hr.addEventListener=(r,t)=>{Se[r]==null&&(Se[r]=[]),Se[r].push(t)};hr.removeEventListener=(r,t)=>{Se[r]!=null&&(Se[r]=Se[r].filter(e=>e===t))};hr.dispatchEvent=function(r,t,e){Se[r]!=null&&Se[r].forEach(n=>n(t,e))};var vo=hr;var Eo="lock:worker:request-read",Bo="lock:worker:release-read",Ao="lock:master:grant-read",ko="lock:worker:request-write",So="lock:worker:release-write",Io="lock:master:grant-write";var Bl=(r=21)=>Math.random().toString().substring(2);var Al=(r,t,e,n,s)=>(i,o)=>{if(o.data.type!==e)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>{i.postMessage({type:s,name:a.name,identifier:a.identifier}),await new Promise(c=>{let f=l=>{if(l?.data==null)return;let u={type:l.data.type,name:l.data.name,identifier:l.data.identifier};u.type===n&&u.identifier===a.identifier&&(i.removeEventListener("message",f),c())};i.addEventListener("message",f)})}}}))},kl=(r,t,e,n)=>async()=>{let s=Bl();return globalThis.postMessage({type:t,identifier:s,name:r}),new Promise(i=>{let o=a=>{if(a?.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===s&&(globalThis.removeEventListener("message",o),i(()=>{globalThis.postMessage({type:n,identifier:s,name:r})}))};globalThis.addEventListener("message",o)})},pd={singleProcess:!1},Sl=r=>{if(r=Object.assign({},pd,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return vo.addEventListener("message",Al(e,"requestReadLock",Eo,Bo,Ao)),vo.addEventListener("message",Al(e,"requestWriteLock",ko,So,Io)),e}return{isWorker:!0,readLock:e=>kl(e,Eo,Ao,Bo),writeLock:e=>kl(e,ko,Io,So)}};var qe={},Ie;async function To(r,t){let e,n=new Promise(s=>{e=s});return r.add(async()=>Jr((async()=>{await new Promise(s=>{e(()=>{s()})})})(),{milliseconds:t.timeout})),n}var md=(r,t)=>{if(Ie.isWorker===!0)return{readLock:Ie.readLock(r,t),writeLock:Ie.writeLock(r,t)};let e=new fr({concurrency:1}),n;return{async readLock(){if(n!=null)return To(n,t);n=new fr({concurrency:t.concurrency,autoStart:!1});let s=n,i=To(n,t);return e.add(async()=>{s.start(),await s.onIdle().then(()=>{n===s&&(n=null)})}),i},async writeLock(){return n=null,To(e,t)}}},gd={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Co(r){let t=Object.assign({},gd,r);return Ie==null&&(Ie=Sl(t),Ie.isWorker!==!0&&(Ie.addEventListener("requestReadLock",e=>{qe[e.data.name]!=null&&qe[e.data.name].readLock().then(async n=>e.data.handler().finally(()=>{n()}))}),Ie.addEventListener("requestWriteLock",async e=>{qe[e.data.name]!=null&&qe[e.data.name].writeLock().then(async n=>e.data.handler().finally(()=>{n()}))}))),qe[t.name]==null&&(qe[t.name]=md(t.name,t)),qe[t.name]}var dr;(function(r){let t;(function(s){let i;s.codec=()=>(i==null&&(i=Bt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let f={key:"",value:et(0)},l=a==null?o.len:o.pos+a;for(;o.pos<l;){let u=o.uint32();switch(u>>>3){case 1:{f.key=o.string();break}case 2:{f.value=o.bytes();break}default:{o.skipType(u&7);break}}}return f})),i),s.encode=o=>Et(o,s.codec()),s.decode=(o,a)=>vt(o,s.codec(),a)})(t=r.Peer$metadataEntry||(r.Peer$metadataEntry={}));let e;(function(s){let i;s.codec=()=>(i==null&&(i=Bt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),Ss.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let f={key:""},l=a==null?o.len:o.pos+a;for(;o.pos<l;){let u=o.uint32();switch(u>>>3){case 1:{f.key=o.string();break}case 2:{f.value=Ss.codec().decode(o,o.uint32(),{limits:c.limits?.value});break}default:{o.skipType(u&7);break}}}return f})),i),s.encode=o=>Et(o,s.codec()),s.decode=(o,a)=>vt(o,s.codec(),a)})(e=r.Peer$tagsEntry||(r.Peer$tagsEntry={}));let n;r.codec=()=>(n==null&&(n=Bt((s,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),s.addresses!=null)for(let a of s.addresses)i.uint32(10),ks.codec().encode(a,i);if(s.protocols!=null)for(let a of s.protocols)i.uint32(18),i.string(a);if(s.publicKey!=null&&(i.uint32(34),i.bytes(s.publicKey)),s.peerRecordEnvelope!=null&&(i.uint32(42),i.bytes(s.peerRecordEnvelope)),s.metadata!=null&&s.metadata.size!==0)for(let[a,c]of s.metadata.entries())i.uint32(50),r.Peer$metadataEntry.codec().encode({key:a,value:c},i);if(s.tags!=null&&s.tags.size!==0)for(let[a,c]of s.tags.entries())i.uint32(58),r.Peer$tagsEntry.codec().encode({key:a,value:c},i);o.lengthDelimited!==!1&&i.ldelim()},(s,i,o={})=>{let a={addresses:[],protocols:[],metadata:new Map,tags:new Map},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let f=s.uint32();switch(f>>>3){case 1:{if(o.limits?.addresses!=null&&a.addresses.length===o.limits.addresses)throw new Me('Decode error - map field "addresses" had too many elements');a.addresses.push(ks.codec().decode(s,s.uint32(),{limits:o.limits?.addresses$}));break}case 2:{if(o.limits?.protocols!=null&&a.protocols.length===o.limits.protocols)throw new Me('Decode error - map field "protocols" had too many elements');a.protocols.push(s.string());break}case 4:{a.publicKey=s.bytes();break}case 5:{a.peerRecordEnvelope=s.bytes();break}case 6:{if(o.limits?.metadata!=null&&a.metadata.size===o.limits.metadata)throw new Nr('Decode error - map field "metadata" had too many elements');let l=r.Peer$metadataEntry.codec().decode(s,s.uint32());a.metadata.set(l.key,l.value);break}case 7:{if(o.limits?.tags!=null&&a.tags.size===o.limits.tags)throw new Nr('Decode error - map field "tags" had too many elements');let l=r.Peer$tagsEntry.codec().decode(s,s.uint32(),{limits:{value:o.limits?.tags$value}});a.tags.set(l.key,l.value);break}default:{s.skipType(f&7);break}}}return a})),n),r.encode=s=>Et(s,r.codec()),r.decode=(s,i)=>vt(s,r.codec(),i)})(dr||(dr={}));var ks;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.multiaddr!=null&&e.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(e.multiaddr)),e.isCertified!=null&&(n.uint32(16),n.bool(e.isCertified)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={multiaddr:et(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.multiaddr=e.bytes();break}case 2:{i.isCertified=e.bool();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(ks||(ks={}));var Ss;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.value!=null&&e.value!==0&&(n.uint32(8),n.uint32(e.value)),e.expiry!=null&&(n.uint32(16),n.uint64(e.expiry)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={value:0},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.value=e.uint32();break}case 2:{i.expiry=e.uint64();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(Ss||(Ss={}));function pr(r,t){let e=dr.decode(t);if(e.publicKey!=null&&r.publicKey==null){let i=ps(e.publicKey);r=Jc(i)}let n=new Map,s=BigInt(Date.now());for(let[i,o]of e.tags.entries())o.expiry!=null&&o.expiry<s||n.set(i,o);return{...e,id:r,addresses:e.addresses.map(({multiaddr:i,isCertified:o})=>({multiaddr:ue(i),isCertified:o??!1})),metadata:e.metadata,peerRecordEnvelope:e.peerRecordEnvelope??void 0,tags:n}}var fe="/",Il=new TextEncoder().encode(fe),Is=Il[0],Ts=class r{_buf;constructor(t,e){if(typeof t=="string")this._buf=Z(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Is)throw new Error("Invalid key")}toString(t="utf8"){return X(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new r(t.join(fe))}static random(){return new r(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new r(t):typeof t.uint8Array=="function"?new r(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Il),this._buf[0]!==Is){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Is,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Is;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let s=0;s<e.length;s++){if(n.length<s+1)return!1;let i=e[s],o=n[s];if(i<o)return!0;if(i>o)return!1}return e.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(fe).slice(1)}type(){return yd(this.baseNamespace())}name(){return bd(this.baseNamespace())}instance(t){return new r(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(fe)||(t+=fe),t+=this.type(),new r(t)}parent(){let t=this.list();return t.length===1?new r(fe):new r(t.slice(0,-1).join(fe))}child(t){return this.toString()===fe?t:t.toString()===fe?this:new r(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return r.withNamespaces([...this.namespaces(),...wd(t.map(e=>e.namespaces()))])}};function yd(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function bd(r){let t=r.split(":");return t[t.length-1]}function wd(r){return[].concat(...r)}var No="/peers/";function mr(r){if(!Ko(r)||r.type==null)throw new K("Invalid PeerId");let t=r.toCID().toString();return new Ts(`${No}${t}`)}async function Tl(r,t,e){let n=new Map;for(let s of e){if(s==null)continue;if(s.multiaddr instanceof Uint8Array&&(s.multiaddr=ue(s.multiaddr)),!Bs(s.multiaddr))throw new K("Multiaddr was invalid");if(!await t(r,s.multiaddr))continue;let i=s.isCertified??!1,o=s.multiaddr.toString(),a=n.get(o);a!=null?s.isCertified=a.isCertified||i:n.set(o,{multiaddr:s.multiaddr,isCertified:i})}return[...n.values()].sort((s,i)=>s.multiaddr.toString().localeCompare(i.multiaddr.toString())).map(({isCertified:s,multiaddr:i})=>({isCertified:s,multiaddr:i.bytes}))}async function Ns(r,t,e,n){if(t==null)throw new K("Invalid PeerData");if(t.publicKey!=null&&r.publicKey!=null&&!t.publicKey.equals(r.publicKey))throw new K("publicKey bytes do not match peer id publicKey bytes");let s=n.existingPeer;if(s!=null&&!r.equals(s.id))throw new K("peer id did not match existing peer id");let i=s?.addresses??[],o=new Set(s?.protocols??[]),a=s?.metadata??new Map,c=s?.tags??new Map,f=s?.peerRecordEnvelope;if(e==="patch"){if((t.multiaddrs!=null||t.addresses!=null)&&(i=[],t.multiaddrs!=null&&i.push(...t.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),t.addresses!=null&&i.push(...t.addresses)),t.protocols!=null&&(o=new Set(t.protocols)),t.metadata!=null){let h=t.metadata instanceof Map?[...t.metadata.entries()]:Object.entries(t.metadata);a=Cs(h,{validate:Cl})}if(t.tags!=null){let h=t.tags instanceof Map?[...t.tags.entries()]:Object.entries(t.tags);c=Cs(h,{validate:Nl,map:Ll})}t.peerRecordEnvelope!=null&&(f=t.peerRecordEnvelope)}if(e==="merge"){if(t.multiaddrs!=null&&i.push(...t.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),t.addresses!=null&&i.push(...t.addresses),t.protocols!=null&&(o=new Set([...o,...t.protocols])),t.metadata!=null){let h=t.metadata instanceof Map?[...t.metadata.entries()]:Object.entries(t.metadata);for(let[g,x]of h)x==null?a.delete(g):a.set(g,x);a=Cs([...a.entries()],{validate:Cl})}if(t.tags!=null){let h=t.tags instanceof Map?[...t.tags.entries()]:Object.entries(t.tags),g=new Map(c);for(let[x,b]of h)b==null?g.delete(x):g.set(x,b);c=Cs([...g.entries()],{validate:Nl,map:Ll})}t.peerRecordEnvelope!=null&&(f=t.peerRecordEnvelope)}let l;s?.id.publicKey!=null?l=qt(s.id.publicKey):t.publicKey!=null?l=qt(t.publicKey):r.publicKey!=null&&(l=qt(r.publicKey));let u={addresses:await Tl(r,n.addressFilter??(async()=>!0),i),protocols:[...o.values()].sort((h,g)=>h.localeCompare(g)),metadata:a,tags:c,publicKey:l,peerRecordEnvelope:f};return r.type!=="RSA"&&delete u.publicKey,u}function Cs(r,t){let e=new Map;for(let[n,s]of r)s!=null&&t.validate(n,s);for(let[n,s]of r.sort(([i],[o])=>i.localeCompare(o)))s!=null&&e.set(n,t.map?.(n,s)??s);return e}function Cl(r,t){if(typeof r!="string")throw new K("Metadata key must be a string");if(!(t instanceof Uint8Array))throw new K("Metadata value must be a Uint8Array")}function Nl(r,t){if(typeof r!="string")throw new K("Tag name must be a string");if(t.value!=null){if(parseInt(`${t.value}`,10)!==t.value)throw new K("Tag value must be an integer");if(t.value<0||t.value>100)throw new K("Tag value must be between 0-100")}if(t.ttl!=null){if(parseInt(`${t.ttl}`,10)!==t.ttl)throw new K("Tag ttl must be an integer");if(t.ttl<0)throw new K("Tag ttl must be between greater than 0")}}function Ll(r,t){let e;return t.expiry!=null&&(e=t.expiry),t.ttl!=null&&(e=BigInt(Date.now()+Number(t.ttl))),{value:t.value??0,expiry:e}}function Ls(r,t){let e=r.toString().split("/")[2],n=it.parse(e,Vt),s=ms(n);return pr(s,t)}function xd(r){return r==null?{}:{prefix:No,filters:(r.filters??[]).map(t=>({key:e,value:n})=>t(Ls(e,n))),orders:(r.orders??[]).map(t=>(e,n)=>t(Ls(e.key,e.value),Ls(n.key,n.value)))}}var Us=class{peerId;datastore;lock;addressFilter;constructor(t,e={}){this.peerId=t.peerId,this.datastore=t.datastore,this.addressFilter=e.addressFilter,this.lock=Co({name:"peer-store",singleProcess:!0})}async has(t){return this.datastore.has(mr(t))}async delete(t){if(this.peerId.equals(t))throw new K("Cannot delete self peer");await this.datastore.delete(mr(t))}async load(t){let e=await this.datastore.get(mr(t));return pr(t,e)}async save(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ns(t,e,"patch",{addressFilter:this.addressFilter});return this.#e(t,i,n,s)}async patch(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ns(t,e,"patch",{addressFilter:this.addressFilter,existingPeer:s});return this.#e(t,i,n,s)}async merge(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ns(t,e,"merge",{addressFilter:this.addressFilter,existingPeer:s});return this.#e(t,i,n,s)}async*all(t){for await(let{key:e,value:n}of this.datastore.query(xd(t??{}))){let s=Ls(e,n);s.id.equals(this.peerId)||(yield s)}}async#t(t){try{let e=await this.datastore.get(mr(t)),n=pr(t,e);return{existingBuf:e,existingPeer:n}}catch(e){if(e.name!=="NotFoundError")throw e}return{}}async#e(t,e,n,s){let i=dr.encode(e);return n!=null&&ut(i,n)?{peer:pr(t,i),previous:s,updated:!1}:(await this.datastore.put(mr(t),i),{peer:pr(t,i),previous:s,updated:!0})}};var Lo=class{store;events;peerId;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:peer-store"),this.events=t.events,this.peerId=t.peerId,this.store=new Us(t,e)}[Symbol.toStringTag]="@libp2p/peer-store";async forEach(t,e){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let s of this.store.all(e))t(s)}finally{this.log.trace("forEach release read lock"),n()}}async all(t){this.log.trace("all await read lock");let e=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await bl(this.store.all(t))}finally{this.log.trace("all release read lock"),e()}}async delete(t){this.log.trace("delete await write lock");let e=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(t)}finally{this.log.trace("delete release write lock"),e()}}async has(t){this.log.trace("has await read lock");let e=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(t)}finally{this.log.trace("has release read lock"),e()}}async get(t){this.log.trace("get await read lock");let e=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(t)}finally{this.log.trace("get release read lock"),e()}}async save(t,e){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let s=await this.store.save(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("save release write lock"),n()}}async patch(t,e){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let s=await this.store.patch(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(t,e){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let s=await this.store.merge(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(t,e){let n=await cr.openAndCertify(t,Ke.DOMAIN),s=ms(n.publicKey.toCID());if(e?.equals(s)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",e,s),!1;let i=Ke.createFromProtobuf(n.payload),o;try{o=await this.get(s)}catch(a){if(a.name!=="NotFoundError")throw a}if(o?.peerRecordEnvelope!=null){let a=await cr.createFromProtobuf(o.peerRecordEnvelope),c=Ke.createFromProtobuf(a.payload);if(c.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",c.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:t,addresses:i.multiaddrs.map(a=>({isCertified:!0,multiaddr:a}))}),!0}#t(t,e){e.updated&&(this.peerId.equals(t)?this.events.safeDispatchEvent("self:peer:update",{detail:e}):this.events.safeDispatchEvent("peer:update",{detail:e}))}};function vd(r,t={}){return new Lo(r,t)}return zl(Ed);})();
|
7
7
|
/*! Bundled license information:
|
8
8
|
|
9
9
|
pvtsutils/build/index.js:
|
10
10
|
(*!
|
11
11
|
* MIT License
|
12
12
|
*
|
13
|
-
* Copyright (c) 2017-
|
13
|
+
* Copyright (c) 2017-2024 Peculiar Ventures, LLC
|
14
14
|
*
|
15
15
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
16
16
|
* of this software and associated documentation files (the "Software"), to deal
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@libp2p/peer-store",
|
3
|
-
"version": "11.0.
|
3
|
+
"version": "11.0.12-4a85eb033",
|
4
4
|
"description": "Stores information about peers libp2p knows on the network",
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/peer-store#readme",
|
@@ -59,10 +59,10 @@
|
|
59
59
|
"test:electron-main": "aegir test -t electron-main"
|
60
60
|
},
|
61
61
|
"dependencies": {
|
62
|
-
"@libp2p/crypto": "
|
63
|
-
"@libp2p/interface": "
|
64
|
-
"@libp2p/peer-id": "
|
65
|
-
"@libp2p/peer-record": "
|
62
|
+
"@libp2p/crypto": "5.0.7-4a85eb033",
|
63
|
+
"@libp2p/interface": "2.2.1-4a85eb033",
|
64
|
+
"@libp2p/peer-id": "5.0.8-4a85eb033",
|
65
|
+
"@libp2p/peer-record": "8.0.12-4a85eb033",
|
66
66
|
"@multiformats/multiaddr": "^12.2.3",
|
67
67
|
"interface-datastore": "^8.3.0",
|
68
68
|
"it-all": "^3.0.6",
|
@@ -73,7 +73,7 @@
|
|
73
73
|
"uint8arrays": "^5.1.0"
|
74
74
|
},
|
75
75
|
"devDependencies": {
|
76
|
-
"@libp2p/logger": "
|
76
|
+
"@libp2p/logger": "5.1.4-4a85eb033",
|
77
77
|
"@types/sinon": "^17.0.3",
|
78
78
|
"aegir": "^44.0.1",
|
79
79
|
"datastore-core": "^10.0.0",
|
package/dist/typedoc-urls.json
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"AddressFilter": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_peer_store.AddressFilter.html",
|
3
|
-
".:AddressFilter": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_peer_store.AddressFilter.html",
|
4
|
-
"PersistentPeerStoreComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_peer_store.PersistentPeerStoreComponents.html",
|
5
|
-
".:PersistentPeerStoreComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_peer_store.PersistentPeerStoreComponents.html",
|
6
|
-
"PersistentPeerStoreInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_peer_store.PersistentPeerStoreInit.html",
|
7
|
-
".:PersistentPeerStoreInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_peer_store.PersistentPeerStoreInit.html",
|
8
|
-
"persistentPeerStore": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_store.persistentPeerStore.html",
|
9
|
-
".:persistentPeerStore": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_store.persistentPeerStore.html"
|
10
|
-
}
|