@libp2p/identify 3.0.27-b2124c2db → 3.0.27-fc5122110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +1 -1
- package/package.json +8 -8
package/dist/index.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PIdentify = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PIdentify=(()=>{var uc=Object.create;var Ur=Object.defineProperty;var fc=Object.getOwnPropertyDescriptor;var lc=Object.getOwnPropertyNames;var dc=Object.getPrototypeOf,hc=Object.prototype.hasOwnProperty;var pc=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Et=(r,t)=>{for(var e in t)Ur(r,e,{get:t[e],enumerable:!0})},Ds=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of lc(t))!hc.call(r,o)&&o!==e&&Ur(r,o,{get:()=>t[o],enumerable:!(n=fc(t,o))||n.enumerable});return r};var mc=(r,t,e)=>(e=r!=null?uc(dc(r)):{},Ds(t||!r||!r.__esModule?Ur(e,"default",{value:r,enumerable:!0}):e,r)),gc=r=>Ds(Ur({},"__esModule",{value:!0}),r);var qa=pc(Cr=>{(function(){var r,t,e,n,o,s,i,c;c=function(a){var f,u,l,d;return f=(a&255<<24)>>>24,u=(a&255<<16)>>>16,l=(a&65280)>>>8,d=a&255,[f,u,l,d].join(".")},i=function(a){var f,u,l,d,y,m;for(f=[],l=d=0;d<=3&&a.length!==0;l=++d){if(l>0){if(a[0]!==".")throw new Error("Invalid IP");a=a.substring(1)}m=t(a),y=m[0],u=m[1],a=a.substring(u),f.push(y)}if(a.length!==0)throw new Error("Invalid IP");switch(f.length){case 1:if(f[0]>4294967295)throw new Error("Invalid IP");return f[0]>>>0;case 2:if(f[0]>255||f[1]>16777215)throw new Error("Invalid IP");return(f[0]<<24|f[1])>>>0;case 3:if(f[0]>255||f[1]>255||f[2]>65535)throw new Error("Invalid IP");return(f[0]<<24|f[1]<<16|f[2])>>>0;case 4:if(f[0]>255||f[1]>255||f[2]>255||f[3]>255)throw new Error("Invalid IP");return(f[0]<<24|f[1]<<16|f[2]<<8|f[3])>>>0;default:throw new Error("Invalid IP")}},e=function(a){return a.charCodeAt(0)},n=e("0"),s=e("a"),o=e("A"),t=function(a){var f,u,l,d,y;for(d=0,f=10,u="9",l=0,a.length>1&&a[l]==="0"&&(a[l+1]==="x"||a[l+1]==="X"?(l+=2,f=16):"0"<=a[l+1]&&a[l+1]<="9"&&(l++,f=8,u="7")),y=l;l<a.length;){if("0"<=a[l]&&a[l]<=u)d=d*f+(e(a[l])-n)>>>0;else if(f===16)if("a"<=a[l]&&a[l]<="f")d=d*f+(10+e(a[l])-s)>>>0;else if("A"<=a[l]&&a[l]<="F")d=d*f+(10+e(a[l])-o)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");l++}if(l===y)throw new Error("empty octet");return[d,l]},r=function(){function a(f,u){var l,d,y,m;if(typeof f!="string")throw new Error("Missing `net' parameter");if(u||(m=f.split("/",2),f=m[0],u=m[1]),u||(u=32),typeof u=="string"&&u.indexOf(".")>-1){try{this.maskLong=i(u)}catch(b){throw l=b,new Error("Invalid mask: "+u)}for(d=y=32;y>=0;d=--y)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(u||u===0)this.bitmask=parseInt(u,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(i(f)&this.maskLong)>>>0}catch(b){throw l=b,new Error("Invalid net address: "+f)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+u);this.size=Math.pow(2,32-this.bitmask),this.base=c(this.netLong),this.mask=c(this.maskLong),this.hostmask=c(~this.maskLong),this.first=this.bitmask<=30?c(this.netLong+1):this.base,this.last=this.bitmask<=30?c(this.netLong+this.size-2):c(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?c(this.netLong+this.size-1):void 0}return a.prototype.contains=function(f){return typeof f=="string"&&(f.indexOf("/")>0||f.split(".").length!==4)&&(f=new a(f)),f instanceof a?this.contains(f.base)&&this.contains(f.broadcast||f.last):(i(f)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},a.prototype.next=function(f){return f==null&&(f=1),new a(c(this.netLong+this.size*f),this.mask)},a.prototype.forEach=function(f){var u,l,d;for(d=i(this.first),l=i(this.last),u=0;d<=l;)f(c(d),d,u),u++,d++},a.prototype.toString=function(){return this.base+"/"+this.bitmask},a}(),Cr.ip2long=i,Cr.long2ip=c,Cr.Netmask=r}).call(Cr)});var Xl={};Et(Xl,{identify:()=>Yl,identifyPush:()=>jl});var On=Symbol.for("@libp2p/peer-id");var vt=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},Oe=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var Dr=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},Or=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}},kr=class extends Error{static name="UnsupportedProtocolError";constructor(t="Unsupported protocol error"){super(t),this.name="UnsupportedProtocolError"}},_t=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}};var we=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Mr=Symbol.for("@libp2p/service-capabilities"),ed=Symbol.for("@libp2p/service-dependencies");var Vn={};Et(Vn,{base58btc:()=>X,base58flickr:()=>vc});var Id=new Uint8Array(0);function Os(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 ks(r){return new TextEncoder().encode(r)}function Ms(r){return new TextDecoder().decode(r)}function yc(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 o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var c=r.length,a=r.charAt(0),f=Math.log(c)/Math.log(256),u=Math.log(256)/Math.log(c);function l(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var b=0,h=0,E=0,S=m.length;E!==S&&m[E]===0;)E++,b++;for(var g=(S-E)*u+1>>>0,A=new Uint8Array(g);E!==S;){for(var R=m[E],C=0,B=g-1;(R!==0||C<h)&&B!==-1;B--,C++)R+=256*A[B]>>>0,A[B]=R%c>>>0,R=R/c>>>0;if(R!==0)throw new Error("Non-zero carry");h=C,E++}for(var P=g-h;P!==g&&A[P]===0;)P++;for(var T=a.repeat(b);P<g;++P)T+=r.charAt(A[P]);return T}function d(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var b=0;if(m[b]!==" "){for(var h=0,E=0;m[b]===a;)h++,b++;for(var S=(m.length-b)*f+1>>>0,g=new Uint8Array(S);m[b];){var A=e[m.charCodeAt(b)];if(A===255)return;for(var R=0,C=S-1;(A!==0||R<E)&&C!==-1;C--,R++)A+=c*g[C]>>>0,g[C]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");E=R,b++}if(m[b]!==" "){for(var B=S-E;B!==S&&g[B]===0;)B++;for(var P=new Uint8Array(h+(S-B)),T=h;B!==S;)P[T++]=g[B++];return P}}}function y(m){var b=d(m);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var bc=yc,xc=bc,Fs=xc;var kn=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")}},Mn=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Vs(this,t)}},Kn=class{decoders;constructor(t){this.decoders=t}or(t){return Vs(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 Vs(r,t){return new Kn({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Fn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new kn(t,e,n),this.decoder=new Mn(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ke({name:r,prefix:t,encode:e,decode:n}){return new Fn(r,t,e,n)}function ie({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=Fs(e,r);return ke({prefix:t,name:r,encode:n,decode:s=>Yt(o(s))})}function wc(r,t,e,n){let o={};for(let u=0;u<t.length;++u)o[t[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*e/8|0),c=0,a=0,f=0;for(let u=0;u<s;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|l,c+=e,c>=8&&(c-=8,i[f++]=255&a>>c)}if(c>=e||(255&a<<8-c)!==0)throw new SyntaxError("Unexpected end of data");return i}function Ec(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],i+=8;i>e;)i-=e,s+=t[o&c>>i];if(i!==0&&(s+=t[o&c<<e-i]),n)for(;(s.length*e&7)!==0;)s+="=";return s}function nt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return ke({prefix:t,name:r,encode(o){return Ec(o,n,e)},decode(o){return wc(o,n,e,r)}})}var X=ie({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),vc=ie({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var qn={};Et(qn,{base32:()=>jt,base32hex:()=>Bc,base32hexpad:()=>Lc,base32hexpadupper:()=>Pc,base32hexupper:()=>Tc,base32pad:()=>Ic,base32padupper:()=>Ac,base32upper:()=>Sc,base32z:()=>Cc});var jt=nt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Sc=nt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Ic=nt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ac=nt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Bc=nt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Tc=nt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Lc=nt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Pc=nt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Cc=nt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Hn={};Et(Hn,{base36:()=>sr,base36upper:()=>Rc});var sr=ie({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Rc=ie({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var _c=zs,qs=128,Nc=127,Uc=~Nc,Dc=Math.pow(2,31);function zs(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Dc;)t[e++]=r&255|qs,r/=128;for(;r&Uc;)t[e++]=r&255|qs,r>>>=7;return t[e]=r|0,zs.bytes=e-n+1,t}var Oc=zn,kc=128,Hs=127;function zn(r,n){var e=0,n=n||0,o=0,s=n,i,c=r.length;do{if(s>=c)throw zn.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&Hs)<<o:(i&Hs)*Math.pow(2,o),o+=7}while(i>=kc);return zn.bytes=s-n,e}var Mc=Math.pow(2,7),Kc=Math.pow(2,14),Fc=Math.pow(2,21),Vc=Math.pow(2,28),qc=Math.pow(2,35),Hc=Math.pow(2,42),zc=Math.pow(2,49),Gc=Math.pow(2,56),$c=Math.pow(2,63),Zc=function(r){return r<Mc?1:r<Kc?2:r<Fc?3:r<Vc?4:r<qc?5:r<Hc?6:r<zc?7:r<Gc?8:r<$c?9:10},Wc={encode:_c,decode:Oc,encodingLength:Zc},Yc=Wc,ir=Yc;function ar(r,t=0){return[ir.decode(r,t),ir.decode.bytes]}function Me(r,t,e=0){return ir.encode(r,t,e),t}function Ke(r){return ir.encodingLength(r)}function Nt(r,t){let e=t.byteLength,n=Ke(r),o=n+Ke(e),s=new Uint8Array(o+e);return Me(r,s,0),Me(e,s,n),s.set(t,o),new Fe(r,e,t,s)}function Ee(r){let t=Yt(r),[e,n]=ar(t),[o,s]=ar(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Fe(e,o,i,t)}function Gs(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Os(r.bytes,e.bytes)}}var Fe=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};function $s(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Xc(e,Gn(r),t??X.encoder);default:return Qc(e,Gn(r),t??jt.encoder)}}var Zs=new WeakMap;function Gn(r){let t=Zs.get(r);if(t==null){let e=new Map;return Zs.set(r,e),e}return t}var ft=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==cr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Jc)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=Nt(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&&Gs(t.multihash,n.multihash)}toString(t){return $s(this,t)}toJSON(){return{"/":$s(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:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??Ws(n,o,s.bytes))}else if(e[tu]===!0){let{version:n,multihash:o,code:s}=e,i=Ee(o);return r.create(n,s,i)}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!==cr)throw new Error(`Version 0 CID must use dag-pb (code: ${cr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=Ws(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,cr,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,o=Yt(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new Fe(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,d]=ar(t.subarray(e));return e+=d,l},o=n(),s=cr;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,c=n(),a=n(),f=e+a,u=f-i;return{version:o,codec:s,multihashCode:c,digestSize:a,multihashSize:u,size:f}}static parse(t,e){let[n,o]=jc(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Gn(s).set(n,t),s}};function jc(r,t){switch(r[0]){case"Q":{let e=t??X;return[X.prefix,e.decode(`${X.prefix}${r}`)]}case X.prefix:{let e=t??X;return[X.prefix,e.decode(r)]}case jt.prefix:{let e=t??jt;return[jt.prefix,e.decode(r)]}case sr.prefix:{let e=t??sr;return[sr.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 Xc(r,t,e){let{prefix:n}=e;if(n!==X.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function Qc(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var cr=112,Jc=18;function Ws(r,t,e){let n=Ke(r),o=n+Ke(t),s=new Uint8Array(o+e.byteLength);return Me(r,s,0),Me(t,s,n),s.set(e,o),s}var tu=Symbol.for("@ipld/js-cid/CID");var $n={};Et($n,{identity:()=>Xt});var Ys=0,eu="identity",js=Yt;function ru(r){return Nt(Ys,js(r))}var Xt={code:Ys,name:eu,encode:js,digest:ru};function mt(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 Xs(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function nu(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Ve(r,...t){if(!nu(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error("Uint8Array expected of length "+t+", got length="+r.length)}function Qs(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Xs(r.outputLen),Xs(r.blockLen)}function qe(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 Js(r,t){Ve(r);let e=t.outputLen;if(r.length<e)throw new Error("digestInto() expects output buffer of length at least "+e)}var ve=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Fr(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function Ut(r,t){return r<<32-t|r>>>t}function ti(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function ur(r){return typeof r=="string"&&(r=ti(r)),Ve(r),r}function Zn(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];Ve(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}var He=class{clone(){return this._cloneInto()}};function Vr(r){let t=n=>r().update(ur(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function qr(r=32){if(ve&&typeof ve.getRandomValues=="function")return ve.getRandomValues(new Uint8Array(r));if(ve&&typeof ve.randomBytes=="function")return ve.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function ou(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(e>>o&s),c=Number(e&s),a=n?4:0,f=n?0:4;r.setUint32(t+a,i,n),r.setUint32(t+f,c,n)}function ei(r,t,e){return r&t^~r&e}function ri(r,t,e){return r&t^r&e^t&e}var ze=class extends He{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Fr(this.buffer)}update(t){qe(this);let{view:e,buffer:n,blockLen:o}=this;t=ur(t);let s=t.length;for(let i=0;i<s;){let c=Math.min(o-this.pos,s-i);if(c===o){let a=Fr(t);for(;o<=s-i;i+=o)this.process(a,i);continue}n.set(t.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===o&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){qe(this),Js(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;e[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)e[l]=0;ou(n,o-8,BigInt(this.length*8),s),this.process(n,0);let c=Fr(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=a/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)c.setUint32(4*l,u[l],s)}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:o,finished:s,destroyed:i,pos:c}=this;return t.length=o,t.pos=c,t.finished=s,t.destroyed=i,o%e&&t.buffer.set(n),t}};var Hr=BigInt(4294967295),Wn=BigInt(32);function ni(r,t=!1){return t?{h:Number(r&Hr),l:Number(r>>Wn&Hr)}:{h:Number(r>>Wn&Hr)|0,l:Number(r&Hr)|0}}function su(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:s,l:i}=ni(r[o],t);[e[o],n[o]]=[s,i]}return[e,n]}var iu=(r,t)=>BigInt(r>>>0)<<Wn|BigInt(t>>>0),au=(r,t,e)=>r>>>e,cu=(r,t,e)=>r<<32-e|t>>>e,uu=(r,t,e)=>r>>>e|t<<32-e,fu=(r,t,e)=>r<<32-e|t>>>e,lu=(r,t,e)=>r<<64-e|t>>>e-32,du=(r,t,e)=>r>>>e-32|t<<64-e,hu=(r,t)=>t,pu=(r,t)=>r,mu=(r,t,e)=>r<<e|t>>>32-e,gu=(r,t,e)=>t<<e|r>>>32-e,yu=(r,t,e)=>t<<e-32|r>>>64-e,bu=(r,t,e)=>r<<e-32|t>>>64-e;function xu(r,t,e,n){let o=(t>>>0)+(n>>>0);return{h:r+e+(o/2**32|0)|0,l:o|0}}var wu=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Eu=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,vu=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Su=(r,t,e,n,o)=>t+e+n+o+(r/2**32|0)|0,Iu=(r,t,e,n,o)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),Au=(r,t,e,n,o,s)=>t+e+n+o+s+(r/2**32|0)|0;var Bu={fromBig:ni,split:su,toBig:iu,shrSH:au,shrSL:cu,rotrSH:uu,rotrSL:fu,rotrBH:lu,rotrBL:du,rotr32H:hu,rotr32L:pu,rotlSH:mu,rotlSL:gu,rotlBH:yu,rotlBL:bu,add:xu,add3L:wu,add3H:Eu,add4L:vu,add4H:Su,add5H:Au,add5L:Iu},D=Bu;var[Tu,Lu]=D.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))),ce=new Uint32Array(80),ue=new Uint32Array(80),Yn=class extends ze{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:o,Ch:s,Cl:i,Dh:c,Dl:a,Eh:f,El:u,Fh:l,Fl:d,Gh:y,Gl:m,Hh:b,Hl:h}=this;return[t,e,n,o,s,i,c,a,f,u,l,d,y,m,b,h]}set(t,e,n,o,s,i,c,a,f,u,l,d,y,m,b,h){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=c|0,this.Dl=a|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=d|0,this.Gh=y|0,this.Gl=m|0,this.Hh=b|0,this.Hl=h|0}process(t,e){for(let g=0;g<16;g++,e+=4)ce[g]=t.getUint32(e),ue[g]=t.getUint32(e+=4);for(let g=16;g<80;g++){let A=ce[g-15]|0,R=ue[g-15]|0,C=D.rotrSH(A,R,1)^D.rotrSH(A,R,8)^D.shrSH(A,R,7),B=D.rotrSL(A,R,1)^D.rotrSL(A,R,8)^D.shrSL(A,R,7),P=ce[g-2]|0,T=ue[g-2]|0,Q=D.rotrSH(P,T,19)^D.rotrBH(P,T,61)^D.shrSH(P,T,6),q=D.rotrSL(P,T,19)^D.rotrBL(P,T,61)^D.shrSL(P,T,6),k=D.add4L(B,q,ue[g-7],ue[g-16]),ot=D.add4H(k,C,Q,ce[g-7],ce[g-16]);ce[g]=ot|0,ue[g]=k|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:c,Cl:a,Dh:f,Dl:u,Eh:l,El:d,Fh:y,Fl:m,Gh:b,Gl:h,Hh:E,Hl:S}=this;for(let g=0;g<80;g++){let A=D.rotrSH(l,d,14)^D.rotrSH(l,d,18)^D.rotrBH(l,d,41),R=D.rotrSL(l,d,14)^D.rotrSL(l,d,18)^D.rotrBL(l,d,41),C=l&y^~l&b,B=d&m^~d&h,P=D.add5L(S,R,B,Lu[g],ue[g]),T=D.add5H(P,E,A,C,Tu[g],ce[g]),Q=P|0,q=D.rotrSH(n,o,28)^D.rotrBH(n,o,34)^D.rotrBH(n,o,39),k=D.rotrSL(n,o,28)^D.rotrBL(n,o,34)^D.rotrBL(n,o,39),ot=n&s^n&c^s&c,v=o&i^o&a^i&a;E=b|0,S=h|0,b=y|0,h=m|0,y=l|0,m=d|0,{h:l,l:d}=D.add(f|0,u|0,T|0,Q|0),f=c|0,u=a|0,c=s|0,a=i|0,s=n|0,i=o|0;let L=D.add3L(Q,k,v);n=D.add3H(L,T,q,ot),o=L|0}({h:n,l:o}=D.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=D.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:c,l:a}=D.add(this.Ch|0,this.Cl|0,c|0,a|0),{h:f,l:u}=D.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:d}=D.add(this.Eh|0,this.El|0,l|0,d|0),{h:y,l:m}=D.add(this.Fh|0,this.Fl|0,y|0,m|0),{h:b,l:h}=D.add(this.Gh|0,this.Gl|0,b|0,h|0),{h:E,l:S}=D.add(this.Hh|0,this.Hl|0,E|0,S|0),this.set(n,o,s,i,c,a,f,u,l,d,y,m,b,h,E,S)}roundClean(){ce.fill(0),ue.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 oi=Vr(()=>new Yn);var $r={};Et($r,{aInRange:()=>It,abool:()=>Dt,abytes:()=>Ge,bitGet:()=>Uu,bitLen:()=>Jn,bitMask:()=>lr,bitSet:()=>Du,bytesToHex:()=>Jt,bytesToNumberBE:()=>te,bytesToNumberLE:()=>le,concatBytes:()=>ee,createHmacDrbg:()=>to,ensureBytes:()=>et,equalBytes:()=>_u,hexToBytes:()=>Ie,hexToNumber:()=>Qn,inRange:()=>fr,isBytes:()=>fe,memoized:()=>Be,notImplemented:()=>ku,numberToBytesBE:()=>de,numberToBytesLE:()=>Ae,numberToHexUnpadded:()=>Se,numberToVarBytesBE:()=>Ru,utf8ToBytes:()=>Nu,validateObject:()=>zt});var zr=BigInt(0),Gr=BigInt(1),Pu=BigInt(2);function fe(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Ge(r){if(!fe(r))throw new Error("Uint8Array expected")}function Dt(r,t){if(typeof t!="boolean")throw new Error(r+" boolean expected, got "+t)}var Cu=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Jt(r){Ge(r);let t="";for(let e=0;e<r.length;e++)t+=Cu[r[e]];return t}function Se(r){let t=r.toString(16);return t.length&1?"0"+t:t}function Qn(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?zr:BigInt("0x"+r)}var Qt={_0:48,_9:57,A:65,F:70,a:97,f:102};function si(r){if(r>=Qt._0&&r<=Qt._9)return r-Qt._0;if(r>=Qt.A&&r<=Qt.F)return r-(Qt.A-10);if(r>=Qt.a&&r<=Qt.f)return r-(Qt.a-10)}function Ie(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("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,s=0;o<e;o++,s+=2){let i=si(r.charCodeAt(s)),c=si(r.charCodeAt(s+1));if(i===void 0||c===void 0){let a=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+a+'" at index '+s)}n[o]=i*16+c}return n}function te(r){return Qn(Jt(r))}function le(r){return Ge(r),Qn(Jt(Uint8Array.from(r).reverse()))}function de(r,t){return Ie(r.toString(16).padStart(t*2,"0"))}function Ae(r,t){return de(r,t).reverse()}function Ru(r){return Ie(Se(r))}function et(r,t,e){let n;if(typeof t=="string")try{n=Ie(t)}catch(s){throw new Error(r+" must be hex string or Uint8Array, cause: "+s)}else if(fe(t))n=Uint8Array.from(t);else throw new Error(r+" must be hex string or Uint8Array");let o=n.length;if(typeof e=="number"&&o!==e)throw new Error(r+" of length "+e+" expected, got "+o);return n}function ee(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];Ge(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}function _u(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 Nu(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}var jn=r=>typeof r=="bigint"&&zr<=r;function fr(r,t,e){return jn(r)&&jn(t)&&jn(e)&&t<=r&&r<e}function It(r,t,e,n){if(!fr(t,e,n))throw new Error("expected valid "+r+": "+e+" <= n < "+n+", got "+t)}function Jn(r){let t;for(t=0;r>zr;r>>=Gr,t+=1);return t}function Uu(r,t){return r>>BigInt(t)&Gr}function Du(r,t,e){return r|(e?Gr:zr)<<BigInt(t)}var lr=r=>(Pu<<BigInt(r-1))-Gr,Xn=r=>new Uint8Array(r),ii=r=>Uint8Array.from(r);function to(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=Xn(r),o=Xn(r),s=0,i=()=>{n.fill(1),o.fill(0),s=0},c=(...l)=>e(o,n,...l),a=(l=Xn())=>{o=c(ii([0]),l),n=c(),l.length!==0&&(o=c(ii([1]),l),n=c())},f=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=c();let y=n.slice();d.push(y),l+=n.length}return ee(...d)};return(l,d)=>{i(),a(l);let y;for(;!(y=d(f()));)a();return i(),y}}var Ou={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"||fe(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 zt(r,t,e={}){let n=(o,s,i)=>{let c=Ou[s];if(typeof c!="function")throw new Error("invalid validator function");let a=r[o];if(!(i&&a===void 0)&&!c(a,r))throw new Error("param "+String(o)+" is invalid. Expected "+s+", got "+a)};for(let[o,s]of Object.entries(t))n(o,s,!1);for(let[o,s]of Object.entries(e))n(o,s,!0);return r}var ku=()=>{throw new Error("not implemented")};function Be(r){let t=new WeakMap;return(e,...n)=>{let o=t.get(e);if(o!==void 0)return o;let s=r(e,...n);return t.set(e,s),s}}var st=BigInt(0),J=BigInt(1),Te=BigInt(2),Mu=BigInt(3),eo=BigInt(4),ai=BigInt(5),ci=BigInt(8),Ku=BigInt(9),Fu=BigInt(16);function W(r,t){let e=r%t;return e>=st?e:t+e}function Vu(r,t,e){if(t<st)throw new Error("invalid exponent, negatives unsupported");if(e<=st)throw new Error("invalid modulus");if(e===J)return st;let n=J;for(;t>st;)t&J&&(n=n*r%e),r=r*r%e,t>>=J;return n}function tt(r,t,e){let n=r;for(;t-- >st;)n*=n,n%=e;return n}function Zr(r,t){if(r===st)throw new Error("invert: expected non-zero number");if(t<=st)throw new Error("invert: expected positive modulus, got "+t);let e=W(r,t),n=t,o=st,s=J,i=J,c=st;for(;e!==st;){let f=n/e,u=n%e,l=o-i*f,d=s-c*f;n=e,e=u,o=i,s=c,i=l,c=d}if(n!==J)throw new Error("invert: does not exist");return W(o,t)}function qu(r){let t=(r-J)/Te,e,n,o;for(e=r-J,n=0;e%Te===st;e/=Te,n++);for(o=Te;o<r&&Vu(o,t,r)!==r-J;o++)if(o>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){let i=(r+J)/eo;return function(a,f){let u=a.pow(f,i);if(!a.eql(a.sqr(u),f))throw new Error("Cannot find square root");return u}}let s=(e+J)/Te;return function(c,a){if(c.pow(a,t)===c.neg(c.ONE))throw new Error("Cannot find square root");let f=n,u=c.pow(c.mul(c.ONE,o),e),l=c.pow(a,s),d=c.pow(a,e);for(;!c.eql(d,c.ONE);){if(c.eql(d,c.ZERO))return c.ZERO;let y=1;for(let b=c.sqr(d);y<f&&!c.eql(b,c.ONE);y++)b=c.sqr(b);let m=c.pow(u,J<<BigInt(f-y-1));u=c.sqr(m),l=c.mul(l,m),d=c.mul(d,u),f=y}return l}}function Hu(r){if(r%eo===Mu){let t=(r+J)/eo;return function(n,o){let s=n.pow(o,t);if(!n.eql(n.sqr(s),o))throw new Error("Cannot find square root");return s}}if(r%ci===ai){let t=(r-ai)/ci;return function(n,o){let s=n.mul(o,Te),i=n.pow(s,t),c=n.mul(o,i),a=n.mul(n.mul(c,Te),i),f=n.mul(c,n.sub(a,n.ONE));if(!n.eql(n.sqr(f),o))throw new Error("Cannot find square root");return f}}return r%Fu,qu(r)}var ui=(r,t)=>(W(r,t)&J)===J,zu=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ro(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=zu.reduce((n,o)=>(n[o]="function",n),t);return zt(r,e)}function Gu(r,t,e){if(e<st)throw new Error("invalid exponent, negatives unsupported");if(e===st)return r.ONE;if(e===J)return t;let n=r.ONE,o=t;for(;e>st;)e&J&&(n=r.mul(n,o)),o=r.sqr(o),e>>=J;return n}function $u(r,t){let e=new Array(t.length),n=t.reduce((s,i,c)=>r.is0(i)?s:(e[c]=s,r.mul(s,i)),r.ONE),o=r.inv(n);return t.reduceRight((s,i,c)=>r.is0(i)?s:(e[c]=r.mul(s,e[c]),r.mul(s,i)),o),e}function no(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function he(r,t,e=!1,n={}){if(r<=st)throw new Error("invalid field: expected ORDER > 0, got "+r);let{nBitLength:o,nByteLength:s}=no(r,t);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let i,c=Object.freeze({ORDER:r,isLE:e,BITS:o,BYTES:s,MASK:lr(o),ZERO:st,ONE:J,create:a=>W(a,r),isValid:a=>{if(typeof a!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof a);return st<=a&&a<r},is0:a=>a===st,isOdd:a=>(a&J)===J,neg:a=>W(-a,r),eql:(a,f)=>a===f,sqr:a=>W(a*a,r),add:(a,f)=>W(a+f,r),sub:(a,f)=>W(a-f,r),mul:(a,f)=>W(a*f,r),pow:(a,f)=>Gu(c,a,f),div:(a,f)=>W(a*Zr(f,r),r),sqrN:a=>a*a,addN:(a,f)=>a+f,subN:(a,f)=>a-f,mulN:(a,f)=>a*f,inv:a=>Zr(a,r),sqrt:n.sqrt||(a=>(i||(i=Hu(r)),i(c,a))),invertBatch:a=>$u(c,a),cmov:(a,f,u)=>u?f:a,toBytes:a=>e?Ae(a,s):de(a,s),fromBytes:a=>{if(a.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+a.length);return e?le(a):te(a)}});return Object.freeze(c)}function fi(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 oo(r){let t=fi(r);return t+Math.ceil(t/2)}function li(r,t,e=!1){let n=r.length,o=fi(t),s=oo(t);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=e?le(r):te(r),c=W(i,t-J)+J;return e?Ae(c,o):de(c,o)}var di=BigInt(0),Wr=BigInt(1);function so(r,t){let e=t.negate();return r?e:t}function hi(r,t){if(!Number.isSafeInteger(r)||r<=0||r>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+r)}function io(r,t){hi(r,t);let e=Math.ceil(t/r)+1,n=2**(r-1);return{windows:e,windowSize:n}}function Zu(r,t){if(!Array.isArray(r))throw new Error("array expected");r.forEach((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)})}function Wu(r,t){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)})}var ao=new WeakMap,pi=new WeakMap;function co(r){return pi.get(r)||1}function Yr(r,t){return{constTimeNegate:so,hasPrecomputes(e){return co(e)!==1},unsafeLadder(e,n,o=r.ZERO){let s=e;for(;n>di;)n&Wr&&(o=o.add(s)),s=s.double(),n>>=Wr;return o},precomputeWindow(e,n){let{windows:o,windowSize:s}=io(n,t),i=[],c=e,a=c;for(let f=0;f<o;f++){a=c,i.push(a);for(let u=1;u<s;u++)a=a.add(c),i.push(a);c=a.double()}return i},wNAF(e,n,o){let{windows:s,windowSize:i}=io(e,t),c=r.ZERO,a=r.BASE,f=BigInt(2**e-1),u=2**e,l=BigInt(e);for(let d=0;d<s;d++){let y=d*i,m=Number(o&f);o>>=l,m>i&&(m-=u,o+=Wr);let b=y,h=y+Math.abs(m)-1,E=d%2!==0,S=m<0;m===0?a=a.add(so(E,n[b])):c=c.add(so(S,n[h]))}return{p:c,f:a}},wNAFUnsafe(e,n,o,s=r.ZERO){let{windows:i,windowSize:c}=io(e,t),a=BigInt(2**e-1),f=2**e,u=BigInt(e);for(let l=0;l<i;l++){let d=l*c;if(o===di)break;let y=Number(o&a);if(o>>=u,y>c&&(y-=f,o+=Wr),y===0)continue;let m=n[d+Math.abs(y)-1];y<0&&(m=m.negate()),s=s.add(m)}return s},getPrecomputes(e,n,o){let s=ao.get(n);return s||(s=this.precomputeWindow(n,e),e!==1&&ao.set(n,o(s))),s},wNAFCached(e,n,o){let s=co(e);return this.wNAF(s,this.getPrecomputes(s,e,o),n)},wNAFCachedUnsafe(e,n,o,s){let i=co(e);return i===1?this.unsafeLadder(e,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,e,o),n,s)},setWindowSize(e,n){hi(n,t),pi.set(e,n),ao.delete(e)}}}function jr(r,t,e,n){if(Zu(e,r),Wu(n,t),e.length!==n.length)throw new Error("arrays of points and scalars must have equal length");let o=r.ZERO,s=Jn(BigInt(e.length)),i=s>12?s-3:s>4?s-2:s?2:1,c=(1<<i)-1,a=new Array(c+1).fill(o),f=Math.floor((t.BITS-1)/i)*i,u=o;for(let l=f;l>=0;l-=i){a.fill(o);for(let y=0;y<n.length;y++){let m=n[y],b=Number(m>>BigInt(l)&BigInt(c));a[b]=a[b].add(e[y])}let d=o;for(let y=a.length-1,m=o;y>0;y--)m=m.add(a[y]),d=d.add(m);if(u=u.add(d),l!==0)for(let y=0;y<i;y++)u=u.double()}return u}function dr(r){return ro(r.Fp),zt(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...no(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Ot=BigInt(0),At=BigInt(1),Xr=BigInt(2),Yu=BigInt(8),ju={zip215:!0};function Xu(r){let t=dr(r);return zt(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function mi(r){let t=Xu(r),{Fp:e,n,prehash:o,hash:s,randomBytes:i,nByteLength:c,h:a}=t,f=Xr<<BigInt(c*8)-At,u=e.create,l=he(t.n,t.nBitLength),d=t.uvRatio||((x,p)=>{try{return{isValid:!0,value:e.sqrt(x*e.inv(p))}}catch{return{isValid:!1,value:Ot}}}),y=t.adjustScalarBytes||(x=>x),m=t.domain||((x,p,w)=>{if(Dt("phflag",w),p.length||w)throw new Error("Contexts/pre-hash are not supported");return x});function b(x,p){It("coordinate "+x,p,Ot,f)}function h(x){if(!(x instanceof g))throw new Error("ExtendedPoint expected")}let E=Be((x,p)=>{let{ex:w,ey:I,ez:_}=x,N=x.is0();p==null&&(p=N?Yu:e.inv(_));let O=u(w*p),M=u(I*p),U=u(_*p);if(N)return{x:Ot,y:At};if(U!==At)throw new Error("invZ was invalid");return{x:O,y:M}}),S=Be(x=>{let{a:p,d:w}=t;if(x.is0())throw new Error("bad point: ZERO");let{ex:I,ey:_,ez:N,et:O}=x,M=u(I*I),U=u(_*_),Z=u(N*N),j=u(Z*Z),ct=u(M*p),ut=u(Z*u(ct+U)),dt=u(j+u(w*u(M*U)));if(ut!==dt)throw new Error("bad point: equation left != right (1)");let pt=u(I*_),St=u(N*O);if(pt!==St)throw new Error("bad point: equation left != right (2)");return!0});class g{constructor(p,w,I,_){this.ex=p,this.ey=w,this.ez=I,this.et=_,b("x",p),b("y",w),b("z",I),b("t",_),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(p){if(p instanceof g)throw new Error("extended point not allowed");let{x:w,y:I}=p||{};return b("x",w),b("y",I),new g(w,I,At,u(w*I))}static normalizeZ(p){let w=e.invertBatch(p.map(I=>I.ez));return p.map((I,_)=>I.toAffine(w[_])).map(g.fromAffine)}static msm(p,w){return jr(g,l,p,w)}_setWindowSize(p){C.setWindowSize(this,p)}assertValidity(){S(this)}equals(p){h(p);let{ex:w,ey:I,ez:_}=this,{ex:N,ey:O,ez:M}=p,U=u(w*M),Z=u(N*_),j=u(I*M),ct=u(O*_);return U===Z&&j===ct}is0(){return this.equals(g.ZERO)}negate(){return new g(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:p}=t,{ex:w,ey:I,ez:_}=this,N=u(w*w),O=u(I*I),M=u(Xr*u(_*_)),U=u(p*N),Z=w+I,j=u(u(Z*Z)-N-O),ct=U+O,ut=ct-M,dt=U-O,pt=u(j*ut),St=u(ct*dt),wt=u(j*dt),Ht=u(ut*ct);return new g(pt,St,Ht,wt)}add(p){h(p);let{a:w,d:I}=t,{ex:_,ey:N,ez:O,et:M}=this,{ex:U,ey:Z,ez:j,et:ct}=p;if(w===BigInt(-1)){let Ls=u((N-_)*(Z+U)),Ps=u((N+_)*(Z-U)),Dn=u(Ps-Ls);if(Dn===Ot)return this.double();let Cs=u(O*Xr*ct),Rs=u(M*Xr*j),_s=Rs+Cs,Ns=Ps+Ls,Us=Rs-Cs,sc=u(_s*Dn),ic=u(Ns*Us),ac=u(_s*Us),cc=u(Dn*Ns);return new g(sc,ic,cc,ac)}let ut=u(_*U),dt=u(N*Z),pt=u(M*I*ct),St=u(O*j),wt=u((_+N)*(U+Z)-ut-dt),Ht=St-pt,Wt=St+pt,or=u(dt-w*ut),ec=u(wt*Ht),rc=u(Wt*or),nc=u(wt*or),oc=u(Ht*Wt);return new g(ec,rc,oc,nc)}subtract(p){return this.add(p.negate())}wNAF(p){return C.wNAFCached(this,p,g.normalizeZ)}multiply(p){let w=p;It("scalar",w,At,n);let{p:I,f:_}=this.wNAF(w);return g.normalizeZ([I,_])[0]}multiplyUnsafe(p,w=g.ZERO){let I=p;return It("scalar",I,Ot,n),I===Ot?R:this.is0()||I===At?this:C.wNAFCachedUnsafe(this,I,g.normalizeZ,w)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}isTorsionFree(){return C.unsafeLadder(this,n).is0()}toAffine(p){return E(this,p)}clearCofactor(){let{h:p}=t;return p===At?this:this.multiplyUnsafe(p)}static fromHex(p,w=!1){let{d:I,a:_}=t,N=e.BYTES;p=et("pointHex",p,N),Dt("zip215",w);let O=p.slice(),M=p[N-1];O[N-1]=M&-129;let U=le(O),Z=w?f:e.ORDER;It("pointHex.y",U,Ot,Z);let j=u(U*U),ct=u(j-At),ut=u(I*j-_),{isValid:dt,value:pt}=d(ct,ut);if(!dt)throw new Error("Point.fromHex: invalid y coordinate");let St=(pt&At)===At,wt=(M&128)!==0;if(!w&&pt===Ot&&wt)throw new Error("Point.fromHex: x=0 and x_0=1");return wt!==St&&(pt=u(-pt)),g.fromAffine({x:pt,y:U})}static fromPrivateKey(p){return T(p).point}toRawBytes(){let{x:p,y:w}=this.toAffine(),I=Ae(w,e.BYTES);return I[I.length-1]|=p&At?128:0,I}toHex(){return Jt(this.toRawBytes())}}g.BASE=new g(t.Gx,t.Gy,At,u(t.Gx*t.Gy)),g.ZERO=new g(Ot,At,At,Ot);let{BASE:A,ZERO:R}=g,C=Yr(g,c*8);function B(x){return W(x,n)}function P(x){return B(le(x))}function T(x){let p=e.BYTES;x=et("private key",x,p);let w=et("hashed private key",s(x),2*p),I=y(w.slice(0,p)),_=w.slice(p,2*p),N=P(I),O=A.multiply(N),M=O.toRawBytes();return{head:I,prefix:_,scalar:N,point:O,pointBytes:M}}function Q(x){return T(x).pointBytes}function q(x=new Uint8Array,...p){let w=ee(...p);return P(s(m(w,et("context",x),!!o)))}function k(x,p,w={}){x=et("message",x),o&&(x=o(x));let{prefix:I,scalar:_,pointBytes:N}=T(p),O=q(w.context,I,x),M=A.multiply(O).toRawBytes(),U=q(w.context,M,N,x),Z=B(O+U*_);It("signature.s",Z,Ot,n);let j=ee(M,Ae(Z,e.BYTES));return et("result",j,e.BYTES*2)}let ot=ju;function v(x,p,w,I=ot){let{context:_,zip215:N}=I,O=e.BYTES;x=et("signature",x,2*O),p=et("message",p),w=et("publicKey",w,O),N!==void 0&&Dt("zip215",N),o&&(p=o(p));let M=le(x.slice(O,2*O)),U,Z,j;try{U=g.fromHex(w,N),Z=g.fromHex(x.slice(0,O),N),j=A.multiplyUnsafe(M)}catch{return!1}if(!N&&U.isSmallOrder())return!1;let ct=q(_,Z.toRawBytes(),U.toRawBytes(),p);return Z.add(U.multiplyUnsafe(ct)).subtract(j).clearCofactor().equals(g.ZERO)}return A._setWindowSize(8),{CURVE:t,getPublicKey:Q,sign:k,verify:v,ExtendedPoint:g,utils:{getExtendedPublicKey:T,randomPrivateKey:()=>i(e.BYTES),precompute(x=8,p=g.BASE){return p._setWindowSize(x),p.multiply(BigInt(3)),p}}}}var uo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),gi=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),gh=BigInt(0),Qu=BigInt(1),yi=BigInt(2),yh=BigInt(3),Ju=BigInt(5),tf=BigInt(8);function ef(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),o=BigInt(80),s=uo,c=r*r%s*r%s,a=tt(c,yi,s)*c%s,f=tt(a,Qu,s)*r%s,u=tt(f,Ju,s)*f%s,l=tt(u,t,s)*u%s,d=tt(l,e,s)*l%s,y=tt(d,n,s)*d%s,m=tt(y,o,s)*y%s,b=tt(m,o,s)*y%s,h=tt(b,t,s)*u%s;return{pow_p_5_8:tt(h,yi,s)*r%s,b2:c}}function rf(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function nf(r,t){let e=uo,n=W(t*t*t,e),o=W(n*n*t,e),s=ef(r*o).pow_p_5_8,i=W(r*n*s,e),c=W(t*i*i,e),a=i,f=W(i*gi,e),u=c===r,l=c===W(-r,e),d=c===W(-r*gi,e);return u&&(i=a),(l||d)&&(i=f),ui(i,e)&&(i=W(-i,e)),{isValid:u||l,value:i}}var of=he(uo,void 0,!0),sf={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:of,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:tf,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:oi,randomBytes:qr,adjustScalarBytes:rf,uvRatio:nf},bi=mi(sf);var Qr=32;function xi(r,t,e){return bi.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}var Jr=class{type="Ed25519";raw;constructor(t){this.raw=fo(t,Qr)}toMultihash(){return Xt.digest(pe(this))}toCID(){return ft.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:mt(this.raw,t.raw)}verify(t,e){return xi(this.raw,e,t)}};function lo(r){return r=fo(r,Qr),new Jr(r)}function fo(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new vt(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}function ht(r=0){return new Uint8Array(r)}function Bt(r=0){return new Uint8Array(r)}var cf=Math.pow(2,7),uf=Math.pow(2,14),ff=Math.pow(2,21),ho=Math.pow(2,28),po=Math.pow(2,35),mo=Math.pow(2,42),go=Math.pow(2,49),$=128,gt=127;function yt(r){if(r<cf)return 1;if(r<uf)return 2;if(r<ff)return 3;if(r<ho)return 4;if(r<po)return 5;if(r<mo)return 6;if(r<go)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function yo(r,t,e=0){switch(yt(r)){case 8:t[e++]=r&255|$,r/=128;case 7:t[e++]=r&255|$,r/=128;case 6:t[e++]=r&255|$,r/=128;case 5:t[e++]=r&255|$,r/=128;case 4:t[e++]=r&255|$,r>>>=7;case 3:t[e++]=r&255|$,r>>>=7;case 2:t[e++]=r&255|$,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function lf(r,t,e=0){switch(yt(r)){case 8:t.set(e++,r&255|$),r/=128;case 7:t.set(e++,r&255|$),r/=128;case 6:t.set(e++,r&255|$),r/=128;case 5:t.set(e++,r&255|$),r/=128;case 4:t.set(e++,r&255|$),r>>>=7;case 3:t.set(e++,r&255|$),r>>>=7;case 2:t.set(e++,r&255|$),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function bo(r,t){let e=r[t],n=0;if(n+=e>,e<$||(e=r[t+1],n+=(e>)<<7,e<$)||(e=r[t+2],n+=(e>)<<14,e<$)||(e=r[t+3],n+=(e>)<<21,e<$)||(e=r[t+4],n+=(e>)*ho,e<$)||(e=r[t+5],n+=(e>)*po,e<$)||(e=r[t+6],n+=(e>)*mo,e<$)||(e=r[t+7],n+=(e>)*go,e<$))return n;throw new RangeError("Could not decode varint")}function df(r,t){let e=r.get(t),n=0;if(n+=e>,e<$||(e=r.get(t+1),n+=(e>)<<7,e<$)||(e=r.get(t+2),n+=(e>)<<14,e<$)||(e=r.get(t+3),n+=(e>)<<21,e<$)||(e=r.get(t+4),n+=(e>)*ho,e<$)||(e=r.get(t+5),n+=(e>)*po,e<$)||(e=r.get(t+6),n+=(e>)*mo,e<$)||(e=r.get(t+7),n+=(e>)*go,e<$))return n;throw new RangeError("Could not decode varint")}function Ct(r,t,e=0){return t==null&&(t=Bt(yt(r))),t instanceof Uint8Array?yo(r,t,e):lf(r,t,e)}function re(r,t=0){return r instanceof Uint8Array?bo(r,t):df(r,t)}var xo=new Float32Array([-0]),me=new Uint8Array(xo.buffer);function Ei(r,t,e){xo[0]=r,t[e]=me[0],t[e+1]=me[1],t[e+2]=me[2],t[e+3]=me[3]}function vi(r,t){return me[0]=r[t],me[1]=r[t+1],me[2]=r[t+2],me[3]=r[t+3],xo[0]}var wo=new Float64Array([-0]),bt=new Uint8Array(wo.buffer);function Si(r,t,e){wo[0]=r,t[e]=bt[0],t[e+1]=bt[1],t[e+2]=bt[2],t[e+3]=bt[3],t[e+4]=bt[4],t[e+5]=bt[5],t[e+6]=bt[6],t[e+7]=bt[7]}function Ii(r,t){return bt[0]=r[t],bt[1]=r[t+1],bt[2]=r[t+2],bt[3]=r[t+3],bt[4]=r[t+4],bt[5]=r[t+5],bt[6]=r[t+6],bt[7]=r[t+7],wo[0]}var hf=BigInt(Number.MAX_SAFE_INTEGER),pf=BigInt(Number.MIN_SAFE_INTEGER),Lt=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 Le;if(t<hf&&t>pf)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Ai&&(o=0n,++n>Ai&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return Le;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}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):Le}},Le=new Lt(0,0);Le.toBigInt=function(){return 0n};Le.zzEncode=Le.zzDecode=function(){return this};Le.length=function(){return 1};var Ai=4294967296n;function Bi(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 Ti(r,t,e){if(e-t<1)return"";let o,s=[],i=0,c;for(;t<e;)c=r[t++],c<128?s[i++]=c:c>191&&c<224?s[i++]=(c&31)<<6|r[t++]&63:c>239&&c<365?(c=((c&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[i++]=55296+(c>>10),s[i++]=56320+(c&1023)):s[i++]=(c&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function Eo(r,t,e){let n=e,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function kt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function en(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var vo=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,kt(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 kt(this,4);return en(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw kt(this,4);return en(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw kt(this,4);let t=vi(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw kt(this,4);let t=Ii(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 kt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Ti(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw kt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw kt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Lt(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 kt(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 kt(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 kt(this,8);let t=en(this.buf,this.pos+=4),e=en(this.buf,this.pos+=4);return new Lt(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=bo(this.buf,this.pos);return this.pos+=yt(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 So(r){return new vo(r instanceof Uint8Array?r:r.subarray())}function Mt(r,t,e){let n=So(r);return t.decode(n,void 0,e)}var Io={};Et(Io,{base10:()=>mf});var mf=ie({prefix:"9",name:"base10",alphabet:"0123456789"});var Ao={};Et(Ao,{base16:()=>gf,base16upper:()=>yf});var gf=nt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),yf=nt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Bo={};Et(Bo,{base2:()=>bf});var bf=nt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var To={};Et(To,{base256emoji:()=>Sf});var Pi=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}"),xf=Pi.reduce((r,t,e)=>(r[e]=t,r),[]),wf=Pi.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Ef(r){return r.reduce((t,e)=>(t+=xf[e],t),"")}function vf(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=wf[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var Sf=ke({prefix:"\u{1F680}",name:"base256emoji",encode:Ef,decode:vf});var Po={};Et(Po,{base64:()=>If,base64pad:()=>Af,base64url:()=>Lo,base64urlpad:()=>Bf});var If=nt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Af=nt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Lo=nt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Bf=nt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Co={};Et(Co,{base8:()=>Tf});var Tf=nt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ro={};Et(Ro,{identity:()=>Lf});var Lf=ke({prefix:"\0",name:"identity",encode:r=>Ms(r),decode:r=>ks(r)});var Jh=new TextEncoder,tp=new TextDecoder;var Uo={};Et(Uo,{sha256:()=>hr,sha512:()=>Rf});function No({name:r,code:t,encode:e}){return new _o(r,t,e)}var _o=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?Nt(this.code,e):e.then(n=>Nt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Ri(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var hr=No({name:"sha2-256",code:18,encode:Ri("SHA-256")}),Rf=No({name:"sha2-512",code:19,encode:Ri("SHA-512")});var pr={...Ro,...Bo,...Co,...Io,...Ao,...qn,...Hn,...Vn,...Po,...To},dp={...Uo,...$n};function Ni(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var _i=Ni("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Do=Ni("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=Bt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),_f={utf8:_i,"utf-8":_i,hex:pr.base16,latin1:Do,ascii:Do,binary:Do,...pr},rn=_f;function H(r,t="utf8"){let e=rn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Oo(r){let t=r??8192,e=t>>>1,n,o=t;return function(i){if(i<1||i>e)return Bt(i);o+i>t&&(n=Bt(t),o=0);let c=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),c}}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 ko(){}var Ko=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Nf=Oo();function Uf(r){return globalThis.Buffer!=null?Bt(r):Nf(r)}var gr=class{len;head;tail;states;constructor(){this.len=0,this.head=new Pe(ko,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 Fo((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(nn,10,Lt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Lt.fromBigInt(t);return this._push(nn,e.length(),e)}uint64Number(t){return this._push(yo,yt(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=Lt.fromBigInt(t).zzEncode();return this._push(nn,e.length(),e)}sint64Number(t){let e=Lt.fromNumber(t).zzEncode();return this._push(nn,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Mo,1,t?1:0)}fixed32(t){return this._push(mr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Lt.fromBigInt(t);return this._push(mr,4,e.lo)._push(mr,4,e.hi)}fixed64Number(t){let e=Lt.fromNumber(t);return this._push(mr,4,e.lo)._push(mr,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(Ei,4,t)}double(t){return this._push(Si,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Mo,1,0):this.uint32(e)._push(Of,e,t)}string(t){let e=Bi(t);return e!==0?this.uint32(e)._push(Eo,e,t):this._push(Mo,1,0)}fork(){return this.states=new Ko(this),this.head=this.tail=new Pe(ko,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(ko,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=Uf(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Mo(r,t,e){t[e]=r&255}function Df(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Fo=class extends Pe{next;constructor(t,e){super(Df,t,e),this.next=void 0}};function nn(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 mr(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 Of(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(gr.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(kf,t,r),this},gr.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Mf,t,r),this});function kf(r,t,e){t.set(r,e)}function Mf(r,t,e){r.length<40?Eo(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(H(r),e)}function Vo(){return new gr}function Kt(r,t){let e=Vo();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var $e;(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"})($e||($e={}));function on(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function qo(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(s,i){let c=t(s);i.int32(c)},n=function(s){let i=s.int32();return t(i)};return on("enum",$e.VARINT,e,n)}function Ft(r,t){return on("message",$e.LENGTH_DELIMITED,r,t)}var Ce=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var it;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(it||(it={}));var Ho;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(Ho||(Ho={}));(function(r){r.codec=()=>qo(Ho)})(it||(it={}));var Gt;(function(r){let t;r.codec=()=>(t==null&&(t=Ft((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),it.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let c=e.uint32();switch(c>>>3){case 1:{s.Type=it.codec().decode(e);break}case 2:{s.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return s})),t),r.encode=e=>Kt(e,r.codec()),r.decode=(e,n)=>Mt(e,r.codec(),n)})(Gt||(Gt={}));var zo;(function(r){let t;r.codec=()=>(t==null&&(t=Ft((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),it.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let c=e.uint32();switch(c>>>3){case 1:{s.Type=it.codec().decode(e);break}case 2:{s.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return s})),t),r.encode=e=>Kt(e,r.codec()),r.decode=(e,n)=>Mt(e,r.codec(),n)})(zo||(zo={}));var xr={};Et(xr,{MAX_RSA_KEY_SIZE:()=>Yo,generateRSAKeyPair:()=>Wi,jwkToJWKKeyPair:()=>Yi,jwkToPkcs1:()=>jf,jwkToPkix:()=>Xo,jwkToRSAPrivateKey:()=>Zi,pkcs1ToJwk:()=>zi,pkcs1ToRSAPrivateKey:()=>$i,pkixToJwk:()=>Gi,pkixToRSAPublicKey:()=>Qo});var Kf=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]),ge=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ye=new Uint32Array(64),Go=class extends ze{constructor(){super(64,32,8,!1),this.A=ge[0]|0,this.B=ge[1]|0,this.C=ge[2]|0,this.D=ge[3]|0,this.E=ge[4]|0,this.F=ge[5]|0,this.G=ge[6]|0,this.H=ge[7]|0}get(){let{A:t,B:e,C:n,D:o,E:s,F:i,G:c,H:a}=this;return[t,e,n,o,s,i,c,a]}set(t,e,n,o,s,i,c,a){this.A=t|0,this.B=e|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=c|0,this.H=a|0}process(t,e){for(let l=0;l<16;l++,e+=4)ye[l]=t.getUint32(e,!1);for(let l=16;l<64;l++){let d=ye[l-15],y=ye[l-2],m=Ut(d,7)^Ut(d,18)^d>>>3,b=Ut(y,17)^Ut(y,19)^y>>>10;ye[l]=b+ye[l-7]+m+ye[l-16]|0}let{A:n,B:o,C:s,D:i,E:c,F:a,G:f,H:u}=this;for(let l=0;l<64;l++){let d=Ut(c,6)^Ut(c,11)^Ut(c,25),y=u+d+ei(c,a,f)+Kf[l]+ye[l]|0,b=(Ut(n,2)^Ut(n,13)^Ut(n,22))+ri(n,o,s)|0;u=f,f=a,a=c,c=i+y|0,i=s,s=o,o=n,n=y+b|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,c=c+this.E|0,a=a+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,o,s,i,c,a,f,u)}roundClean(){ye.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Ze=Vr(()=>new Go);function K(r,t="utf8"){let e=rn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}function Pt(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=Bt(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}var Oi=Symbol.for("@achingbrain/uint8arraylist");function Di(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function sn(r){return!!r?.[Oi]}var at=class r{bufs;length;[Oi]=!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(sn(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(sn(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=Di(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Di(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(sn(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:o}=this._subList(t,e);return Pt(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:Pt(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=[...n],s}_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=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],c=o,a=c+i.byteLength;if(o=a,t>=a)continue;let f=t>=c&&t<a,u=e>c&&e<=a;if(f&&u){if(t===c&&e===a){n.push(i);break}let l=t-c;n.push(i.subarray(l,l+(e-t)));break}if(f){if(t===0){n.push(i);continue}n.push(i.subarray(t-c));continue}if(u){if(e===a){n.push(i);break}n.push(i.subarray(0,e-c));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!sn(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 o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let l=0;l<s;l++)i[l]=-1;for(let l=0;l<o;l++)i[n[l]]=l;let c=i,a=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=e;l<=a;l+=u){u=0;for(let d=f;d>=0;d--){let y=this.get(l+d);if(n[d]!==y){u=Math.max(1,d-c[y]);break}}if(u===0)return l}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=Bt(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 o=ht(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,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 o=ht(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,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 o=ht(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,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=Bt(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 o=ht(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,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 o=ht(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,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 o=ht(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,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 o=ht(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,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 o=ht(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,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(!mt(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((o,s)=>o+s.byteLength,0)),n.length=e,n}};var Ff=parseInt("11111",2),Zo=parseInt("10000000",2),Vf=parseInt("01111111",2),ki={2:qf,3:Gf,5:zf,6:Hf,16:$o,22:$o,48:$o};function yr(r,t={offset:0}){let e=r[t.offset]&Ff;if(t.offset++,ki[e]!=null)return ki[e](r,t);throw new Error("No decoder for tag "+e)}function an(r,t){let e=0;if((r[t.offset]&Zo)===Zo){let n=r[t.offset]&Vf,o="0x";t.offset++;for(let s=0;s<n;s++,t.offset++)o+=r[t.offset].toString(16).padStart(2,"0");e=parseInt(o,16)}else e=r[t.offset],t.offset++;return e}function $o(r,t){an(r,t);let e=[];for(;!(t.offset>=r.byteLength);){let n=yr(r,t);if(n===null)break;e.push(n)}return e}function qf(r,t){let e=an(r,t),n=t.offset,o=t.offset+e,s=[];for(let i=n;i<o;i++)i===n&&r[i]===0||s.push(r[i]);return t.offset+=e,Uint8Array.from(s)}function Hf(r,t){let e=an(r,t);return t.offset+=e,["oid-unimplemented"]}function zf(r,t){return t.offset++,null}function Gf(r,t){let e=an(r,t),n=r[t.offset];t.offset++;let o=r.subarray(t.offset,t.offset+e);if(t.offset+=e,n!==0)throw new Error("Unused bits in bit string is unimplemented");return yr(o,{offset:0})}function $f(r){let t=r.toString(16);t.length%2===1&&(t="0"+t);let e=new at;for(let n=0;n<t.length;n+=2)e.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return e}function Wo(r){if(r.byteLength<128)return Uint8Array.from([r.byteLength]);let t=$f(r.byteLength);return new at(Uint8Array.from([t.byteLength|Zo]),t)}function Rt(r){let t=new at,e=parseInt("10000000",2);return(r.subarray()[0]&e)===e&&t.append(Uint8Array.from([0])),t.append(r),new at(Uint8Array.from([2]),Wo(t),t)}function Mi(r){let t=Uint8Array.from([0]),e=new at(t,r);return new at(Uint8Array.from([3]),Wo(e),e)}function cn(r){let t=new at;for(let e of r)t.append(e);return new at(Uint8Array.from([48]),Wo(t),t)}var br=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},un=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Ki={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new un("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 be=Ki;async function Fi(r){let t=await be.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 Zf(t);return{privateKey:e[0],publicKey:e[1]}}async function Vi(r,t){let e=await be.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await be.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function qi(r,t,e){let n=await be.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return be.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Zf(r){if(r.privateKey==null||r.publicKey==null)throw new vt("Private and public key are required");return Promise.all([be.get().subtle.exportKey("jwk",r.privateKey),be.get().subtle.exportKey("jwk",r.publicKey)])}function Hi(r){if(r.kty!=="RSA")throw new vt("invalid key type");if(r.n==null)throw new vt("invalid key modulus");return H(r.n,"base64url").length*8}var We=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=xr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return ft.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:mt(this.raw,t.raw)}verify(t,e){return qi(this._key,e,t)}},wr=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=xr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:mt(this.raw,t.raw)}sign(t){return Vi(this._key,t)}};var Yo=8192,jo=18,Wf=1062,Yf=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function zi(r){let t=yr(r);return{n:K(t[1],"base64url"),e:K(t[2],"base64url"),d:K(t[3],"base64url"),p:K(t[4],"base64url"),q:K(t[5],"base64url"),dp:K(t[6],"base64url"),dq:K(t[7],"base64url"),qi:K(t[8],"base64url"),kty:"RSA"}}function jf(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 vt("JWK was missing components");return cn([Rt(Uint8Array.from([0])),Rt(H(r.n,"base64url")),Rt(H(r.e,"base64url")),Rt(H(r.d,"base64url")),Rt(H(r.p,"base64url")),Rt(H(r.q,"base64url")),Rt(H(r.dp,"base64url")),Rt(H(r.dq,"base64url")),Rt(H(r.qi,"base64url"))]).subarray()}function Gi(r){let t=yr(r,{offset:0});return{kty:"RSA",n:K(t[1][0],"base64url"),e:K(t[1][1],"base64url")}}function Xo(r){if(r.n==null||r.e==null)throw new vt("JWK was missing components");return cn([Yf,Mi(cn([Rt(H(r.n,"base64url")),Rt(H(r.e,"base64url"))]))]).subarray()}function $i(r){let t=zi(r);return Zi(t)}function Qo(r,t){if(r.byteLength>=Wf)throw new Oe("Key size is too large");let e=Gi(r);if(t==null){let n=Ze(Gt.encode({Type:it.RSA,Data:r}));t=Nt(jo,n)}return new We(e,t)}function Zi(r){if(Hi(r)>Yo)throw new vt("Key size is too large");let t=Yi(r),e=Ze(Gt.encode({Type:it.RSA,Data:Xo(t.publicKey)})),n=Nt(jo,e);return new wr(t.privateKey,new We(t.publicKey,n))}async function Wi(r){if(r>Yo)throw new vt("Key size is too large");let t=await Fi(r),e=Ze(Gt.encode({Type:it.RSA,Data:Xo(t.publicKey)})),n=Nt(jo,e);return new wr(t.privateKey,new We(t.publicKey,n))}function Yi(r){if(r==null)throw new vt("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var fn=class extends He{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,Qs(t);let n=ur(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 o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?t.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=t.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(t){return qe(this),this.iHash.update(t),this}digestInto(t){qe(this),Ve(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:o,destroyed:s,blockLen:i,outputLen:c}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=c,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Jo=(r,t,e)=>new fn(r,t).update(e).digest();Jo.create=(r,t)=>new fn(r,t);function ji(r){r.lowS!==void 0&&Dt("lowS",r.lowS),r.prehash!==void 0&&Dt("prehash",r.prehash)}function Xf(r){let t=dr(r);zt(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:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("invalid 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("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Qf,hexToBytes:Jf}=$r,ts=class extends Error{constructor(t=""){super(t)}},ne={Err:ts,_tlv:{encode:(r,t)=>{let{Err:e}=ne;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,o=Se(n);if(o.length/2&128)throw new e("tlv.encode: long form length too big");let s=n>127?Se(o.length/2|128):"";return Se(r)+s+o+t},decode(r,t){let{Err:e}=ne,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 o=t[n++],s=!!(o&128),i=0;if(!s)i=o;else{let a=o&127;if(!a)throw new e("tlv.decode(long): indefinite length not supported");if(a>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+a);if(f.length!==a)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let u of f)i=i<<8|u;if(n+=a,i<128)throw new e("tlv.decode(long): not minimal encoding")}let c=t.subarray(n,n+i);if(c.length!==i)throw new e("tlv.decode: wrong value length");return{v:c,l:t.subarray(n+i)}}},_int:{encode(r){let{Err:t}=ne;if(r<oe)throw new t("integer: negative integers are not allowed");let e=Se(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=ne;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 Qf(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=ne,o=typeof r=="string"?Jf(r):r;Ge(o);let{v:s,l:i}=n.decode(48,o);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:c,l:a}=n.decode(2,s),{v:f,l:u}=n.decode(2,a);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(c),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=ne,n=t.encode(2,e.encode(r.r)),o=t.encode(2,e.encode(r.s)),s=n+o;return t.encode(48,s)}},oe=BigInt(0),lt=BigInt(1),U0=BigInt(2),Xi=BigInt(3),D0=BigInt(4);function tl(r){let t=Xf(r),{Fp:e}=t,n=he(t.n,t.nBitLength),o=t.toBytes||((b,h,E)=>{let S=h.toAffine();return ee(Uint8Array.from([4]),e.toBytes(S.x),e.toBytes(S.y))}),s=t.fromBytes||(b=>{let h=b.subarray(1),E=e.fromBytes(h.subarray(0,e.BYTES)),S=e.fromBytes(h.subarray(e.BYTES,2*e.BYTES));return{x:E,y:S}});function i(b){let{a:h,b:E}=t,S=e.sqr(b),g=e.mul(S,b);return e.add(e.add(g,e.mul(b,h)),E)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function c(b){return fr(b,lt,t.n)}function a(b){let{allowedPrivateKeyLengths:h,nByteLength:E,wrapPrivateKey:S,n:g}=t;if(h&&typeof b!="bigint"){if(fe(b)&&(b=Jt(b)),typeof b!="string"||!h.includes(b.length))throw new Error("invalid private key");b=b.padStart(E*2,"0")}let A;try{A=typeof b=="bigint"?b:te(et("private key",b,E))}catch{throw new Error("invalid private key, expected hex or "+E+" bytes, got "+typeof b)}return S&&(A=W(A,g)),It("private key",A,lt,g),A}function f(b){if(!(b instanceof d))throw new Error("ProjectivePoint expected")}let u=Be((b,h)=>{let{px:E,py:S,pz:g}=b;if(e.eql(g,e.ONE))return{x:E,y:S};let A=b.is0();h==null&&(h=A?e.ONE:e.inv(g));let R=e.mul(E,h),C=e.mul(S,h),B=e.mul(g,h);if(A)return{x:e.ZERO,y:e.ZERO};if(!e.eql(B,e.ONE))throw new Error("invZ was invalid");return{x:R,y:C}}),l=Be(b=>{if(b.is0()){if(t.allowInfinityPoint&&!e.is0(b.py))return;throw new Error("bad point: ZERO")}let{x:h,y:E}=b.toAffine();if(!e.isValid(h)||!e.isValid(E))throw new Error("bad point: x or y not FE");let S=e.sqr(E),g=i(h);if(!e.eql(S,g))throw new Error("bad point: equation left != right");if(!b.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(h,E,S){if(this.px=h,this.py=E,this.pz=S,h==null||!e.isValid(h))throw new Error("x required");if(E==null||!e.isValid(E))throw new Error("y required");if(S==null||!e.isValid(S))throw new Error("z required");Object.freeze(this)}static fromAffine(h){let{x:E,y:S}=h||{};if(!h||!e.isValid(E)||!e.isValid(S))throw new Error("invalid affine point");if(h instanceof d)throw new Error("projective point not allowed");let g=A=>e.eql(A,e.ZERO);return g(E)&&g(S)?d.ZERO:new d(E,S,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let E=e.invertBatch(h.map(S=>S.pz));return h.map((S,g)=>S.toAffine(E[g])).map(d.fromAffine)}static fromHex(h){let E=d.fromAffine(s(et("pointHex",h)));return E.assertValidity(),E}static fromPrivateKey(h){return d.BASE.multiply(a(h))}static msm(h,E){return jr(d,n,h,E)}_setWindowSize(h){m.setWindowSize(this,h)}assertValidity(){l(this)}hasEvenY(){let{y:h}=this.toAffine();if(e.isOdd)return!e.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){f(h);let{px:E,py:S,pz:g}=this,{px:A,py:R,pz:C}=h,B=e.eql(e.mul(E,C),e.mul(A,g)),P=e.eql(e.mul(S,C),e.mul(R,g));return B&&P}negate(){return new d(this.px,e.neg(this.py),this.pz)}double(){let{a:h,b:E}=t,S=e.mul(E,Xi),{px:g,py:A,pz:R}=this,C=e.ZERO,B=e.ZERO,P=e.ZERO,T=e.mul(g,g),Q=e.mul(A,A),q=e.mul(R,R),k=e.mul(g,A);return k=e.add(k,k),P=e.mul(g,R),P=e.add(P,P),C=e.mul(h,P),B=e.mul(S,q),B=e.add(C,B),C=e.sub(Q,B),B=e.add(Q,B),B=e.mul(C,B),C=e.mul(k,C),P=e.mul(S,P),q=e.mul(h,q),k=e.sub(T,q),k=e.mul(h,k),k=e.add(k,P),P=e.add(T,T),T=e.add(P,T),T=e.add(T,q),T=e.mul(T,k),B=e.add(B,T),q=e.mul(A,R),q=e.add(q,q),T=e.mul(q,k),C=e.sub(C,T),P=e.mul(q,Q),P=e.add(P,P),P=e.add(P,P),new d(C,B,P)}add(h){f(h);let{px:E,py:S,pz:g}=this,{px:A,py:R,pz:C}=h,B=e.ZERO,P=e.ZERO,T=e.ZERO,Q=t.a,q=e.mul(t.b,Xi),k=e.mul(E,A),ot=e.mul(S,R),v=e.mul(g,C),L=e.add(E,S),x=e.add(A,R);L=e.mul(L,x),x=e.add(k,ot),L=e.sub(L,x),x=e.add(E,g);let p=e.add(A,C);return x=e.mul(x,p),p=e.add(k,v),x=e.sub(x,p),p=e.add(S,g),B=e.add(R,C),p=e.mul(p,B),B=e.add(ot,v),p=e.sub(p,B),T=e.mul(Q,x),B=e.mul(q,v),T=e.add(B,T),B=e.sub(ot,T),T=e.add(ot,T),P=e.mul(B,T),ot=e.add(k,k),ot=e.add(ot,k),v=e.mul(Q,v),x=e.mul(q,x),ot=e.add(ot,v),v=e.sub(k,v),v=e.mul(Q,v),x=e.add(x,v),k=e.mul(ot,x),P=e.add(P,k),k=e.mul(p,x),B=e.mul(L,B),B=e.sub(B,k),k=e.mul(L,ot),T=e.mul(p,T),T=e.add(T,k),new d(B,P,T)}subtract(h){return this.add(h.negate())}is0(){return this.equals(d.ZERO)}wNAF(h){return m.wNAFCached(this,h,d.normalizeZ)}multiplyUnsafe(h){let{endo:E,n:S}=t;It("scalar",h,oe,S);let g=d.ZERO;if(h===oe)return g;if(this.is0()||h===lt)return this;if(!E||m.hasPrecomputes(this))return m.wNAFCachedUnsafe(this,h,d.normalizeZ);let{k1neg:A,k1:R,k2neg:C,k2:B}=E.splitScalar(h),P=g,T=g,Q=this;for(;R>oe||B>oe;)R<&&(P=P.add(Q)),B<&&(T=T.add(Q)),Q=Q.double(),R>>=lt,B>>=lt;return A&&(P=P.negate()),C&&(T=T.negate()),T=new d(e.mul(T.px,E.beta),T.py,T.pz),P.add(T)}multiply(h){let{endo:E,n:S}=t;It("scalar",h,lt,S);let g,A;if(E){let{k1neg:R,k1:C,k2neg:B,k2:P}=E.splitScalar(h),{p:T,f:Q}=this.wNAF(C),{p:q,f:k}=this.wNAF(P);T=m.constTimeNegate(R,T),q=m.constTimeNegate(B,q),q=new d(e.mul(q.px,E.beta),q.py,q.pz),g=T.add(q),A=Q.add(k)}else{let{p:R,f:C}=this.wNAF(h);g=R,A=C}return d.normalizeZ([g,A])[0]}multiplyAndAddUnsafe(h,E,S){let g=d.BASE,A=(C,B)=>B===oe||B===lt||!C.equals(g)?C.multiplyUnsafe(B):C.multiply(B),R=A(this,E).add(A(h,S));return R.is0()?void 0:R}toAffine(h){return u(this,h)}isTorsionFree(){let{h,isTorsionFree:E}=t;if(h===lt)return!0;if(E)return E(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:E}=t;return h===lt?this:E?E(d,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return Dt("isCompressed",h),this.assertValidity(),o(d,this,h)}toHex(h=!0){return Dt("isCompressed",h),Jt(this.toRawBytes(h))}}d.BASE=new d(t.Gx,t.Gy,e.ONE),d.ZERO=new d(e.ZERO,e.ONE,e.ZERO);let y=t.nBitLength,m=Yr(d,t.endo?Math.ceil(y/2):y);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:a,weierstrassEquation:i,isWithinCurveOrder:c}}function el(r){let t=dr(r);return zt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Qi(r){let t=el(r),{Fp:e,n}=t,o=e.BYTES+1,s=2*e.BYTES+1;function i(v){return W(v,n)}function c(v){return Zr(v,n)}let{ProjectivePoint:a,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:l}=tl({...t,toBytes(v,L,x){let p=L.toAffine(),w=e.toBytes(p.x),I=ee;return Dt("isCompressed",x),x?I(Uint8Array.from([L.hasEvenY()?2:3]),w):I(Uint8Array.from([4]),w,e.toBytes(p.y))},fromBytes(v){let L=v.length,x=v[0],p=v.subarray(1);if(L===o&&(x===2||x===3)){let w=te(p);if(!fr(w,lt,e.ORDER))throw new Error("Point is not on curve");let I=u(w),_;try{_=e.sqrt(I)}catch(M){let U=M instanceof Error?": "+M.message:"";throw new Error("Point is not on curve"+U)}let N=(_<)===lt;return(x&1)===1!==N&&(_=e.neg(_)),{x:w,y:_}}else if(L===s&&x===4){let w=e.fromBytes(p.subarray(0,e.BYTES)),I=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x:w,y:I}}else{let w=o,I=s;throw new Error("invalid Point, expected length of "+w+", or uncompressed "+I+", got "+L)}}}),d=v=>Jt(de(v,t.nByteLength));function y(v){let L=n>>lt;return v>L}function m(v){return y(v)?i(-v):v}let b=(v,L,x)=>te(v.slice(L,x));class h{constructor(L,x,p){this.r=L,this.s=x,this.recovery=p,this.assertValidity()}static fromCompact(L){let x=t.nByteLength;return L=et("compactSignature",L,x*2),new h(b(L,0,x),b(L,x,2*x))}static fromDER(L){let{r:x,s:p}=ne.toSig(et("DER",L));return new h(x,p)}assertValidity(){It("r",this.r,lt,n),It("s",this.s,lt,n)}addRecoveryBit(L){return new h(this.r,this.s,L)}recoverPublicKey(L){let{r:x,s:p,recovery:w}=this,I=C(et("msgHash",L));if(w==null||![0,1,2,3].includes(w))throw new Error("recovery id invalid");let _=w===2||w===3?x+t.n:x;if(_>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let N=(w&1)===0?"02":"03",O=a.fromHex(N+d(_)),M=c(_),U=i(-I*M),Z=i(p*M),j=a.BASE.multiplyAndAddUnsafe(O,U,Z);if(!j)throw new Error("point at infinify");return j.assertValidity(),j}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new h(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return Ie(this.toDERHex())}toDERHex(){return ne.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Ie(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let E={isValidPrivateKey(v){try{return f(v),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let v=oo(t.n);return li(t.randomBytes(v),t.n)},precompute(v=8,L=a.BASE){return L._setWindowSize(v),L.multiply(BigInt(3)),L}};function S(v,L=!0){return a.fromPrivateKey(v).toRawBytes(L)}function g(v){let L=fe(v),x=typeof v=="string",p=(L||x)&&v.length;return L?p===o||p===s:x?p===2*o||p===2*s:v instanceof a}function A(v,L,x=!0){if(g(v))throw new Error("first arg must be private key");if(!g(L))throw new Error("second arg must be public key");return a.fromHex(L).multiply(f(v)).toRawBytes(x)}let R=t.bits2int||function(v){if(v.length>8192)throw new Error("input is too large");let L=te(v),x=v.length*8-t.nBitLength;return x>0?L>>BigInt(x):L},C=t.bits2int_modN||function(v){return i(R(v))},B=lr(t.nBitLength);function P(v){return It("num < 2^"+t.nBitLength,v,oe,B),de(v,t.nByteLength)}function T(v,L,x=Q){if(["recovered","canonical"].some(ut=>ut in x))throw new Error("sign() legacy options not supported");let{hash:p,randomBytes:w}=t,{lowS:I,prehash:_,extraEntropy:N}=x;I==null&&(I=!0),v=et("msgHash",v),ji(x),_&&(v=et("prehashed msgHash",p(v)));let O=C(v),M=f(L),U=[P(M),P(O)];if(N!=null&&N!==!1){let ut=N===!0?w(e.BYTES):N;U.push(et("extraEntropy",ut))}let Z=ee(...U),j=O;function ct(ut){let dt=R(ut);if(!l(dt))return;let pt=c(dt),St=a.BASE.multiply(dt).toAffine(),wt=i(St.x);if(wt===oe)return;let Ht=i(pt*i(j+wt*M));if(Ht===oe)return;let Wt=(St.x===wt?0:2)|Number(St.y<),or=Ht;return I&&y(Ht)&&(or=m(Ht),Wt^=1),new h(wt,or,Wt)}return{seed:Z,k2sig:ct}}let Q={lowS:t.lowS,prehash:!1},q={lowS:t.lowS,prehash:!1};function k(v,L,x=Q){let{seed:p,k2sig:w}=T(v,L,x),I=t;return to(I.hash.outputLen,I.nByteLength,I.hmac)(p,w)}a.BASE._setWindowSize(8);function ot(v,L,x,p=q){let w=v;L=et("msgHash",L),x=et("publicKey",x);let{lowS:I,prehash:_,format:N}=p;if(ji(p),"strict"in p)throw new Error("options.strict was renamed to lowS");if(N!==void 0&&N!=="compact"&&N!=="der")throw new Error("format must be compact or der");let O=typeof w=="string"||fe(w),M=!O&&!N&&typeof w=="object"&&w!==null&&typeof w.r=="bigint"&&typeof w.s=="bigint";if(!O&&!M)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let U,Z;try{if(M&&(U=new h(w.r,w.s)),O){try{N!=="compact"&&(U=h.fromDER(w))}catch(Wt){if(!(Wt instanceof ne.Err))throw Wt}!U&&N!=="der"&&(U=h.fromCompact(w))}Z=a.fromHex(x)}catch{return!1}if(!U||I&&U.hasHighS())return!1;_&&(L=t.hash(L));let{r:j,s:ct}=U,ut=C(L),dt=c(ct),pt=i(ut*dt),St=i(j*dt),wt=a.BASE.multiplyAndAddUnsafe(Z,pt,St)?.toAffine();return wt?i(wt.x)===j:!1}return{CURVE:t,getPublicKey:S,getSharedSecret:A,sign:k,verify:ot,ProjectivePoint:a,Signature:h,utils:E}}function rl(r){return{hash:r,hmac:(t,...e)=>Jo(r,t,Zn(...e)),randomBytes:qr}}function Ji(r,t){let e=n=>Qi({...r,...rl(n)});return{...e(t),create:e}}var ra=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),ta=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),nl=BigInt(1),es=BigInt(2),ea=(r,t)=>(r+t/es)/t;function ol(r){let t=ra,e=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),c=BigInt(44),a=BigInt(88),f=r*r*r%t,u=f*f*r%t,l=tt(u,e,t)*u%t,d=tt(l,e,t)*u%t,y=tt(d,es,t)*f%t,m=tt(y,o,t)*y%t,b=tt(m,s,t)*m%t,h=tt(b,c,t)*b%t,E=tt(h,a,t)*h%t,S=tt(E,c,t)*b%t,g=tt(S,e,t)*u%t,A=tt(g,i,t)*m%t,R=tt(A,n,t)*f%t,C=tt(R,es,t);if(!rs.eql(rs.sqr(C),r))throw new Error("Cannot find square root");return C}var rs=he(ra,void 0,void 0,{sqrt:ol}),Re=Ji({a:BigInt(0),b:BigInt(7),Fp:rs,n:ta,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=ta,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-nl*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,i=BigInt("0x100000000000000000000000000000000"),c=ea(s*r,t),a=ea(-n*r,t),f=W(r-c*e-a*o,t),u=W(-c*n-a*s,t),l=f>i,d=u>i;if(l&&(f=t-f),d&&(u=t-u),f>i||u>i)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:f,k2neg:d,k2:u}}}},Ze),z0=BigInt(0);var G0=Re.ProjectivePoint;function na(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function oa(r,t,e){let n=hr.digest(e instanceof Uint8Array?e:e.subarray());if(na(n))return n.then(({digest:o})=>Re.verify(t,o,r)).catch(o=>{throw new br(String(o))});try{return Re.verify(t,n.digest,r)}catch(o){throw new br(String(o))}}var ln=class{type="secp256k1";raw;_key;constructor(t){this._key=ia(t),this.raw=sa(this._key)}toMultihash(){return Xt.digest(pe(this))}toCID(){return ft.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:mt(this.raw,t.raw)}verify(t,e){return oa(this._key,e,t)}};function ns(r){return new ln(r)}function sa(r){return Re.ProjectivePoint.fromHex(r).toRawBytes(!0)}function ia(r){try{return Re.ProjectivePoint.fromHex(r),r}catch(t){throw new Oe(String(t))}}function Ye(r,t){let{Type:e,Data:n}=Gt.decode(r),o=n??new Uint8Array;switch(e){case it.RSA:return Qo(o,t);case it.Ed25519:return lo(o);case it.secp256k1:return ns(o);default:throw new we}}function aa(r){let{Type:t,Data:e}=Gt.decode(r.digest),n=e??new Uint8Array;switch(t){case it.Ed25519:return lo(n);case it.secp256k1:return ns(n);default:throw new we}}function pe(r){return Gt.encode({Type:it[r.type],Data:r.raw})}var Er;(function(r){let t;r.codec=()=>(t==null&&(t=Ft((e,n,o={})=>{o.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)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={publicKey:ht(0),payloadType:ht(0),payload:ht(0),signature:ht(0)},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let c=e.uint32();switch(c>>>3){case 1:{s.publicKey=e.bytes();break}case 2:{s.payloadType=e.bytes();break}case 3:{s.payload=e.bytes();break}case 5:{s.signature=e.bytes();break}default:{e.skipType(c&7);break}}}return s})),t),r.encode=e=>Kt(e,r.codec()),r.decode=(e,n)=>Mt(e,r.codec(),n)})(Er||(Er={}));var dn=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var $t=class r{static createFromProtobuf=async t=>{let e=Er.decode(t),n=Ye(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,o=t.codec,s=t.marshal(),i=ca(n,o,s),c=await e.sign(i.subarray());return new r({publicKey:e.publicKey,payloadType:o,payload:s,signature:c})};static openAndCertify=async(t,e)=>{let n=await r.createFromProtobuf(t);if(!await n.validate(e))throw new dn("Envelope signature is not valid for the given domain");return n};publicKey;payloadType;payload;signature;marshaled;constructor(t){let{publicKey:e,payloadType:n,payload:o,signature:s}=t;this.publicKey=e,this.payloadType=n,this.payload=o,this.signature=s}marshal(){return this.marshaled==null&&(this.marshaled=Er.encode({publicKey:pe(this.publicKey),payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return mt(this.marshal(),t.marshal())}async validate(t){let e=ca(t,this.payloadType,this.payload);return this.publicKey.verify(e.subarray(),this.signature)}},ca=(r,t,e)=>{let n=H(r),o=Ct(n.byteLength),s=Ct(t.length),i=Ct(e.length);return new at(o,n,s,t,i,e)};var ua=Symbol.for("nodejs.util.inspect.custom"),sl=114,vr=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()})`}[On]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return ft.createV1(sl,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return mt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return mt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[ua](){return`PeerId(${this.toString()})`}},Sr=class extends vr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Ir=class extends vr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Ar=class extends vr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},il=2336,Br=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Xt.digest(H(this.url))}[ua](){return`PeerId(${this.url})`}[On]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return ft.createV1(il,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=K(t)),t.toString()===this.toString())}};var al=114,fa=2336;function la(r){if(r.type==="Ed25519")return new Ir({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new Ar({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new Sr({multihash:r.toCID().multihash,publicKey:r});throw new we}function os(r){if(ul(r))return new Sr({multihash:r});if(cl(r))try{let t=aa(r);if(t.type==="Ed25519")return new Ir({multihash:r,publicKey:t});if(t.type==="secp256k1")return new Ar({multihash:r,publicKey:t})}catch{let e=K(r.digest);return new Br(new URL(e))}throw new Or("Supplied PeerID Multihash is invalid")}function hn(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==al&&r.code!==fa)throw new Dr("Supplied PeerID CID is invalid");if(r.code===fa){let t=K(r.multihash.digest);return new Br(new URL(t))}return os(r.multihash)}function cl(r){return r.code===Xt.code}function ul(r){return r.code===hr.code}function da(r,t){let e=(n,o)=>n.toString().localeCompare(o.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,o)=>t[o].equals(n)))}var pn=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,o){return this.readAtomically(()=>{let s=0,i=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",f=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(u===void 0)break;if(s*=t,s+=u,s>f||(i+=1,e!==void 0&&i>e))return}if(i!==0)return!n&&a&&i>1?void 0:s})}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 o=n*2;if(n<e.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return e[o]=i[0],e[o+1]=i[1],e[o+2]=i[2],e[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];e[o]=s>>8,e[o+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[c]=t(s.subarray(0,i));return e.set(s.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var ha=45,fl=15,je=new pn;function mn(r){if(!(r.length>fl))return je.new(r).parseWith(()=>je.readIPv4Addr())}function gn(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>ha))return je.new(r).parseWith(()=>je.readIPv6Addr())}function _e(r,t=!1){if(r.includes("%")&&(r=r.split("%")[0]),r.length>ha)return;let e=je.new(r).parseWith(()=>je.readIPAddr());if(e)return t&&e.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,e[0],e[1],e[2],e[3]]):e}function pa(r,t,e){let n=0;for(let o of r)if(!(n<t)){if(n>e)break;if(o!==255)return!1;n++}return!0}function ma(r,t,e,n){let o=0;for(let s of r)if(!(o<e)){if(o>n)break;if(s!==t[o])return!1;o++}return!0}function ss(r){switch(r.length){case Ne:return r.join(".");case Ue:{let t=[];for(let e=0;e<r.length;e++)e%2===0&&t.push(r[e].toString(16).padStart(2,"0")+r[e+1].toString(16).padStart(2,"0"));return t.join(":")}default:throw new Error("Invalid ip length")}}function ga(r){let t=0;for(let[e,n]of r.entries()){if(n===255){t+=8;continue}for(;(n&128)!=0;)t++,n=n<<1;if((n&128)!=0)return-1;for(let o=e+1;o<r.length;o++)if(r[o]!=0)return-1;break}return t}function ya(r){let t="0x";for(let e of r)t+=(e>>4).toString(16)+(e&15).toString(16);return t}var Ne=4,Ue=16,lg=parseInt("0xFFFF",16),ll=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Tr(r,t){t.length===Ue&&r.length===Ne&&pa(t,0,11)&&(t=t.slice(12)),t.length===Ne&&r.length===Ue&&ma(r,ll,0,11)&&(r=r.slice(12));let e=r.length;if(e!=t.length)throw new Error("Failed to mask ip");let n=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=r[o]&t[o];return n}function ba(r,t){if(typeof t=="string"&&(t=_e(t)),t==null)throw new Error("Invalid ip");if(t.length!==r.network.length)return!1;for(let e=0;e<t.length;e++)if((r.network[e]&r.mask[e])!==(t[e]&r.mask[e]))return!1;return!0}function is(r){let[t,e]=r.split("/");if(!t||!e)throw new Error("Failed to parse given CIDR: "+r);let n=Ne,o=mn(t);if(o==null&&(n=Ue,o=gn(t),o==null))throw new Error("Failed to parse given CIDR: "+r);let s=parseInt(e,10);if(Number.isNaN(s)||String(s).length!==e.length||s<0||s>n*8)throw new Error("Failed to parse given CIDR: "+r);let i=as(s,8*n);return{network:Tr(o,i),mask:i}}function as(r,t){if(t!==8*Ne&&t!==8*Ue)throw new Error("Invalid CIDR mask");if(r<0||r>t)throw new Error("Invalid CIDR mask");let e=t/8,n=new Uint8Array(e);for(let o=0;o<e;o++){if(r>=8){n[o]=255,r-=8;continue}n[o]=255-(255>>r),r=0}return n}var Xe=class{constructor(t,e){if(e==null)({network:this.network,mask:this.mask}=is(t));else{let n=_e(t);if(n==null)throw new Error("Failed to parse network");e=String(e);let o=parseInt(e,10);if(Number.isNaN(o)||String(o).length!==e.length||o<0||o>n.length*8){let s=_e(e);if(s==null)throw new Error("Failed to parse mask");this.mask=s}else this.mask=as(o,8*n.length);this.network=Tr(n,this.mask)}}contains(t){return ba({network:this.network,mask:this.mask},t)}toString(){let t=ga(this.mask),e=t!==-1?String(t):ya(this.mask);return ss(this.network)+"/"+e}};function xa(r,t){return new Xe(r).contains(t)}function Qe(r){return!!mn(r)}function Je(r){return!!gn(r)}function yn(r){return!!_e(r)}var wa=Qe,dl=Je,cs=function(r){let t=0;if(r=r.toString().trim(),wa(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(dl(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=wa(e[n]),i;s&&(i=cs(e[n]),e[n]=K(i.slice(0,2),"base16")),i!=null&&++n<8&&e.splice(n,0,K(i.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 s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){let s=parseInt(e[n],16);o[t++]=s>>8&255,o[t++]=s&255}return o}throw new Error("invalid ip address")},Ea=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let s=0;s<e;s++)o.push(r[t+s]);return o.join(".")}if(e===16){let o=[];for(let s=0;s<e;s+=2)o.push(n.getUint16(t+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var tr={},us={},pl=[[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"]];pl.forEach(r=>{let t=ml(...r);us[t.code]=t,tr[t.name]=t});function ml(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function z(r){if(typeof r=="number"){if(us[r]!=null)return us[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(tr[r]!=null)return tr[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var zg=z("ip4"),Gg=z("ip6"),$g=z("ipcidr");function hs(r,t){switch(z(r).code){case 4:case 41:return yl(t);case 42:return ds(t);case 43:return K(t,"base10");case 6:case 273:case 33:case 132:return Ia(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ds(t);case 421:return El(t);case 444:return Sa(t);case 445:return Sa(t);case 466:return wl(t);case 481:return globalThis.encodeURIComponent(ds(t));default:return K(t,"base16")}}function ps(r,t){switch(z(r).code){case 4:return va(t);case 41:return va(t);case 42:return ls(t);case 43:return H(t,"base10");case 6:case 273:case 33:case 132:return ms(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ls(t);case 421:return bl(t);case 444:return vl(t);case 445:return Sl(t);case 466:return xl(t);case 481:return ls(globalThis.decodeURIComponent(t));default:return H(t,"base16")}}var fs=Object.values(pr).map(r=>r.decoder),gl=function(){let r=fs[0].or(fs[1]);return fs.slice(2).forEach(t=>r=r.or(t)),r}();function va(r){if(!yn(r))throw new Error("invalid ip address");return cs(r)}function yl(r){let t=Ea(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!yn(t))throw new Error("invalid ip address");return t}function ms(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Ia(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function ls(r){let t=H(r),e=Uint8Array.from(Ct(t.length));return Pt([e,t],e.length+t.length)}function ds(r){let t=re(r);if(r=r.slice(yt(t)),r.length!==t)throw new Error("inconsistent lengths");return K(r)}function bl(r){let t;r[0]==="Q"||r[0]==="1"?t=Ee(X.decode(`z${r}`)).bytes:t=ft.parse(r).multihash.bytes;let e=Uint8Array.from(Ct(t.length));return Pt([e,t],e.length+t.length)}function xl(r){let t=gl.decode(r),e=Uint8Array.from(Ct(t.length));return Pt([e,t],e.length+t.length)}function wl(r){let t=re(r),e=r.slice(yt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+K(e,"base64url")}function El(r){let t=re(r),e=r.slice(yt(t));if(e.length!==t)throw new Error("inconsistent lengths");return K(e,"base58btc")}function vl(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=jt.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 o=ms(n);return Pt([e,o],e.length+o.length)}function Sl(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=jt.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 o=ms(n);return Pt([e,o],e.length+o.length)}function Sa(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=K(t,"base32"),o=Ia(e);return`${n}:${o}`}function Aa(r){r=gs(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],c=z(i);if(c.size===0){t.push([c.code]),e.push([c.code]);continue}if(s++,s>=o.length)throw new bn("invalid address: "+r);if(c.path===!0){n=gs(o.slice(s).join("/")),t.push([c.code,ps(c.code,n)]),e.push([c.code,n]);break}let a=ps(c.code,o[s]);t.push([c.code,a]),e.push([c.code,hs(c.code,a)])}return{string:Ba(e),bytes:xn(t),tuples:t,stringTuples:e,path:n}}function ys(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let s=re(r,o),i=yt(s),c=z(s),a=Il(c,r.slice(o+i));if(a===0){t.push([s]),e.push([s]),o+=i;continue}let f=r.slice(o+i,o+i+a);if(o+=a+i,o>r.length)throw new bn("Invalid address Uint8Array: "+K(r,"base16"));t.push([s,f]);let u=hs(s,f);if(e.push([s,u]),c.path===!0){n=u;break}}return{bytes:Uint8Array.from(r),string:Ba(e),tuples:t,stringTuples:e,path:n}}function Ba(r){let t=[];return r.map(e=>{let n=z(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),gs(t.join("/"))}function xn(r){return Pt(r.map(t=>{let e=z(t[0]),n=Uint8Array.from(Ct(e.code));return t.length>1&&t[1]!=null&&(n=Pt([n,t[1]])),n}))}function Il(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=re(t instanceof Uint8Array?t:Uint8Array.from(t));return e+yt(e)}}function gs(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}var bn=class extends Error{static name="ParseError";name="ParseError";constructor(t){super(`Error parsing address: ${t}`)}};var Al=Symbol.for("nodejs.util.inspect.custom"),xs=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Bl=[z("dns").code,z("dns4").code,z("dns6").code,z("dnsaddr").code],bs=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},wn=class r{bytes;#e;#t;#r;#n;[xs]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=ys(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Aa(t)}else if(La(t))e=ys(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#e=e.string,this.#t=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let t,e,n,o,s="",i=z("tcp"),c=z("udp"),a=z("ip4"),f=z("ip6"),u=z("dns6"),l=z("ip6zone");for(let[y,m]of this.stringTuples())y===l.code&&(s=`%${m??""}`),Bl.includes(y)&&(e=i.name==="tcp"?"tcp":"udp",o=443,n=`${m??""}${s}`,t=y===u.code?6:4),(y===i.code||y===c.code)&&(e=z(y).name==="tcp"?"tcp":"udp",o=parseInt(m??"")),(y===a.code||y===f.code)&&(e=z(y).name==="tcp"?"tcp":"udp",n=`${m??""}${s}`,t=y===f.code?6:4);if(t==null||e==null||n==null||o==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:o}}protos(){return this.#t.map(([t])=>Object.assign({},z(t)))}protoCodes(){return this.#t.map(([t])=>t)}protoNames(){return this.#t.map(([t])=>z(t).name)}tuples(){return this.#t.map(([t,e])=>e==null?[t]:[t,e])}stringTuples(){return this.#r.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(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(xn(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===tr.p2p.code&&t.push([n,o]),n===tr["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?K(X.decode(`z${n}`),"base58btc"):K(ft.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return mt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(s=>s.resolvable);if(e==null)return[this];let n=Ta.get(e.name);if(n==null)throw new bs(`no available resolver for ${e.name}`);return(await n(this,t)).map(s=>Zt(s))}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)}[Al](){return`Multiaddr(${this.#e})`}};var Ta=new Map;function La(r){return!!r?.[xs]}function Zt(r){return new wn(r)}var Pa="libp2p-peer-record",Ca=Uint8Array.from([3,1]);var Lr;(function(r){let t;(function(n){let o;n.codec=()=>(o==null&&(o=Ft((s,i,c={})=>{c.lengthDelimited!==!1&&i.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(i.uint32(10),i.bytes(s.multiaddr)),c.lengthDelimited!==!1&&i.ldelim()},(s,i,c={})=>{let a={multiaddr:ht(0)},f=i==null?s.len:s.pos+i;for(;s.pos<f;){let u=s.uint32();switch(u>>>3){case 1:{a.multiaddr=s.bytes();break}default:{s.skipType(u&7);break}}}return a})),o),n.encode=s=>Kt(s,n.codec()),n.decode=(s,i)=>Mt(s,n.codec(),i)})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=Ft((n,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(o.uint32(10),o.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(o.uint32(16),o.uint64(n.seq)),n.addresses!=null)for(let i of n.addresses)o.uint32(26),r.AddressInfo.codec().encode(i,o);s.lengthDelimited!==!1&&o.ldelim()},(n,o,s={})=>{let i={peerId:ht(0),seq:0n,addresses:[]},c=o==null?n.len:n.pos+o;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:{i.peerId=n.bytes();break}case 2:{i.seq=n.uint64();break}case 3:{if(s.limits?.addresses!=null&&i.addresses.length===s.limits.addresses)throw new Ce('Decode error - map field "addresses" had too many elements');i.addresses.push(r.AddressInfo.codec().decode(n,n.uint32(),{limits:s.limits?.addresses$}));break}default:{n.skipType(a&7);break}}}return i})),e),r.encode=n=>Kt(n,r.codec()),r.decode=(n,o)=>Mt(n,r.codec(),o)})(Lr||(Lr={}));var Vt=class r{static createFromProtobuf=t=>{let e=Lr.decode(t),n=os(Ee(e.peerId)),o=(e.addresses??[]).map(i=>Zt(i.multiaddr)),s=e.seq;return new r({peerId:n,multiaddrs:o,seqNumber:s})};static DOMAIN=Pa;static CODEC=Ca;peerId;multiaddrs;seqNumber;domain=r.DOMAIN;codec=r.CODEC;marshaled;constructor(t){let{peerId:e,multiaddrs:n,seqNumber:o}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=o??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Lr.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||!da(this.multiaddrs,t.multiaddrs))}};function Tl(r){return r[Symbol.asyncIterator]!=null}function Ll(r){if(Tl(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Ra=Ll;function qt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var En=globalThis.CustomEvent??Event;async function*ws(r,t={}){let e=t.concurrency??1/0;e<1&&(e=1/0);let n=t.ordered??!1,o=new EventTarget,s=[],i=qt(),c=qt(),a=!1,f,u=!1;o.addEventListener("task-complete",()=>{c.resolve()}),Promise.resolve().then(async()=>{try{for await(let m of r){if(s.length===e&&(i=qt(),await i.promise),u)break;let b={done:!1};s.push(b),m().then(h=>{b.done=!0,b.ok=!0,b.value=h,o.dispatchEvent(new En("task-complete"))},h=>{b.done=!0,b.err=h,o.dispatchEvent(new En("task-complete"))})}a=!0,o.dispatchEvent(new En("task-complete"))}catch(m){f=m,o.dispatchEvent(new En("task-complete"))}});function l(){return n?s[0]?.done:!!s.find(m=>m.done)}function*d(){for(;s.length>0&&s[0].done;){let m=s[0];if(s.shift(),m.ok)yield m.value;else throw u=!0,i.resolve(),m.err;i.resolve()}}function*y(){for(;l();)for(let m=0;m<s.length;m++)if(s[m].done){let b=s[m];if(s.splice(m,1),m--,b.ok)yield b.value;else throw u=!0,i.resolve(),b.err;i.resolve()}}for(;;){if(l()||(c=qt(),await c.promise),f!=null)throw f;if(n?yield*d():yield*y(),a&&s.length===0)break}}var vn=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function Pr(r,t,e){if(t==null)return r;if(t.aborted)return r.catch(()=>{}),Promise.reject(new vn(e?.errorMessage,e?.errorCode,e?.errorName));let n,o=new vn(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((s,i)=>{n=()=>{i(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Es=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=qt(),this.haveNext=qt()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=qt(),t}async throw(t){return this.ended=!0,this.error=t,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return this.ended=!0,this.nextResult=t,this.haveNext.resolve(),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=qt(),await Pr(this.readNext.promise,e?.signal,e)}};function _a(){return new Es}var Sn=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function Na(r,t){let e=_a();r.sink(e).catch(async i=>{await e.end(i)}),r.sink=async i=>{for await(let c of i)await e.push(c);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let o=new at;return{read:async i=>{if(i?.signal?.throwIfAborted(),i?.bytes==null){let{done:a,value:f}=await Pr(n.next(),i?.signal);return a===!0?null:f}for(;o.byteLength<i.bytes;){let{value:a,done:f}=await Pr(n.next(),i?.signal);if(f===!0)throw new Sn("unexpected end of input");o.append(a)}let c=o.sublist(0,i.bytes);return o.consume(i.bytes),c},write:async(i,c)=>{c?.signal?.throwIfAborted(),i instanceof Uint8Array?await e.push(i,c):await e.push(i.subarray(),c)},unwrap:()=>{if(o.byteLength>0){let i=r.source;r.source=async function*(){t?.yieldBytes===!1?yield o:yield*o,yield*i}()}return r}}}var In=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},An=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Bn=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Ua(r,t={}){let e=Na(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=yt(t.maxDataLength));let n=t?.lengthDecoder??re,o=t?.lengthEncoder??Ct;return{read:async i=>{let c=-1,a=new at;for(;;){a.append(await e.read({...i,bytes:1}));try{c=n(a)}catch(f){if(f instanceof RangeError)continue;throw f}if(c<0)throw new In("Invalid message length");if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new Bn("message length length too long");if(c>-1)break}if(t?.maxDataLength!=null&&c>t.maxDataLength)throw new An("message length too long");return e.read({...i,bytes:c})},write:async(i,c)=>{await e.write(new at(o(i.byteLength),i),c)},writeV:async(i,c)=>{let a=new at(...i.flatMap(f=>[o(f.byteLength),f]));await e.write(a,c)},unwrap:()=>e.unwrap()}}function er(r,t){let e=Ua(r,t),n={read:async(o,s)=>{let i=await e.read(s);return o.decode(i)},write:async(o,s,i)=>{await e.write(s.encode(o),i)},writeV:async(o,s,i)=>{await e.writeV(o.map(c=>s.encode(c)),i)},pb:o=>({read:async s=>n.read(o,s),write:async(s,i)=>n.write(s,o,i),writeV:async(s,i)=>n.writeV(s,o,i),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var Da="0.1.0",Oa="id",ka="id/push",Ma="1.0.0",Ka="1.0.0";var xe;(function(r){let t;r.codec=()=>(t==null&&(t=Ft((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.protocolVersion!=null&&(n.uint32(42),n.string(e.protocolVersion)),e.agentVersion!=null&&(n.uint32(50),n.string(e.agentVersion)),e.publicKey!=null&&(n.uint32(10),n.bytes(e.publicKey)),e.listenAddrs!=null)for(let s of e.listenAddrs)n.uint32(18),n.bytes(s);if(e.observedAddr!=null&&(n.uint32(34),n.bytes(e.observedAddr)),e.protocols!=null)for(let s of e.protocols)n.uint32(26),n.string(s);e.signedPeerRecord!=null&&(n.uint32(66),n.bytes(e.signedPeerRecord)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={listenAddrs:[],protocols:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let c=e.uint32();switch(c>>>3){case 5:{s.protocolVersion=e.string();break}case 6:{s.agentVersion=e.string();break}case 1:{s.publicKey=e.bytes();break}case 2:{if(o.limits?.listenAddrs!=null&&s.listenAddrs.length===o.limits.listenAddrs)throw new Ce('Decode error - map field "listenAddrs" had too many elements');s.listenAddrs.push(e.bytes());break}case 4:{s.observedAddr=e.bytes();break}case 3:{if(o.limits?.protocols!=null&&s.protocols.length===o.limits.protocols)throw new Ce('Decode error - map field "protocols" had too many elements');s.protocols.push(e.string());break}case 8:{s.signedPeerRecord=e.bytes();break}default:{e.skipType(c&7);break}}}return s})),t),r.encode=e=>Kt(e,r.codec()),r.decode=(e,n)=>Mt(e,r.codec(),n)})(xe||(xe={}));var Tt={protocolPrefix:"ipfs",timeout:5e3,maxInboundStreams:1,maxOutboundStreams:1,maxObservedAddresses:10,maxMessageSize:8192,runOnConnectionOpen:!0,runOnSelfUpdate:!0,runOnLimitedConnection:!0,concurrency:32};function Fa(r){if(r!=null&&r.length>0)try{return Zt(r)}catch{}}function Rl(r,t){return t??r.userAgent}async function Tn(r,t,e,n,o){if(e("received identify from %p",n.remotePeer),o==null)throw new _t("message was null or undefined");let s={};if(o.listenAddrs.length>0&&(s.addresses=o.listenAddrs.map(a=>({isCertified:!1,multiaddr:Zt(a)}))),o.protocols.length>0&&(s.protocols=o.protocols),o.publicKey!=null){let a=Ye(o.publicKey);if(!la(a).equals(n.remotePeer))throw new _t("public key did not match remote PeerId");s.publicKey=a}let i;if(o.signedPeerRecord!=null){e.trace("received signedPeerRecord from %p",n.remotePeer);let a=o.signedPeerRecord,f=await $t.openAndCertify(a,Vt.DOMAIN),u=Vt.createFromProtobuf(f.payload),l=hn(f.publicKey.toCID());if(!u.peerId.equals(l))throw new _t("signing key does not match PeerId in the PeerRecord");if(!n.remotePeer.equals(u.peerId))throw new _t("signing key does not match remote PeerId");let d;try{d=await r.get(u.peerId)}catch(y){if(y.name!=="NotFoundError")throw y}if(d!=null&&(s.metadata=d.metadata,d.peerRecordEnvelope!=null)){let y=await $t.createFromProtobuf(d.peerRecordEnvelope),m=Vt.createFromProtobuf(y.payload);m.seqNumber>=u.seqNumber&&(e("sequence number was lower or equal to existing sequence number - stored: %d received: %d",m.seqNumber,u.seqNumber),u=m,a=d.peerRecordEnvelope)}s.peerRecordEnvelope=a,s.addresses=u.multiaddrs.map(y=>({isCertified:!0,multiaddr:y})),i={seq:u.seqNumber,addresses:u.multiaddrs}}else e("%p did not send a signed peer record",n.remotePeer);if(e.trace("patching %p with",n.remotePeer,s),await r.patch(n.remotePeer,s),o.agentVersion!=null||o.protocolVersion!=null){let a={};o.agentVersion!=null&&(a.AgentVersion=H(o.agentVersion)),o.protocolVersion!=null&&(a.ProtocolVersion=H(o.protocolVersion)),e.trace("merging %p metadata",n.remotePeer,a),await r.merge(n.remotePeer,{metadata:a})}let c={peerId:n.remotePeer,protocolVersion:o.protocolVersion,agentVersion:o.agentVersion,publicKey:o.publicKey,listenAddrs:o.listenAddrs.map(a=>Zt(a)),observedAddr:o.observedAddr==null?void 0:Zt(o.observedAddr),protocols:o.protocols,signedPeerRecord:i,connection:n};return t.safeDispatchEvent("peer:identify",{detail:c}),c}var rr=class{host;protocol;started;timeout;peerId;privateKey;peerStore;registrar;addressManager;maxInboundStreams;maxOutboundStreams;maxMessageSize;maxObservedAddresses;events;runOnLimitedConnection;log;constructor(t,e){this.protocol=e.protocol,this.started=!1,this.peerId=t.peerId,this.privateKey=t.privateKey,this.peerStore=t.peerStore,this.registrar=t.registrar,this.addressManager=t.addressManager,this.events=t.events,this.log=e.log,this.timeout=e.timeout??Tt.timeout,this.maxInboundStreams=e.maxInboundStreams??Tt.maxInboundStreams,this.maxOutboundStreams=e.maxOutboundStreams??Tt.maxOutboundStreams,this.maxMessageSize=e.maxMessageSize??Tt.maxMessageSize,this.maxObservedAddresses=e.maxObservedAddresses??Tt.maxObservedAddresses,this.runOnLimitedConnection=e.runOnLimitedConnection??Tt.runOnLimitedConnection,this.host={protocolVersion:`${e.protocolPrefix??Tt.protocolPrefix}/${Da}`,agentVersion:Rl(t.nodeInfo,e.agentVersion)}}isStarted(){return this.started}async start(){this.started||(await this.peerStore.merge(this.peerId,{metadata:{AgentVersion:H(this.host.agentVersion),ProtocolVersion:H(this.host.protocolVersion)}}),await this.registrar.handle(this.protocol,t=>{this.handleProtocol(t).catch(e=>{this.log.error(e)})},{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams,runOnLimitedConnection:this.runOnLimitedConnection}),this.started=!0)}async stop(){await this.registrar.unhandle(this.protocol),this.started=!1}};var Ln=class extends rr{connectionManager;concurrency;constructor(t,e={}){super(t,{...e,protocol:`/${e.protocolPrefix??Tt.protocolPrefix}/${ka}/${Ka}`,log:t.logger.forComponent("libp2p:identify-push")}),this.connectionManager=t.connectionManager,this.concurrency=e.concurrency??Tt.concurrency,(e.runOnSelfUpdate??Tt.runOnSelfUpdate)&&t.events.addEventListener("self:peer:update",n=>{this.push().catch(o=>{this.log.error(o)})})}[Mr]=["@libp2p/identify-push"];async push(){if(!this.isStarted())return;let t=this.addressManager.getAddresses().map(u=>u.decapsulateCode(z("p2p").code)),e=new Vt({peerId:this.peerId,multiaddrs:t}),n=await $t.seal(e,this.privateKey),o=this.registrar.getProtocols(),s=await this.peerStore.get(this.peerId),i=K(s.metadata.get("AgentVersion")??H(this.host.agentVersion)),c=K(s.metadata.get("ProtocolVersion")??H(this.host.protocolVersion)),a=this;async function*f(){for(let u of a.connectionManager.getConnections())(await a.peerStore.get(u.remotePeer)).protocols.includes(a.protocol)&&(yield async()=>{let d,y=AbortSignal.timeout(a.timeout);try{d=await u.newStream(a.protocol,{signal:y,runOnLimitedConnection:a.runOnLimitedConnection}),await er(d,{maxDataLength:a.maxMessageSize}).pb(xe).write({listenAddrs:t.map(b=>b.bytes),signedPeerRecord:n.marshal(),protocols:o,agentVersion:i,protocolVersion:c},{signal:y}),await d.close({signal:y})}catch(m){a.log.error("could not push identify update to peer",m),d?.abort(m)}})}await Ra(ws(f(),{concurrency:this.concurrency}))}async handleProtocol(t){let{connection:e,stream:n}=t;try{if(this.peerId.equals(e.remotePeer))throw new Error("received push from ourselves?");let o={signal:AbortSignal.timeout(this.timeout)},i=await er(n,{maxDataLength:this.maxMessageSize}).pb(xe).read(o);await n.close(o),await Tn(this.peerStore,this.events,this.log,e,i)}catch(o){this.log.error("received invalid message",o),n.abort(o);return}this.log.trace("handled push from %p",e.remotePeer)}};var Nl=41;function Va(r){try{let[[t,e]]=r.stringTuples();if(e==null)return!1;if(t===Nl)return xa("2000::/3",e)}catch{}return!1}var Ha=mc(qa(),1),Ul=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],Dl=Ul.map(r=>new Ha.Netmask(r));function vs(r){for(let t of Dl)if(t.contains(r))return!0;return!1}function Ol(r){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(r)}function kl(r){let t=r.split(":");if(t.length<2)return!1;let e=t[t.length-1].padStart(4,"0"),n=t[t.length-2].padStart(4,"0"),o=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(e.substring(0,2),16)}.${parseInt(e.substring(2),16)}`;return vs(o)}function Ml(r){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)}function Kl(r){let t=r.split(":"),e=t[t.length-1];return vs(e)}function Fl(r){return/^::$/.test(r)||/^::1$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}function za(r){return Qe(r)?vs(r):Ol(r)?kl(r):Ml(r)?Kl(r):Je(r)?Fl(r):void 0}function Ga(r){try{let[[t]]=r.stringTuples();return t===4||t===41}catch{}return!1}function $a(r){try{if(!Ga(r))return!1;let[[,t]]=r.stringTuples();return t==null?!1:za(t)??!1}catch{}return!0}var Vl=r=>r.toString().split("/").slice(1),nr=r=>({match:t=>t.length<1?!1:r(t[0])?t.slice(1):!1,pattern:"fn"}),F=r=>({match:t=>nr(e=>e===r).match(t),pattern:r}),De=()=>({match:r=>nr(t=>typeof t=="string").match(r),pattern:"{string}"}),Rr=()=>({match:r=>nr(t=>!isNaN(parseInt(t))).match(r),pattern:"{number}"}),Y=()=>({match:r=>{if(r.length<2||r[0]!=="p2p"&&r[0]!=="ipfs")return!1;if(r[1].startsWith("Q")||r[1].startsWith("1"))try{X.decode(`z${r[1]}`)}catch{return!1}else return!1;return r.slice(2)},pattern:"/p2p/{peerid}"}),_r=()=>({match:r=>{if(r.length<2||r[0]!=="certhash")return!1;try{Lo.decode(r[1])}catch{return!1}return r.slice(2)},pattern:"/certhash/{certhash}"}),G=r=>({match:t=>{let e=r.match(t);return e===!1?t:e},pattern:`optional(${r.pattern})`}),xt=(...r)=>({match:t=>{let e;for(let n of r){let o=n.match(t);o!==!1&&(e==null||o.length<e.length)&&(e=o)}return e??!1},pattern:`or(${r.map(t=>t.pattern).join(", ")})`}),V=(...r)=>({match:t=>{for(let e of r){let n=e.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${r.map(t=>t.pattern).join(", ")})`});function rt(...r){function t(o){let s=Vl(o);for(let i of r){let c=i.match(s);if(c===!1)return!1;s=c}return s}function e(o){return t(o)!==!1}function n(o){let s=t(o);return s===!1?!1:s.length===0}return{matchers:r,matches:e,exactMatch:n}}var Cn=V(F("dns4"),De()),Rn=V(F("dns6"),De()),_n=V(F("dnsaddr"),De()),Is=V(F("dns"),De()),Db=rt(Cn,G(Y())),Ob=rt(Rn,G(Y())),kb=rt(_n,G(Y())),Mb=rt(xt(Is,_n,Cn,Rn),G(Y())),Za=V(F("ip4"),nr(Qe)),Wa=V(F("ip6"),nr(Je)),As=xt(Za,Wa),se=xt(As,Is,Cn,Rn,_n),Ya=rt(xt(As,V(xt(Is,_n,Cn,Rn),G(Y())))),Kb=rt(Za),Fb=rt(Wa),Vb=rt(As),Bs=V(se,F("tcp"),Rr()),Nr=V(se,F("udp"),Rr()),ja=rt(V(Bs,G(Y()))),qb=rt(Nr),Ts=V(Nr,F("quic"),G(Y())),Nn=V(Nr,F("quic-v1"),G(Y())),ql=xt(Ts,Nn),Hb=rt(Ts),zb=rt(Nn),Ss=xt(se,Bs,Nr,Ts,Nn),Xa=xt(V(Ss,F("ws"),G(Y()))),Gb=rt(Xa),Qa=xt(V(Ss,F("wss"),G(Y())),V(Ss,F("tls"),G(V(F("sni"),De())),F("ws"),G(Y()))),$b=rt(Qa),Ja=V(Nr,F("webrtc-direct"),G(_r()),G(_r()),G(Y())),Zb=rt(Ja),tc=V(Nn,F("webtransport"),G(_r()),G(_r()),G(Y())),Wb=rt(tc),Pn=xt(Xa,Qa,V(Bs,G(Y())),V(ql,G(Y())),V(se,G(Y())),Ja,tc,Y()),Yb=rt(Pn),Hl=V(Pn,F("p2p-circuit"),Y()),jb=rt(Hl),zl=xt(V(Pn,F("p2p-circuit"),F("webrtc"),G(Y())),V(Pn,F("webrtc"),G(Y())),V(F("webrtc"),G(Y()))),Xb=rt(zl),Gl=xt(V(se,F("tcp"),Rr(),F("http"),G(Y())),V(se,F("http"),G(Y()))),Qb=rt(Gl),$l=xt(V(se,F("tcp"),xt(V(F("443"),F("http")),V(Rr(),F("https"))),G(Y())),V(se,F("tls"),F("http"),G(Y())),V(se,F("https"),G(Y()))),Jb=rt($l),Zl=xt(V(F("memory"),De(),G(Y()))),tx=rt(Zl);var Wl=41,Un=class extends rr{constructor(t,e={}){super(t,{...e,protocol:`/${e.protocolPrefix??Tt.protocolPrefix}/${Oa}/${Ma}`,log:t.logger.forComponent("libp2p:identify")}),(e.runOnConnectionOpen??Tt.runOnConnectionOpen)&&t.events.addEventListener("connection:open",n=>{let o=n.detail;this.identify(o).catch(s=>{s.name!==kr.name&&this.log.error("error during identify trigged by connection:open",s)})})}[Mr]=["@libp2p/identify"];async _identify(t,e={}){let n;if(e.signal==null){let o=AbortSignal.timeout(this.timeout);e={...e,signal:o}}try{n=await t.newStream(this.protocol,{...e,runOnLimitedConnection:this.runOnLimitedConnection});let s=await er(n,{maxDataLength:this.maxMessageSize}).pb(xe).read(e);return await n.close(e),s}catch(o){throw n?.abort(o),o}}async identify(t,e={}){let n=await this._identify(t,e),{publicKey:o,protocols:s,observedAddr:i}=n;if(o==null)throw new _t("public key was missing from identify message");let c=Ye(o),a=hn(c.toCID());if(!t.remotePeer.equals(a))throw new _t("identified peer does not match the expected peer");if(this.peerId.equals(a))throw new _t("identified peer is our own peer id?");return this.maybeAddObservedAddress(i),this.log("identify completed for peer %p and protocols %o",a,s),Tn(this.peerStore,this.events,this.log,t,n)}maybeAddObservedAddress(t){let e=Fa(t);if(e==null)return;if(this.log.trace("our observed address was %a",e),$a(e)){this.log.trace("our observed address was private");return}if(e.stringTuples()[0][0]===Wl&&!Va(e)){this.log.trace("our observed address was IPv6 but not a global unicast address");return}ja.exactMatch(e)||(this.log.trace("storing the observed address"),this.addressManager.addObservedAddr(e))}async handleProtocol(t){let{connection:e,stream:n}=t,o=AbortSignal.timeout(this.timeout);try{let s=await this.peerStore.get(this.peerId),i=this.addressManager.getAddresses().map(u=>u.decapsulateCode(z("p2p").code)),c=s.peerRecordEnvelope;if(i.length>0&&c==null){let u=new Vt({peerId:this.peerId,multiaddrs:i});c=(await $t.seal(u,this.privateKey)).marshal().subarray()}let a=e.remoteAddr.bytes;Ya.matches(e.remoteAddr)||(a=void 0),await er(n).pb(xe).write({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:pe(this.privateKey.publicKey),listenAddrs:i.map(u=>u.bytes),signedPeerRecord:c,observedAddr:a,protocols:s.protocols},{signal:o}),await n.close({signal:o})}catch(s){this.log.error("could not respond to identify request",s),n.abort(s)}}};function Yl(r={}){return t=>new Un(t,r)}function jl(r={}){return t=>new Ln(t,r)}return gc(Xl);})();
|
|
2
|
+
"use strict";var Libp2PIdentify=(()=>{var xc=Object.create;var kr=Object.defineProperty;var wc=Object.getOwnPropertyDescriptor;var Ec=Object.getOwnPropertyNames;var vc=Object.getPrototypeOf,Ac=Object.prototype.hasOwnProperty;var Sc=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),vt=(r,t)=>{for(var e in t)kr(r,e,{get:t[e],enumerable:!0})},Gs=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ec(t))!Ac.call(r,o)&&o!==e&&kr(r,o,{get:()=>t[o],enumerable:!(n=wc(t,o))||n.enumerable});return r};var Ic=(r,t,e)=>(e=r!=null?xc(vc(r)):{},Gs(t||!r||!r.__esModule?kr(e,"default",{value:r,enumerable:!0}):e,r)),Bc=r=>Gs(kr({},"__esModule",{value:!0}),r);var Ja=Sc(Ur=>{(function(){var r,t,e,n,o,s,i,c;c=function(a){var f,u,l,d;return f=(a&255<<24)>>>24,u=(a&255<<16)>>>16,l=(a&65280)>>>8,d=a&255,[f,u,l,d].join(".")},i=function(a){var f,u,l,d,g,m;for(f=[],l=d=0;d<=3&&a.length!==0;l=++d){if(l>0){if(a[0]!==".")throw new Error("Invalid IP");a=a.substring(1)}m=t(a),g=m[0],u=m[1],a=a.substring(u),f.push(g)}if(a.length!==0)throw new Error("Invalid IP");switch(f.length){case 1:if(f[0]>4294967295)throw new Error("Invalid IP");return f[0]>>>0;case 2:if(f[0]>255||f[1]>16777215)throw new Error("Invalid IP");return(f[0]<<24|f[1])>>>0;case 3:if(f[0]>255||f[1]>255||f[2]>65535)throw new Error("Invalid IP");return(f[0]<<24|f[1]<<16|f[2])>>>0;case 4:if(f[0]>255||f[1]>255||f[2]>255||f[3]>255)throw new Error("Invalid IP");return(f[0]<<24|f[1]<<16|f[2]<<8|f[3])>>>0;default:throw new Error("Invalid IP")}},e=function(a){return a.charCodeAt(0)},n=e("0"),s=e("a"),o=e("A"),t=function(a){var f,u,l,d,g;for(d=0,f=10,u="9",l=0,a.length>1&&a[l]==="0"&&(a[l+1]==="x"||a[l+1]==="X"?(l+=2,f=16):"0"<=a[l+1]&&a[l+1]<="9"&&(l++,f=8,u="7")),g=l;l<a.length;){if("0"<=a[l]&&a[l]<=u)d=d*f+(e(a[l])-n)>>>0;else if(f===16)if("a"<=a[l]&&a[l]<="f")d=d*f+(10+e(a[l])-s)>>>0;else if("A"<=a[l]&&a[l]<="F")d=d*f+(10+e(a[l])-o)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");l++}if(l===g)throw new Error("empty octet");return[d,l]},r=function(){function a(f,u){var l,d,g,m;if(typeof f!="string")throw new Error("Missing `net' parameter");if(u||(m=f.split("/",2),f=m[0],u=m[1]),u||(u=32),typeof u=="string"&&u.indexOf(".")>-1){try{this.maskLong=i(u)}catch(b){throw l=b,new Error("Invalid mask: "+u)}for(d=g=32;g>=0;d=--g)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(u||u===0)this.bitmask=parseInt(u,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(i(f)&this.maskLong)>>>0}catch(b){throw l=b,new Error("Invalid net address: "+f)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+u);this.size=Math.pow(2,32-this.bitmask),this.base=c(this.netLong),this.mask=c(this.maskLong),this.hostmask=c(~this.maskLong),this.first=this.bitmask<=30?c(this.netLong+1):this.base,this.last=this.bitmask<=30?c(this.netLong+this.size-2):c(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?c(this.netLong+this.size-1):void 0}return a.prototype.contains=function(f){return typeof f=="string"&&(f.indexOf("/")>0||f.split(".").length!==4)&&(f=new a(f)),f instanceof a?this.contains(f.base)&&this.contains(f.broadcast||f.last):(i(f)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},a.prototype.next=function(f){return f==null&&(f=1),new a(c(this.netLong+this.size*f),this.mask)},a.prototype.forEach=function(f){var u,l,d;for(d=i(this.first),l=i(this.last),u=0;d<=l;)f(c(d),d,u),u++,d++},a.prototype.toString=function(){return this.base+"/"+this.bitmask},a}(),Ur.ip2long=i,Ur.long2ip=c,Ur.Netmask=r}).call(Ur)});var gd={};vt(gd,{identify:()=>md,identifyPush:()=>yd});var Mn=Symbol.for("@libp2p/peer-id");var ct=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},ke=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var Mr=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},Fr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}},Vr=class extends Error{static name="UnsupportedProtocolError";constructor(t="Unsupported protocol error"){super(t),this.name="UnsupportedProtocolError"}},Dt=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}};var ve=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var qr=Symbol.for("@libp2p/service-capabilities"),Ed=Symbol.for("@libp2p/service-dependencies");async function $s(r,t,e){let n=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["verify"]);return crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},n,t,e.subarray())}function mt(r=0){return new Uint8Array(r)}function St(r=0){return new Uint8Array(r)}function Lt(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=St(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function dt(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}var Ys=Symbol.for("@achingbrain/uint8arraylist");function Zs(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function Hr(r){return!!r?.[Ys]}var ot=class r{bufs;length;[Ys]=!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(Hr(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(Hr(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=Zs(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Zs(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(Hr(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:o}=this._subList(t,e);return Lt(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:Lt(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=[...n],s}_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=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],c=o,a=c+i.byteLength;if(o=a,t>=a)continue;let f=t>=c&&t<a,u=e>c&&e<=a;if(f&&u){if(t===c&&e===a){n.push(i);break}let l=t-c;n.push(i.subarray(l,l+(e-t)));break}if(f){if(t===0){n.push(i);continue}n.push(i.subarray(t-c));continue}if(u){if(e===a){n.push(i);break}n.push(i.subarray(0,e-c));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Hr(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 o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let l=0;l<s;l++)i[l]=-1;for(let l=0;l<o;l++)i[n[l]]=l;let c=i,a=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=e;l<=a;l+=u){u=0;for(let d=f;d>=0;d--){let g=this.get(l+d);if(n[d]!==g){u=Math.max(1,d-c[g]);break}}if(u===0)return l}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=St(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 o=mt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,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 o=mt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,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 o=mt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,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=St(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 o=mt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,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 o=mt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,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 o=mt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,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 o=mt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,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 o=mt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,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(!dt(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((o,s)=>o+s.byteLength,0)),n.length=e,n}};var zn={};vt(zn,{base10:()=>Dc});var rh=new Uint8Array(0);function Ws(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 Xt(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 js(r){return new TextEncoder().encode(r)}function Xs(r){return new TextDecoder().decode(r)}function Pc(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 o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var c=r.length,a=r.charAt(0),f=Math.log(c)/Math.log(256),u=Math.log(256)/Math.log(c);function l(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var b=0,h=0,E=0,A=m.length;E!==A&&m[E]===0;)E++,b++;for(var y=(A-E)*u+1>>>0,I=new Uint8Array(y);E!==A;){for(var _=m[E],C=0,B=y-1;(_!==0||C<h)&&B!==-1;B--,C++)_+=256*I[B]>>>0,I[B]=_%c>>>0,_=_/c>>>0;if(_!==0)throw new Error("Non-zero carry");h=C,E++}for(var L=y-h;L!==y&&I[L]===0;)L++;for(var P=a.repeat(b);L<y;++L)P+=r.charAt(I[L]);return P}function d(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var b=0;if(m[b]!==" "){for(var h=0,E=0;m[b]===a;)h++,b++;for(var A=(m.length-b)*f+1>>>0,y=new Uint8Array(A);m[b];){var I=e[m.charCodeAt(b)];if(I===255)return;for(var _=0,C=A-1;(I!==0||_<E)&&C!==-1;C--,_++)I+=c*y[C]>>>0,y[C]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");E=_,b++}if(m[b]!==" "){for(var B=A-E;B!==A&&y[B]===0;)B++;for(var L=new Uint8Array(h+(A-B)),P=h;B!==A;)L[P++]=y[B++];return L}}}function g(m){var b=d(m);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:g}}var Tc=Pc,Lc=Tc,Qs=Lc;var Fn=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")}},Vn=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return ti(this,t)}},qn=class{decoders;constructor(t){this.decoders=t}or(t){return ti(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 ti(r,t){return new qn({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Hn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Fn(t,e,n),this.decoder=new Vn(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Me({name:r,prefix:t,encode:e,decode:n}){return new Hn(r,t,e,n)}function ce({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=Qs(e,r);return Me({prefix:t,name:r,encode:n,decode:s=>Xt(o(s))})}function Cc(r,t,e,n){let o={};for(let u=0;u<t.length;++u)o[t[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*e/8|0),c=0,a=0,f=0;for(let u=0;u<s;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|l,c+=e,c>=8&&(c-=8,i[f++]=255&a>>c)}if(c>=e||(255&a<<8-c)!==0)throw new SyntaxError("Unexpected end of data");return i}function _c(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],i+=8;i>e;)i-=e,s+=t[o&c>>i];if(i!==0&&(s+=t[o&c<<e-i]),n)for(;(s.length*e&7)!==0;)s+="=";return s}function nt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return Me({prefix:t,name:r,encode(o){return _c(o,n,e)},decode(o){return Cc(o,n,e,r)}})}var Dc=ce({prefix:"9",name:"base10",alphabet:"0123456789"});var Gn={};vt(Gn,{base16:()=>Rc,base16upper:()=>Uc});var Rc=nt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Uc=nt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var $n={};vt($n,{base2:()=>Nc});var Nc=nt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Zn={};vt(Zn,{base256emoji:()=>Fc});var ei=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}"),Oc=ei.reduce((r,t,e)=>(r[e]=t,r),[]),Kc=ei.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function kc(r){return r.reduce((t,e)=>(t+=Oc[e],t),"")}function Mc(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=Kc[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var Fc=Me({prefix:"\u{1F680}",name:"base256emoji",encode:kc,decode:Mc});var Yn={};vt(Yn,{base32:()=>Jt,base32hex:()=>zc,base32hexpad:()=>$c,base32hexpadupper:()=>Zc,base32hexupper:()=>Gc,base32pad:()=>qc,base32padupper:()=>Hc,base32upper:()=>Vc,base32z:()=>Yc});var Jt=nt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Vc=nt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),qc=nt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Hc=nt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),zc=nt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Gc=nt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),$c=nt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Zc=nt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Yc=nt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Wn={};vt(Wn,{base36:()=>cr,base36upper:()=>Wc});var cr=ce({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Wc=ce({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var jn={};vt(jn,{base58btc:()=>j,base58flickr:()=>jc});var j=ce({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),jc=ce({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Jn={};vt(Jn,{base64:()=>Xc,base64pad:()=>Jc,base64url:()=>Xn,base64urlpad:()=>Qc});var Xc=nt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Jc=nt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Xn=nt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Qc=nt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qn={};vt(Qn,{base8:()=>tu});var tu=nt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var to={};vt(to,{identity:()=>eu});var eu=Me({prefix:"\0",name:"identity",encode:r=>Xs(r),decode:r=>js(r)});var bh=new TextEncoder,xh=new TextDecoder;var ro={};vt(ro,{identity:()=>Ut});var ou=oi,ri=128,su=127,iu=~su,au=Math.pow(2,31);function oi(r,t,e){t=t||[],e=e||0;for(var n=e;r>=au;)t[e++]=r&255|ri,r/=128;for(;r&iu;)t[e++]=r&255|ri,r>>>=7;return t[e]=r|0,oi.bytes=e-n+1,t}var cu=eo,uu=128,ni=127;function eo(r,n){var e=0,n=n||0,o=0,s=n,i,c=r.length;do{if(s>=c)throw eo.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&ni)<<o:(i&ni)*Math.pow(2,o),o+=7}while(i>=uu);return eo.bytes=s-n,e}var fu=Math.pow(2,7),lu=Math.pow(2,14),du=Math.pow(2,21),hu=Math.pow(2,28),pu=Math.pow(2,35),mu=Math.pow(2,42),yu=Math.pow(2,49),gu=Math.pow(2,56),bu=Math.pow(2,63),xu=function(r){return r<fu?1:r<lu?2:r<du?3:r<hu?4:r<pu?5:r<mu?6:r<yu?7:r<gu?8:r<bu?9:10},wu={encode:ou,decode:cu,encodingLength:xu},Eu=wu,ur=Eu;function fr(r,t=0){return[ur.decode(r,t),ur.decode.bytes]}function Fe(r,t,e=0){return ur.encode(r,t,e),t}function Ve(r){return ur.encodingLength(r)}function Rt(r,t){let e=t.byteLength,n=Ve(r),o=n+Ve(e),s=new Uint8Array(o+e);return Fe(r,s,0),Fe(e,s,n),s.set(t,o),new qe(r,e,t,s)}function Ae(r){let t=Xt(r),[e,n]=fr(t),[o,s]=fr(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new qe(e,o,i,t)}function si(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ws(r.bytes,e.bytes)}}var qe=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var ii=0,vu="identity",ai=Xt;function Au(r){return Rt(ii,ai(r))}var Ut={code:ii,name:vu,encode:ai,digest:Au};var so={};vt(so,{sha256:()=>lr,sha512:()=>Su});function oo({name:r,code:t,encode:e}){return new no(r,t,e)}var no=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?Rt(this.code,e):e.then(n=>Rt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function ui(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var lr=oo({name:"sha2-256",code:18,encode:ui("SHA-256")}),Su=oo({name:"sha2-512",code:19,encode:ui("SHA-512")});function fi(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Bu(e,io(r),t??j.encoder);default:return Pu(e,io(r),t??Jt.encoder)}}var li=new WeakMap;function io(r){let t=li.get(r);if(t==null){let e=new Map;return li.set(r,e),e}return t}var it=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==dr)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=Rt(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&&si(t.multihash,n.multihash)}toString(t){return fi(this,t)}toJSON(){return{"/":fi(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:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??di(n,o,s.bytes))}else if(e[Lu]===!0){let{version:n,multihash:o,code:s}=e,i=Ae(o);return r.create(n,s,i)}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!==dr)throw new Error(`Version 0 CID must use dag-pb (code: ${dr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=di(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,dr,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,o=Xt(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new qe(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,d]=fr(t.subarray(e));return e+=d,l},o=n(),s=dr;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,c=n(),a=n(),f=e+a,u=f-i;return{version:o,codec:s,multihashCode:c,digestSize:a,multihashSize:u,size:f}}static parse(t,e){let[n,o]=Iu(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return io(s).set(n,t),s}};function Iu(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 Jt.prefix:{let e=t??Jt;return[Jt.prefix,e.decode(r)]}case cr.prefix:{let e=t??cr;return[cr.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 Bu(r,t,e){let{prefix:n}=e;if(n!==j.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function Pu(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var dr=112,Tu=18;function di(r,t,e){let n=Ve(r),o=n+Ve(t),s=new Uint8Array(o+e.byteLength);return Fe(r,s,0),Fe(t,s,n),s.set(e,o),s}var Lu=Symbol.for("@ipld/js-cid/CID");var hr={...to,...$n,...Qn,...zn,...Gn,...Yn,...Wn,...jn,...Jn,...Zn},Vh={...so,...ro};function pi(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var hi=pi("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),ao=pi("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=St(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Cu={utf8:hi,"utf-8":hi,hex:hr.base16,latin1:ao,ascii:ao,binary:ao,...hr},Gr=Cu;function M(r,t="utf8"){let e=Gr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function N(r,t="utf8"){let e=Gr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var _u=parseInt("11111",2),co=parseInt("10000000",2),Du=parseInt("01111111",2),mi={0:pr,1:pr,2:Ru,3:Ou,4:Ku,5:Nu,6:Uu,16:pr,22:pr,48:pr};function Qt(r,t={offset:0}){let e=r[t.offset]&_u;if(t.offset++,mi[e]!=null)return mi[e](r,t);throw new Error("No decoder for tag "+e)}function mr(r,t){let e=0;if((r[t.offset]&co)===co){let n=r[t.offset]&Du,o="0x";t.offset++;for(let s=0;s<n;s++,t.offset++)o+=r[t.offset].toString(16).padStart(2,"0");e=parseInt(o,16)}else e=r[t.offset],t.offset++;return e}function pr(r,t){mr(r,t);let e=[];for(;!(t.offset>=r.byteLength);){let n=Qt(r,t);if(n===null)break;e.push(n)}return e}function Ru(r,t){let e=mr(r,t),n=t.offset,o=t.offset+e,s=[];for(let i=n;i<o;i++)i===n&&r[i]===0||s.push(r[i]);return t.offset+=e,Uint8Array.from(s)}function Uu(r,t){let e=mr(r,t),n=t.offset+e,o=r[t.offset];t.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let c=`${s}.${i}`,a=[];for(;t.offset<n;){let f=r[t.offset];if(t.offset++,a.push(f&127),f<128){a.reverse();let u=0;for(let l=0;l<a.length;l++)u+=a[l]<<l*7;c+=`.${u}`,a=[]}}return c}function Nu(r,t){return t.offset++,null}function Ou(r,t){let e=mr(r,t),n=r[t.offset];t.offset++;let o=r.subarray(t.offset,t.offset+e-1);if(t.offset+=e,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function Ku(r,t){let e=mr(r,t),n=r.subarray(t.offset,t.offset+e);return t.offset+=e,n}function ku(r){let t=r.toString(16);t.length%2===1&&(t="0"+t);let e=new ot;for(let n=0;n<t.length;n+=2)e.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return e}function uo(r){if(r.byteLength<128)return Uint8Array.from([r.byteLength]);let t=ku(r.byteLength);return new ot(Uint8Array.from([t.byteLength|co]),t)}function It(r){let t=new ot,e=128;return(r.subarray()[0]&e)===e&&t.append(Uint8Array.from([0])),t.append(r),new ot(Uint8Array.from([2]),uo(t),t)}function $r(r){let t=Uint8Array.from([0]),e=new ot(t,r);return new ot(Uint8Array.from([3]),uo(e),e)}function fe(r,t=48){let e=new ot;for(let n of r)e.append(n);return new ot(Uint8Array.from([t]),uo(e),e)}var He=class{type="ECDSA";raw;_key;constructor(t){this._key=t,this.raw=yi(t)}toMultihash(){return Ut.digest(Gt(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:dt(this.raw,t.raw)}async verify(t,e){return $s(this._key,e,t)}};var Mu=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),Fu=Uint8Array.from([6,5,43,129,4,0,34]),Vu=Uint8Array.from([6,5,43,129,4,0,35]),qu={ext:!0,kty:"EC",crv:"P-256"},Hu={ext:!0,kty:"EC",crv:"P-384"},zu={ext:!0,kty:"EC",crv:"P-521"},fo=32,lo=48,ho=66;function po(r){let t=Qt(r);return gi(t)}function gi(r){let t=r[1][1][0],e=1,n,o;if(t.byteLength===fo*2+1)return n=N(t.subarray(e,e+fo),"base64url"),o=N(t.subarray(e+fo),"base64url"),new He({...qu,key_ops:["verify"],x:n,y:o});if(t.byteLength===lo*2+1)return n=N(t.subarray(e,e+lo),"base64url"),o=N(t.subarray(e+lo),"base64url"),new He({...Hu,key_ops:["verify"],x:n,y:o});if(t.byteLength===ho*2+1)return n=N(t.subarray(e,e+ho),"base64url"),o=N(t.subarray(e+ho),"base64url"),new He({...zu,key_ops:["verify"],x:n,y:o});throw new ct(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function yi(r){return fe([It(Uint8Array.from([1])),fe([Gu(r.crv)],160),fe([$r(new ot(Uint8Array.from([4]),M(r.x??"","base64url"),M(r.y??"","base64url")))],161)]).subarray()}function Gu(r){if(r==="P-256")return Mu;if(r==="P-384")return Fu;if(r==="P-521")return Vu;throw new ct(`Invalid curve ${r}`)}function bi(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function $u(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function ze(r,...t){if(!$u(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error("Uint8Array expected of length "+t+", got length="+r.length)}function xi(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");bi(r.outputLen),bi(r.blockLen)}function Ge(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 wi(r,t){ze(r);let e=t.outputLen;if(r.length<e)throw new Error("digestInto() expects output buffer of length at least "+e)}var Se=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Zr(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function Nt(r,t){return r<<32-t|r>>>t}function Ei(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function yr(r){return typeof r=="string"&&(r=Ei(r)),ze(r),r}function mo(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];ze(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}var $e=class{clone(){return this._cloneInto()}};function Yr(r){let t=n=>r().update(yr(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function Wr(r=32){if(Se&&typeof Se.getRandomValues=="function")return Se.getRandomValues(new Uint8Array(r));if(Se&&typeof Se.randomBytes=="function")return Se.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function Zu(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(e>>o&s),c=Number(e&s),a=n?4:0,f=n?0:4;r.setUint32(t+a,i,n),r.setUint32(t+f,c,n)}function vi(r,t,e){return r&t^~r&e}function Ai(r,t,e){return r&t^r&e^t&e}var Ze=class extends $e{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Zr(this.buffer)}update(t){Ge(this);let{view:e,buffer:n,blockLen:o}=this;t=yr(t);let s=t.length;for(let i=0;i<s;){let c=Math.min(o-this.pos,s-i);if(c===o){let a=Zr(t);for(;o<=s-i;i+=o)this.process(a,i);continue}n.set(t.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===o&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ge(this),wi(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;e[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)e[l]=0;Zu(n,o-8,BigInt(this.length*8),s),this.process(n,0);let c=Zr(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=a/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)c.setUint32(4*l,u[l],s)}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:o,finished:s,destroyed:i,pos:c}=this;return t.length=o,t.pos=c,t.finished=s,t.destroyed=i,o%e&&t.buffer.set(n),t}};var jr=BigInt(4294967295),yo=BigInt(32);function Si(r,t=!1){return t?{h:Number(r&jr),l:Number(r>>yo&jr)}:{h:Number(r>>yo&jr)|0,l:Number(r&jr)|0}}function Yu(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:s,l:i}=Si(r[o],t);[e[o],n[o]]=[s,i]}return[e,n]}var Wu=(r,t)=>BigInt(r>>>0)<<yo|BigInt(t>>>0),ju=(r,t,e)=>r>>>e,Xu=(r,t,e)=>r<<32-e|t>>>e,Ju=(r,t,e)=>r>>>e|t<<32-e,Qu=(r,t,e)=>r<<32-e|t>>>e,tf=(r,t,e)=>r<<64-e|t>>>e-32,ef=(r,t,e)=>r>>>e-32|t<<64-e,rf=(r,t)=>t,nf=(r,t)=>r,of=(r,t,e)=>r<<e|t>>>32-e,sf=(r,t,e)=>t<<e|r>>>32-e,af=(r,t,e)=>t<<e-32|r>>>64-e,cf=(r,t,e)=>r<<e-32|t>>>64-e;function uf(r,t,e,n){let o=(t>>>0)+(n>>>0);return{h:r+e+(o/2**32|0)|0,l:o|0}}var ff=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),lf=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,df=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),hf=(r,t,e,n,o)=>t+e+n+o+(r/2**32|0)|0,pf=(r,t,e,n,o)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),mf=(r,t,e,n,o,s)=>t+e+n+o+s+(r/2**32|0)|0;var yf={fromBig:Si,split:Yu,toBig:Wu,shrSH:ju,shrSL:Xu,rotrSH:Ju,rotrSL:Qu,rotrBH:tf,rotrBL:ef,rotr32H:rf,rotr32L:nf,rotlSH:of,rotlSL:sf,rotlBH:af,rotlBL:cf,add:uf,add3L:ff,add3H:lf,add4L:df,add4H:hf,add5H:mf,add5L:pf},O=yf;var[gf,bf]=O.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))),le=new Uint32Array(80),de=new Uint32Array(80),go=class extends Ze{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:o,Ch:s,Cl:i,Dh:c,Dl:a,Eh:f,El:u,Fh:l,Fl:d,Gh:g,Gl:m,Hh:b,Hl:h}=this;return[t,e,n,o,s,i,c,a,f,u,l,d,g,m,b,h]}set(t,e,n,o,s,i,c,a,f,u,l,d,g,m,b,h){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=c|0,this.Dl=a|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=d|0,this.Gh=g|0,this.Gl=m|0,this.Hh=b|0,this.Hl=h|0}process(t,e){for(let y=0;y<16;y++,e+=4)le[y]=t.getUint32(e),de[y]=t.getUint32(e+=4);for(let y=16;y<80;y++){let I=le[y-15]|0,_=de[y-15]|0,C=O.rotrSH(I,_,1)^O.rotrSH(I,_,8)^O.shrSH(I,_,7),B=O.rotrSL(I,_,1)^O.rotrSL(I,_,8)^O.shrSL(I,_,7),L=le[y-2]|0,P=de[y-2]|0,J=O.rotrSH(L,P,19)^O.rotrBH(L,P,61)^O.shrSH(L,P,6),H=O.rotrSL(L,P,19)^O.rotrBL(L,P,61)^O.shrSL(L,P,6),k=O.add4L(B,H,de[y-7],de[y-16]),at=O.add4H(k,C,J,le[y-7],le[y-16]);le[y]=at|0,de[y]=k|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:c,Cl:a,Dh:f,Dl:u,Eh:l,El:d,Fh:g,Fl:m,Gh:b,Gl:h,Hh:E,Hl:A}=this;for(let y=0;y<80;y++){let I=O.rotrSH(l,d,14)^O.rotrSH(l,d,18)^O.rotrBH(l,d,41),_=O.rotrSL(l,d,14)^O.rotrSL(l,d,18)^O.rotrBL(l,d,41),C=l&g^~l&b,B=d&m^~d&h,L=O.add5L(A,_,B,bf[y],de[y]),P=O.add5H(L,E,I,C,gf[y],le[y]),J=L|0,H=O.rotrSH(n,o,28)^O.rotrBH(n,o,34)^O.rotrBH(n,o,39),k=O.rotrSL(n,o,28)^O.rotrBL(n,o,34)^O.rotrBL(n,o,39),at=n&s^n&c^s&c,v=o&i^o&a^i&a;E=b|0,A=h|0,b=g|0,h=m|0,g=l|0,m=d|0,{h:l,l:d}=O.add(f|0,u|0,P|0,J|0),f=c|0,u=a|0,c=s|0,a=i|0,s=n|0,i=o|0;let T=O.add3L(J,k,v);n=O.add3H(T,P,H,at),o=T|0}({h:n,l:o}=O.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=O.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:c,l:a}=O.add(this.Ch|0,this.Cl|0,c|0,a|0),{h:f,l:u}=O.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:d}=O.add(this.Eh|0,this.El|0,l|0,d|0),{h:g,l:m}=O.add(this.Fh|0,this.Fl|0,g|0,m|0),{h:b,l:h}=O.add(this.Gh|0,this.Gl|0,b|0,h|0),{h:E,l:A}=O.add(this.Hh|0,this.Hl|0,E|0,A|0),this.set(n,o,s,i,c,a,f,u,l,d,g,m,b,h,E,A)}roundClean(){le.fill(0),de.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 Ii=Yr(()=>new go);var Qr={};vt(Qr,{aInRange:()=>Bt,abool:()=>Ot,abytes:()=>Ye,bitGet:()=>Sf,bitLen:()=>Eo,bitMask:()=>br,bitSet:()=>If,bytesToHex:()=>ee,bytesToNumberBE:()=>re,bytesToNumberLE:()=>pe,concatBytes:()=>ne,createHmacDrbg:()=>vo,ensureBytes:()=>et,equalBytes:()=>vf,hexToBytes:()=>Be,hexToNumber:()=>wo,inRange:()=>gr,isBytes:()=>he,memoized:()=>Te,notImplemented:()=>Pf,numberToBytesBE:()=>me,numberToBytesLE:()=>Pe,numberToHexUnpadded:()=>Ie,numberToVarBytesBE:()=>Ef,utf8ToBytes:()=>Af,validateObject:()=>$t});var Xr=BigInt(0),Jr=BigInt(1),xf=BigInt(2);function he(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Ye(r){if(!he(r))throw new Error("Uint8Array expected")}function Ot(r,t){if(typeof t!="boolean")throw new Error(r+" boolean expected, got "+t)}var wf=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function ee(r){Ye(r);let t="";for(let e=0;e<r.length;e++)t+=wf[r[e]];return t}function Ie(r){let t=r.toString(16);return t.length&1?"0"+t:t}function wo(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?Xr:BigInt("0x"+r)}var te={_0:48,_9:57,A:65,F:70,a:97,f:102};function Bi(r){if(r>=te._0&&r<=te._9)return r-te._0;if(r>=te.A&&r<=te.F)return r-(te.A-10);if(r>=te.a&&r<=te.f)return r-(te.a-10)}function Be(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("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,s=0;o<e;o++,s+=2){let i=Bi(r.charCodeAt(s)),c=Bi(r.charCodeAt(s+1));if(i===void 0||c===void 0){let a=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+a+'" at index '+s)}n[o]=i*16+c}return n}function re(r){return wo(ee(r))}function pe(r){return Ye(r),wo(ee(Uint8Array.from(r).reverse()))}function me(r,t){return Be(r.toString(16).padStart(t*2,"0"))}function Pe(r,t){return me(r,t).reverse()}function Ef(r){return Be(Ie(r))}function et(r,t,e){let n;if(typeof t=="string")try{n=Be(t)}catch(s){throw new Error(r+" must be hex string or Uint8Array, cause: "+s)}else if(he(t))n=Uint8Array.from(t);else throw new Error(r+" must be hex string or Uint8Array");let o=n.length;if(typeof e=="number"&&o!==e)throw new Error(r+" of length "+e+" expected, got "+o);return n}function ne(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];Ye(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}function vf(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 Af(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}var bo=r=>typeof r=="bigint"&&Xr<=r;function gr(r,t,e){return bo(r)&&bo(t)&&bo(e)&&t<=r&&r<e}function Bt(r,t,e,n){if(!gr(t,e,n))throw new Error("expected valid "+r+": "+e+" <= n < "+n+", got "+t)}function Eo(r){let t;for(t=0;r>Xr;r>>=Jr,t+=1);return t}function Sf(r,t){return r>>BigInt(t)&Jr}function If(r,t,e){return r|(e?Jr:Xr)<<BigInt(t)}var br=r=>(xf<<BigInt(r-1))-Jr,xo=r=>new Uint8Array(r),Pi=r=>Uint8Array.from(r);function vo(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=xo(r),o=xo(r),s=0,i=()=>{n.fill(1),o.fill(0),s=0},c=(...l)=>e(o,n,...l),a=(l=xo())=>{o=c(Pi([0]),l),n=c(),l.length!==0&&(o=c(Pi([1]),l),n=c())},f=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=c();let g=n.slice();d.push(g),l+=n.length}return ne(...d)};return(l,d)=>{i(),a(l);let g;for(;!(g=d(f()));)a();return i(),g}}var Bf={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"||he(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 $t(r,t,e={}){let n=(o,s,i)=>{let c=Bf[s];if(typeof c!="function")throw new Error("invalid validator function");let a=r[o];if(!(i&&a===void 0)&&!c(a,r))throw new Error("param "+String(o)+" is invalid. Expected "+s+", got "+a)};for(let[o,s]of Object.entries(t))n(o,s,!1);for(let[o,s]of Object.entries(e))n(o,s,!0);return r}var Pf=()=>{throw new Error("not implemented")};function Te(r){let t=new WeakMap;return(e,...n)=>{let o=t.get(e);if(o!==void 0)return o;let s=r(e,...n);return t.set(e,s),s}}var ut=BigInt(0),Q=BigInt(1),Le=BigInt(2),Tf=BigInt(3),Ao=BigInt(4),Ti=BigInt(5),Li=BigInt(8),Lf=BigInt(9),Cf=BigInt(16);function Y(r,t){let e=r%t;return e>=ut?e:t+e}function _f(r,t,e){if(t<ut)throw new Error("invalid exponent, negatives unsupported");if(e<=ut)throw new Error("invalid modulus");if(e===Q)return ut;let n=Q;for(;t>ut;)t&Q&&(n=n*r%e),r=r*r%e,t>>=Q;return n}function tt(r,t,e){let n=r;for(;t-- >ut;)n*=n,n%=e;return n}function tn(r,t){if(r===ut)throw new Error("invert: expected non-zero number");if(t<=ut)throw new Error("invert: expected positive modulus, got "+t);let e=Y(r,t),n=t,o=ut,s=Q,i=Q,c=ut;for(;e!==ut;){let f=n/e,u=n%e,l=o-i*f,d=s-c*f;n=e,e=u,o=i,s=c,i=l,c=d}if(n!==Q)throw new Error("invert: does not exist");return Y(o,t)}function Df(r){let t=(r-Q)/Le,e,n,o;for(e=r-Q,n=0;e%Le===ut;e/=Le,n++);for(o=Le;o<r&&_f(o,t,r)!==r-Q;o++)if(o>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){let i=(r+Q)/Ao;return function(a,f){let u=a.pow(f,i);if(!a.eql(a.sqr(u),f))throw new Error("Cannot find square root");return u}}let s=(e+Q)/Le;return function(c,a){if(c.pow(a,t)===c.neg(c.ONE))throw new Error("Cannot find square root");let f=n,u=c.pow(c.mul(c.ONE,o),e),l=c.pow(a,s),d=c.pow(a,e);for(;!c.eql(d,c.ONE);){if(c.eql(d,c.ZERO))return c.ZERO;let g=1;for(let b=c.sqr(d);g<f&&!c.eql(b,c.ONE);g++)b=c.sqr(b);let m=c.pow(u,Q<<BigInt(f-g-1));u=c.sqr(m),l=c.mul(l,m),d=c.mul(d,u),f=g}return l}}function Rf(r){if(r%Ao===Tf){let t=(r+Q)/Ao;return function(n,o){let s=n.pow(o,t);if(!n.eql(n.sqr(s),o))throw new Error("Cannot find square root");return s}}if(r%Li===Ti){let t=(r-Ti)/Li;return function(n,o){let s=n.mul(o,Le),i=n.pow(s,t),c=n.mul(o,i),a=n.mul(n.mul(c,Le),i),f=n.mul(c,n.sub(a,n.ONE));if(!n.eql(n.sqr(f),o))throw new Error("Cannot find square root");return f}}return r%Cf,Df(r)}var Ci=(r,t)=>(Y(r,t)&Q)===Q,Uf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function So(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Uf.reduce((n,o)=>(n[o]="function",n),t);return $t(r,e)}function Nf(r,t,e){if(e<ut)throw new Error("invalid exponent, negatives unsupported");if(e===ut)return r.ONE;if(e===Q)return t;let n=r.ONE,o=t;for(;e>ut;)e&Q&&(n=r.mul(n,o)),o=r.sqr(o),e>>=Q;return n}function Of(r,t){let e=new Array(t.length),n=t.reduce((s,i,c)=>r.is0(i)?s:(e[c]=s,r.mul(s,i)),r.ONE),o=r.inv(n);return t.reduceRight((s,i,c)=>r.is0(i)?s:(e[c]=r.mul(s,e[c]),r.mul(s,i)),o),e}function Io(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function ye(r,t,e=!1,n={}){if(r<=ut)throw new Error("invalid field: expected ORDER > 0, got "+r);let{nBitLength:o,nByteLength:s}=Io(r,t);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let i,c=Object.freeze({ORDER:r,isLE:e,BITS:o,BYTES:s,MASK:br(o),ZERO:ut,ONE:Q,create:a=>Y(a,r),isValid:a=>{if(typeof a!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof a);return ut<=a&&a<r},is0:a=>a===ut,isOdd:a=>(a&Q)===Q,neg:a=>Y(-a,r),eql:(a,f)=>a===f,sqr:a=>Y(a*a,r),add:(a,f)=>Y(a+f,r),sub:(a,f)=>Y(a-f,r),mul:(a,f)=>Y(a*f,r),pow:(a,f)=>Nf(c,a,f),div:(a,f)=>Y(a*tn(f,r),r),sqrN:a=>a*a,addN:(a,f)=>a+f,subN:(a,f)=>a-f,mulN:(a,f)=>a*f,inv:a=>tn(a,r),sqrt:n.sqrt||(a=>(i||(i=Rf(r)),i(c,a))),invertBatch:a=>Of(c,a),cmov:(a,f,u)=>u?f:a,toBytes:a=>e?Pe(a,s):me(a,s),fromBytes:a=>{if(a.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+a.length);return e?pe(a):re(a)}});return Object.freeze(c)}function _i(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 Bo(r){let t=_i(r);return t+Math.ceil(t/2)}function Di(r,t,e=!1){let n=r.length,o=_i(t),s=Bo(t);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=e?pe(r):re(r),c=Y(i,t-Q)+Q;return e?Pe(c,o):me(c,o)}var Ri=BigInt(0),en=BigInt(1);function Po(r,t){let e=t.negate();return r?e:t}function Ui(r,t){if(!Number.isSafeInteger(r)||r<=0||r>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+r)}function To(r,t){Ui(r,t);let e=Math.ceil(t/r)+1,n=2**(r-1);return{windows:e,windowSize:n}}function Kf(r,t){if(!Array.isArray(r))throw new Error("array expected");r.forEach((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)})}function kf(r,t){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)})}var Lo=new WeakMap,Ni=new WeakMap;function Co(r){return Ni.get(r)||1}function rn(r,t){return{constTimeNegate:Po,hasPrecomputes(e){return Co(e)!==1},unsafeLadder(e,n,o=r.ZERO){let s=e;for(;n>Ri;)n&en&&(o=o.add(s)),s=s.double(),n>>=en;return o},precomputeWindow(e,n){let{windows:o,windowSize:s}=To(n,t),i=[],c=e,a=c;for(let f=0;f<o;f++){a=c,i.push(a);for(let u=1;u<s;u++)a=a.add(c),i.push(a);c=a.double()}return i},wNAF(e,n,o){let{windows:s,windowSize:i}=To(e,t),c=r.ZERO,a=r.BASE,f=BigInt(2**e-1),u=2**e,l=BigInt(e);for(let d=0;d<s;d++){let g=d*i,m=Number(o&f);o>>=l,m>i&&(m-=u,o+=en);let b=g,h=g+Math.abs(m)-1,E=d%2!==0,A=m<0;m===0?a=a.add(Po(E,n[b])):c=c.add(Po(A,n[h]))}return{p:c,f:a}},wNAFUnsafe(e,n,o,s=r.ZERO){let{windows:i,windowSize:c}=To(e,t),a=BigInt(2**e-1),f=2**e,u=BigInt(e);for(let l=0;l<i;l++){let d=l*c;if(o===Ri)break;let g=Number(o&a);if(o>>=u,g>c&&(g-=f,o+=en),g===0)continue;let m=n[d+Math.abs(g)-1];g<0&&(m=m.negate()),s=s.add(m)}return s},getPrecomputes(e,n,o){let s=Lo.get(n);return s||(s=this.precomputeWindow(n,e),e!==1&&Lo.set(n,o(s))),s},wNAFCached(e,n,o){let s=Co(e);return this.wNAF(s,this.getPrecomputes(s,e,o),n)},wNAFCachedUnsafe(e,n,o,s){let i=Co(e);return i===1?this.unsafeLadder(e,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,e,o),n,s)},setWindowSize(e,n){Ui(n,t),Ni.set(e,n),Lo.delete(e)}}}function nn(r,t,e,n){if(Kf(e,r),kf(n,t),e.length!==n.length)throw new Error("arrays of points and scalars must have equal length");let o=r.ZERO,s=Eo(BigInt(e.length)),i=s>12?s-3:s>4?s-2:s?2:1,c=(1<<i)-1,a=new Array(c+1).fill(o),f=Math.floor((t.BITS-1)/i)*i,u=o;for(let l=f;l>=0;l-=i){a.fill(o);for(let g=0;g<n.length;g++){let m=n[g],b=Number(m>>BigInt(l)&BigInt(c));a[b]=a[b].add(e[g])}let d=o;for(let g=a.length-1,m=o;g>0;g--)m=m.add(a[g]),d=d.add(m);if(u=u.add(d),l!==0)for(let g=0;g<i;g++)u=u.double()}return u}function xr(r){return So(r.Fp),$t(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Io(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Kt=BigInt(0),Pt=BigInt(1),on=BigInt(2),Mf=BigInt(8),Ff={zip215:!0};function Vf(r){let t=xr(r);return $t(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Oi(r){let t=Vf(r),{Fp:e,n,prehash:o,hash:s,randomBytes:i,nByteLength:c,h:a}=t,f=on<<BigInt(c*8)-Pt,u=e.create,l=ye(t.n,t.nBitLength),d=t.uvRatio||((x,p)=>{try{return{isValid:!0,value:e.sqrt(x*e.inv(p))}}catch{return{isValid:!1,value:Kt}}}),g=t.adjustScalarBytes||(x=>x),m=t.domain||((x,p,w)=>{if(Ot("phflag",w),p.length||w)throw new Error("Contexts/pre-hash are not supported");return x});function b(x,p){Bt("coordinate "+x,p,Kt,f)}function h(x){if(!(x instanceof y))throw new Error("ExtendedPoint expected")}let E=Te((x,p)=>{let{ex:w,ey:S,ez:D}=x,R=x.is0();p==null&&(p=R?Mf:e.inv(D));let K=u(w*p),F=u(S*p),U=u(D*p);if(R)return{x:Kt,y:Pt};if(U!==Pt)throw new Error("invZ was invalid");return{x:K,y:F}}),A=Te(x=>{let{a:p,d:w}=t;if(x.is0())throw new Error("bad point: ZERO");let{ex:S,ey:D,ez:R,et:K}=x,F=u(S*S),U=u(D*D),Z=u(R*R),X=u(Z*Z),ft=u(F*p),lt=u(Z*u(ft+U)),pt=u(X+u(w*u(F*U)));if(lt!==pt)throw new Error("bad point: equation left != right (1)");let yt=u(S*D),At=u(R*K);if(yt!==At)throw new Error("bad point: equation left != right (2)");return!0});class y{constructor(p,w,S,D){this.ex=p,this.ey=w,this.ez=S,this.et=D,b("x",p),b("y",w),b("z",S),b("t",D),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(p){if(p instanceof y)throw new Error("extended point not allowed");let{x:w,y:S}=p||{};return b("x",w),b("y",S),new y(w,S,Pt,u(w*S))}static normalizeZ(p){let w=e.invertBatch(p.map(S=>S.ez));return p.map((S,D)=>S.toAffine(w[D])).map(y.fromAffine)}static msm(p,w){return nn(y,l,p,w)}_setWindowSize(p){C.setWindowSize(this,p)}assertValidity(){A(this)}equals(p){h(p);let{ex:w,ey:S,ez:D}=this,{ex:R,ey:K,ez:F}=p,U=u(w*F),Z=u(R*D),X=u(S*F),ft=u(K*D);return U===Z&&X===ft}is0(){return this.equals(y.ZERO)}negate(){return new y(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:p}=t,{ex:w,ey:S,ez:D}=this,R=u(w*w),K=u(S*S),F=u(on*u(D*D)),U=u(p*R),Z=w+S,X=u(u(Z*Z)-R-K),ft=U+K,lt=ft-F,pt=U-K,yt=u(X*lt),At=u(ft*pt),Et=u(X*pt),zt=u(lt*ft);return new y(yt,At,zt,Et)}add(p){h(p);let{a:w,d:S}=t,{ex:D,ey:R,ez:K,et:F}=this,{ex:U,ey:Z,ez:X,et:ft}=p;if(w===BigInt(-1)){let ks=u((R-D)*(Z+U)),Ms=u((R+D)*(Z-U)),kn=u(Ms-ks);if(kn===Kt)return this.double();let Fs=u(K*on*ft),Vs=u(F*on*X),qs=Vs+Fs,Hs=Ms+ks,zs=Vs-Fs,mc=u(qs*kn),yc=u(Hs*zs),gc=u(qs*zs),bc=u(kn*Hs);return new y(mc,yc,bc,gc)}let lt=u(D*U),pt=u(R*Z),yt=u(F*S*ft),At=u(K*X),Et=u((D+R)*(U+Z)-lt-pt),zt=At-yt,jt=At+yt,ar=u(pt-w*lt),lc=u(Et*zt),dc=u(jt*ar),hc=u(Et*ar),pc=u(zt*jt);return new y(lc,dc,pc,hc)}subtract(p){return this.add(p.negate())}wNAF(p){return C.wNAFCached(this,p,y.normalizeZ)}multiply(p){let w=p;Bt("scalar",w,Pt,n);let{p:S,f:D}=this.wNAF(w);return y.normalizeZ([S,D])[0]}multiplyUnsafe(p,w=y.ZERO){let S=p;return Bt("scalar",S,Kt,n),S===Kt?_:this.is0()||S===Pt?this:C.wNAFCachedUnsafe(this,S,y.normalizeZ,w)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}isTorsionFree(){return C.unsafeLadder(this,n).is0()}toAffine(p){return E(this,p)}clearCofactor(){let{h:p}=t;return p===Pt?this:this.multiplyUnsafe(p)}static fromHex(p,w=!1){let{d:S,a:D}=t,R=e.BYTES;p=et("pointHex",p,R),Ot("zip215",w);let K=p.slice(),F=p[R-1];K[R-1]=F&-129;let U=pe(K),Z=w?f:e.ORDER;Bt("pointHex.y",U,Kt,Z);let X=u(U*U),ft=u(X-Pt),lt=u(S*X-D),{isValid:pt,value:yt}=d(ft,lt);if(!pt)throw new Error("Point.fromHex: invalid y coordinate");let At=(yt&Pt)===Pt,Et=(F&128)!==0;if(!w&&yt===Kt&&Et)throw new Error("Point.fromHex: x=0 and x_0=1");return Et!==At&&(yt=u(-yt)),y.fromAffine({x:yt,y:U})}static fromPrivateKey(p){return P(p).point}toRawBytes(){let{x:p,y:w}=this.toAffine(),S=Pe(w,e.BYTES);return S[S.length-1]|=p&Pt?128:0,S}toHex(){return ee(this.toRawBytes())}}y.BASE=new y(t.Gx,t.Gy,Pt,u(t.Gx*t.Gy)),y.ZERO=new y(Kt,Pt,Pt,Kt);let{BASE:I,ZERO:_}=y,C=rn(y,c*8);function B(x){return Y(x,n)}function L(x){return B(pe(x))}function P(x){let p=e.BYTES;x=et("private key",x,p);let w=et("hashed private key",s(x),2*p),S=g(w.slice(0,p)),D=w.slice(p,2*p),R=L(S),K=I.multiply(R),F=K.toRawBytes();return{head:S,prefix:D,scalar:R,point:K,pointBytes:F}}function J(x){return P(x).pointBytes}function H(x=new Uint8Array,...p){let w=ne(...p);return L(s(m(w,et("context",x),!!o)))}function k(x,p,w={}){x=et("message",x),o&&(x=o(x));let{prefix:S,scalar:D,pointBytes:R}=P(p),K=H(w.context,S,x),F=I.multiply(K).toRawBytes(),U=H(w.context,F,R,x),Z=B(K+U*D);Bt("signature.s",Z,Kt,n);let X=ne(F,Pe(Z,e.BYTES));return et("result",X,e.BYTES*2)}let at=Ff;function v(x,p,w,S=at){let{context:D,zip215:R}=S,K=e.BYTES;x=et("signature",x,2*K),p=et("message",p),w=et("publicKey",w,K),R!==void 0&&Ot("zip215",R),o&&(p=o(p));let F=pe(x.slice(K,2*K)),U,Z,X;try{U=y.fromHex(w,R),Z=y.fromHex(x.slice(0,K),R),X=I.multiplyUnsafe(F)}catch{return!1}if(!R&&U.isSmallOrder())return!1;let ft=H(D,Z.toRawBytes(),U.toRawBytes(),p);return Z.add(U.multiplyUnsafe(ft)).subtract(X).clearCofactor().equals(y.ZERO)}return I._setWindowSize(8),{CURVE:t,getPublicKey:J,sign:k,verify:v,ExtendedPoint:y,utils:{getExtendedPublicKey:P,randomPrivateKey:()=>i(e.BYTES),precompute(x=8,p=y.BASE){return p._setWindowSize(x),p.multiply(BigInt(3)),p}}}}var _o=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Ki=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),zp=BigInt(0),qf=BigInt(1),ki=BigInt(2),Gp=BigInt(3),Hf=BigInt(5),zf=BigInt(8);function Gf(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),o=BigInt(80),s=_o,c=r*r%s*r%s,a=tt(c,ki,s)*c%s,f=tt(a,qf,s)*r%s,u=tt(f,Hf,s)*f%s,l=tt(u,t,s)*u%s,d=tt(l,e,s)*l%s,g=tt(d,n,s)*d%s,m=tt(g,o,s)*g%s,b=tt(m,o,s)*g%s,h=tt(b,t,s)*u%s;return{pow_p_5_8:tt(h,ki,s)*r%s,b2:c}}function $f(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Zf(r,t){let e=_o,n=Y(t*t*t,e),o=Y(n*n*t,e),s=Gf(r*o).pow_p_5_8,i=Y(r*n*s,e),c=Y(t*i*i,e),a=i,f=Y(i*Ki,e),u=c===r,l=c===Y(-r,e),d=c===Y(-r*Ki,e);return u&&(i=a),(l||d)&&(i=f),Ci(i,e)&&(i=Y(-i,e)),{isValid:u||l,value:i}}var Yf=ye(_o,void 0,!0),Wf={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Yf,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:zf,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Ii,randomBytes:Wr,adjustScalarBytes:$f,uvRatio:Zf},Mi=Oi(Wf);var sn=32;function Fi(r,t,e){return Mi.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}var an=class{type="Ed25519";raw;constructor(t){this.raw=Do(t,sn)}toMultihash(){return Ut.digest(Gt(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:dt(this.raw,t.raw)}verify(t,e){return Fi(this.raw,e,t)}};function Ro(r){return r=Do(r,sn),new an(r)}function Do(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new ct(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}var Xf=Math.pow(2,7),Jf=Math.pow(2,14),Qf=Math.pow(2,21),Uo=Math.pow(2,28),No=Math.pow(2,35),Oo=Math.pow(2,42),Ko=Math.pow(2,49),$=128,gt=127;function bt(r){if(r<Xf)return 1;if(r<Jf)return 2;if(r<Qf)return 3;if(r<Uo)return 4;if(r<No)return 5;if(r<Oo)return 6;if(r<Ko)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function ko(r,t,e=0){switch(bt(r)){case 8:t[e++]=r&255|$,r/=128;case 7:t[e++]=r&255|$,r/=128;case 6:t[e++]=r&255|$,r/=128;case 5:t[e++]=r&255|$,r/=128;case 4:t[e++]=r&255|$,r>>>=7;case 3:t[e++]=r&255|$,r>>>=7;case 2:t[e++]=r&255|$,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function tl(r,t,e=0){switch(bt(r)){case 8:t.set(e++,r&255|$),r/=128;case 7:t.set(e++,r&255|$),r/=128;case 6:t.set(e++,r&255|$),r/=128;case 5:t.set(e++,r&255|$),r/=128;case 4:t.set(e++,r&255|$),r>>>=7;case 3:t.set(e++,r&255|$),r>>>=7;case 2:t.set(e++,r&255|$),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Mo(r,t){let e=r[t],n=0;if(n+=e>,e<$||(e=r[t+1],n+=(e>)<<7,e<$)||(e=r[t+2],n+=(e>)<<14,e<$)||(e=r[t+3],n+=(e>)<<21,e<$)||(e=r[t+4],n+=(e>)*Uo,e<$)||(e=r[t+5],n+=(e>)*No,e<$)||(e=r[t+6],n+=(e>)*Oo,e<$)||(e=r[t+7],n+=(e>)*Ko,e<$))return n;throw new RangeError("Could not decode varint")}function el(r,t){let e=r.get(t),n=0;if(n+=e>,e<$||(e=r.get(t+1),n+=(e>)<<7,e<$)||(e=r.get(t+2),n+=(e>)<<14,e<$)||(e=r.get(t+3),n+=(e>)<<21,e<$)||(e=r.get(t+4),n+=(e>)*Uo,e<$)||(e=r.get(t+5),n+=(e>)*No,e<$)||(e=r.get(t+6),n+=(e>)*Oo,e<$)||(e=r.get(t+7),n+=(e>)*Ko,e<$))return n;throw new RangeError("Could not decode varint")}function _t(r,t,e=0){return t==null&&(t=St(bt(r))),t instanceof Uint8Array?ko(r,t,e):tl(r,t,e)}function oe(r,t=0){return r instanceof Uint8Array?Mo(r,t):el(r,t)}var Fo=new Float32Array([-0]),ge=new Uint8Array(Fo.buffer);function qi(r,t,e){Fo[0]=r,t[e]=ge[0],t[e+1]=ge[1],t[e+2]=ge[2],t[e+3]=ge[3]}function Hi(r,t){return ge[0]=r[t],ge[1]=r[t+1],ge[2]=r[t+2],ge[3]=r[t+3],Fo[0]}var Vo=new Float64Array([-0]),xt=new Uint8Array(Vo.buffer);function zi(r,t,e){Vo[0]=r,t[e]=xt[0],t[e+1]=xt[1],t[e+2]=xt[2],t[e+3]=xt[3],t[e+4]=xt[4],t[e+5]=xt[5],t[e+6]=xt[6],t[e+7]=xt[7]}function Gi(r,t){return xt[0]=r[t],xt[1]=r[t+1],xt[2]=r[t+2],xt[3]=r[t+3],xt[4]=r[t+4],xt[5]=r[t+5],xt[6]=r[t+6],xt[7]=r[t+7],Vo[0]}var rl=BigInt(Number.MAX_SAFE_INTEGER),nl=BigInt(Number.MIN_SAFE_INTEGER),Ct=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 Ce;if(t<rl&&t>nl)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>$i&&(o=0n,++n>$i&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return Ce;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}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):Ce}},Ce=new Ct(0,0);Ce.toBigInt=function(){return 0n};Ce.zzEncode=Ce.zzDecode=function(){return this};Ce.length=function(){return 1};var $i=4294967296n;function Zi(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 Yi(r,t,e){if(e-t<1)return"";let o,s=[],i=0,c;for(;t<e;)c=r[t++],c<128?s[i++]=c:c>191&&c<224?s[i++]=(c&31)<<6|r[t++]&63:c>239&&c<365?(c=((c&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[i++]=55296+(c>>10),s[i++]=56320+(c&1023)):s[i++]=(c&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function qo(r,t,e){let n=e,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function kt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function un(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Ho=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,kt(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 kt(this,4);return un(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw kt(this,4);return un(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw kt(this,4);let t=Hi(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw kt(this,4);let t=Gi(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 kt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Yi(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw kt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw kt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Ct(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 kt(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 kt(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 kt(this,8);let t=un(this.buf,this.pos+=4),e=un(this.buf,this.pos+=4);return new Ct(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=Mo(this.buf,this.pos);return this.pos+=bt(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 zo(r){return new Ho(r instanceof Uint8Array?r:r.subarray())}function Mt(r,t,e){let n=zo(r);return t.decode(n,void 0,e)}function Go(r){let t=r??8192,e=t>>>1,n,o=t;return function(i){if(i<1||i>e)return St(i);o+i>t&&(n=St(t),o=0);let c=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),c}}var _e=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function $o(){}var Yo=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},ol=Go();function sl(r){return globalThis.Buffer!=null?St(r):ol(r)}var Er=class{len;head;tail;states;constructor(){this.len=0,this.head=new _e($o,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new _e(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Wo((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(fn,10,Ct.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Ct.fromBigInt(t);return this._push(fn,e.length(),e)}uint64Number(t){return this._push(ko,bt(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=Ct.fromBigInt(t).zzEncode();return this._push(fn,e.length(),e)}sint64Number(t){let e=Ct.fromNumber(t).zzEncode();return this._push(fn,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Zo,1,t?1:0)}fixed32(t){return this._push(wr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Ct.fromBigInt(t);return this._push(wr,4,e.lo)._push(wr,4,e.hi)}fixed64Number(t){let e=Ct.fromNumber(t);return this._push(wr,4,e.lo)._push(wr,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(qi,4,t)}double(t){return this._push(zi,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Zo,1,0):this.uint32(e)._push(al,e,t)}string(t){let e=Zi(t);return e!==0?this.uint32(e)._push(qo,e,t):this._push(Zo,1,0)}fork(){return this.states=new Yo(this),this.head=this.tail=new _e($o,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 _e($o,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=sl(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Zo(r,t,e){t[e]=r&255}function il(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Wo=class extends _e{next;constructor(t,e){super(il,t,e),this.next=void 0}};function fn(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 wr(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 al(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Er.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(cl,t,r),this},Er.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(ul,t,r),this});function cl(r,t,e){t.set(r,e)}function ul(r,t,e){r.length<40?qo(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(M(r),e)}function jo(){return new Er}function Ft(r,t){let e=jo();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var We;(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"})(We||(We={}));function ln(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Xo(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(s,i){let c=t(s);i.int32(c)},n=function(s){let i=s.int32();return t(i)};return ln("enum",We.VARINT,e,n)}function Vt(r,t){return ln("message",We.LENGTH_DELIMITED,r,t)}var De=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var st;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1",r.ECDSA="ECDSA"})(st||(st={}));var Jo;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1",r[r.ECDSA=3]="ECDSA"})(Jo||(Jo={}));(function(r){r.codec=()=>Xo(Jo)})(st||(st={}));var Zt;(function(r){let t;r.codec=()=>(t==null&&(t=Vt((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),st.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let c=e.uint32();switch(c>>>3){case 1:{s.Type=st.codec().decode(e);break}case 2:{s.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return s})),t),r.encode=e=>Ft(e,r.codec()),r.decode=(e,n)=>Mt(e,r.codec(),n)})(Zt||(Zt={}));var Qo;(function(r){let t;r.codec=()=>(t==null&&(t=Vt((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),st.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let c=e.uint32();switch(c>>>3){case 1:{s.Type=st.codec().decode(e);break}case 2:{s.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return s})),t),r.encode=e=>Ft(e,r.codec()),r.decode=(e,n)=>Mt(e,r.codec(),n)})(Qo||(Qo={}));var vr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},dn=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Xi={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new dn("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 be=Xi;var Sr={};vt(Sr,{MAX_RSA_KEY_SIZE:()=>es,generateRSAKeyPair:()=>ra,jwkToJWKKeyPair:()=>na,jwkToPkcs1:()=>pl,jwkToPkix:()=>ss,jwkToRSAPrivateKey:()=>ea,pkcs1MessageToJwk:()=>ns,pkcs1MessageToRSAPrivateKey:()=>is,pkcs1ToJwk:()=>hl,pkcs1ToRSAPrivateKey:()=>ta,pkixMessageToJwk:()=>os,pkixMessageToRSAPublicKey:()=>cs,pkixToJwk:()=>ml,pkixToRSAPublicKey:()=>as});var fl=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]),xe=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),we=new Uint32Array(64),ts=class extends Ze{constructor(){super(64,32,8,!1),this.A=xe[0]|0,this.B=xe[1]|0,this.C=xe[2]|0,this.D=xe[3]|0,this.E=xe[4]|0,this.F=xe[5]|0,this.G=xe[6]|0,this.H=xe[7]|0}get(){let{A:t,B:e,C:n,D:o,E:s,F:i,G:c,H:a}=this;return[t,e,n,o,s,i,c,a]}set(t,e,n,o,s,i,c,a){this.A=t|0,this.B=e|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=c|0,this.H=a|0}process(t,e){for(let l=0;l<16;l++,e+=4)we[l]=t.getUint32(e,!1);for(let l=16;l<64;l++){let d=we[l-15],g=we[l-2],m=Nt(d,7)^Nt(d,18)^d>>>3,b=Nt(g,17)^Nt(g,19)^g>>>10;we[l]=b+we[l-7]+m+we[l-16]|0}let{A:n,B:o,C:s,D:i,E:c,F:a,G:f,H:u}=this;for(let l=0;l<64;l++){let d=Nt(c,6)^Nt(c,11)^Nt(c,25),g=u+d+vi(c,a,f)+fl[l]+we[l]|0,b=(Nt(n,2)^Nt(n,13)^Nt(n,22))+Ai(n,o,s)|0;u=f,f=a,a=c,c=i+g|0,i=s,s=o,o=n,n=g+b|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,c=c+this.E|0,a=a+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,o,s,i,c,a,f,u)}roundClean(){we.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var je=Yr(()=>new ts);var Xe=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Sr.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:dt(this.raw,t.raw)}verify(t,e){return Qi(this._key,e,t)}},Ar=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Sr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:dt(this.raw,t.raw)}sign(t){return Ji(this._key,t)}};var es=8192,rs=18,ll=1062,dl=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function hl(r){let t=Qt(r);return ns(t)}function ns(r){return{n:N(r[1],"base64url"),e:N(r[2],"base64url"),d:N(r[3],"base64url"),p:N(r[4],"base64url"),q:N(r[5],"base64url"),dp:N(r[6],"base64url"),dq:N(r[7],"base64url"),qi:N(r[8],"base64url"),kty:"RSA"}}function pl(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 ct("JWK was missing components");return fe([It(Uint8Array.from([0])),It(M(r.n,"base64url")),It(M(r.e,"base64url")),It(M(r.d,"base64url")),It(M(r.p,"base64url")),It(M(r.q,"base64url")),It(M(r.dp,"base64url")),It(M(r.dq,"base64url")),It(M(r.qi,"base64url"))]).subarray()}function ml(r){let t=Qt(r,{offset:0});return os(t)}function os(r){let t=Qt(r[1],{offset:0});return{kty:"RSA",n:N(t[0],"base64url"),e:N(t[1],"base64url")}}function ss(r){if(r.n==null||r.e==null)throw new ct("JWK was missing components");return fe([dl,$r(fe([It(M(r.n,"base64url")),It(M(r.e,"base64url"))]))]).subarray()}function ta(r){let t=Qt(r);return is(t)}function is(r){let t=ns(r);return ea(t)}function as(r,t){if(r.byteLength>=ll)throw new ke("Key size is too large");let e=Qt(r,{offset:0});return cs(e,r,t)}function cs(r,t,e){let n=os(r);if(e==null){let o=je(Zt.encode({Type:st.RSA,Data:t}));e=Rt(rs,o)}return new Xe(n,e)}function ea(r){if(sa(r)>es)throw new ct("Key size is too large");let t=na(r),e=je(Zt.encode({Type:st.RSA,Data:ss(t.publicKey)})),n=Rt(rs,e);return new Ar(t.privateKey,new Xe(t.publicKey,n))}async function ra(r){if(r>es)throw new ct("Key size is too large");let t=await oa(r),e=je(Zt.encode({Type:st.RSA,Data:ss(t.publicKey)})),n=Rt(rs,e);return new Ar(t.privateKey,new Xe(t.publicKey,n))}function na(r){if(r==null)throw new ct("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}async function oa(r){let t=await be.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 yl(t);return{privateKey:e[0],publicKey:e[1]}}async function Ji(r,t){let e=await be.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await be.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Qi(r,t,e){let n=await be.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return be.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function yl(r){if(r.privateKey==null||r.publicKey==null)throw new ct("Private and public key are required");return Promise.all([be.get().subtle.exportKey("jwk",r.privateKey),be.get().subtle.exportKey("jwk",r.publicKey)])}function sa(r){if(r.kty!=="RSA")throw new ct("invalid key type");if(r.n==null)throw new ct("invalid key modulus");return M(r.n,"base64url").length*8}var hn=class extends $e{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,xi(t);let n=yr(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 o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?t.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=t.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(t){return Ge(this),this.iHash.update(t),this}digestInto(t){Ge(this),ze(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:o,destroyed:s,blockLen:i,outputLen:c}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=c,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},us=(r,t,e)=>new hn(r,t).update(e).digest();us.create=(r,t)=>new hn(r,t);function ia(r){r.lowS!==void 0&&Ot("lowS",r.lowS),r.prehash!==void 0&&Ot("prehash",r.prehash)}function gl(r){let t=xr(r);$t(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:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("invalid 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("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:bl,hexToBytes:xl}=Qr,fs=class extends Error{constructor(t=""){super(t)}},se={Err:fs,_tlv:{encode:(r,t)=>{let{Err:e}=se;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,o=Ie(n);if(o.length/2&128)throw new e("tlv.encode: long form length too big");let s=n>127?Ie(o.length/2|128):"";return Ie(r)+s+o+t},decode(r,t){let{Err:e}=se,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 o=t[n++],s=!!(o&128),i=0;if(!s)i=o;else{let a=o&127;if(!a)throw new e("tlv.decode(long): indefinite length not supported");if(a>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+a);if(f.length!==a)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let u of f)i=i<<8|u;if(n+=a,i<128)throw new e("tlv.decode(long): not minimal encoding")}let c=t.subarray(n,n+i);if(c.length!==i)throw new e("tlv.decode: wrong value length");return{v:c,l:t.subarray(n+i)}}},_int:{encode(r){let{Err:t}=se;if(r<ie)throw new t("integer: negative integers are not allowed");let e=Ie(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=se;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 bl(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=se,o=typeof r=="string"?xl(r):r;Ye(o);let{v:s,l:i}=n.decode(48,o);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:c,l:a}=n.decode(2,s),{v:f,l:u}=n.decode(2,a);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(c),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=se,n=t.encode(2,e.encode(r.r)),o=t.encode(2,e.encode(r.s)),s=n+o;return t.encode(48,s)}},ie=BigInt(0),ht=BigInt(1),wm=BigInt(2),aa=BigInt(3),Em=BigInt(4);function wl(r){let t=gl(r),{Fp:e}=t,n=ye(t.n,t.nBitLength),o=t.toBytes||((b,h,E)=>{let A=h.toAffine();return ne(Uint8Array.from([4]),e.toBytes(A.x),e.toBytes(A.y))}),s=t.fromBytes||(b=>{let h=b.subarray(1),E=e.fromBytes(h.subarray(0,e.BYTES)),A=e.fromBytes(h.subarray(e.BYTES,2*e.BYTES));return{x:E,y:A}});function i(b){let{a:h,b:E}=t,A=e.sqr(b),y=e.mul(A,b);return e.add(e.add(y,e.mul(b,h)),E)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function c(b){return gr(b,ht,t.n)}function a(b){let{allowedPrivateKeyLengths:h,nByteLength:E,wrapPrivateKey:A,n:y}=t;if(h&&typeof b!="bigint"){if(he(b)&&(b=ee(b)),typeof b!="string"||!h.includes(b.length))throw new Error("invalid private key");b=b.padStart(E*2,"0")}let I;try{I=typeof b=="bigint"?b:re(et("private key",b,E))}catch{throw new Error("invalid private key, expected hex or "+E+" bytes, got "+typeof b)}return A&&(I=Y(I,y)),Bt("private key",I,ht,y),I}function f(b){if(!(b instanceof d))throw new Error("ProjectivePoint expected")}let u=Te((b,h)=>{let{px:E,py:A,pz:y}=b;if(e.eql(y,e.ONE))return{x:E,y:A};let I=b.is0();h==null&&(h=I?e.ONE:e.inv(y));let _=e.mul(E,h),C=e.mul(A,h),B=e.mul(y,h);if(I)return{x:e.ZERO,y:e.ZERO};if(!e.eql(B,e.ONE))throw new Error("invZ was invalid");return{x:_,y:C}}),l=Te(b=>{if(b.is0()){if(t.allowInfinityPoint&&!e.is0(b.py))return;throw new Error("bad point: ZERO")}let{x:h,y:E}=b.toAffine();if(!e.isValid(h)||!e.isValid(E))throw new Error("bad point: x or y not FE");let A=e.sqr(E),y=i(h);if(!e.eql(A,y))throw new Error("bad point: equation left != right");if(!b.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(h,E,A){if(this.px=h,this.py=E,this.pz=A,h==null||!e.isValid(h))throw new Error("x required");if(E==null||!e.isValid(E))throw new Error("y required");if(A==null||!e.isValid(A))throw new Error("z required");Object.freeze(this)}static fromAffine(h){let{x:E,y:A}=h||{};if(!h||!e.isValid(E)||!e.isValid(A))throw new Error("invalid affine point");if(h instanceof d)throw new Error("projective point not allowed");let y=I=>e.eql(I,e.ZERO);return y(E)&&y(A)?d.ZERO:new d(E,A,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let E=e.invertBatch(h.map(A=>A.pz));return h.map((A,y)=>A.toAffine(E[y])).map(d.fromAffine)}static fromHex(h){let E=d.fromAffine(s(et("pointHex",h)));return E.assertValidity(),E}static fromPrivateKey(h){return d.BASE.multiply(a(h))}static msm(h,E){return nn(d,n,h,E)}_setWindowSize(h){m.setWindowSize(this,h)}assertValidity(){l(this)}hasEvenY(){let{y:h}=this.toAffine();if(e.isOdd)return!e.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){f(h);let{px:E,py:A,pz:y}=this,{px:I,py:_,pz:C}=h,B=e.eql(e.mul(E,C),e.mul(I,y)),L=e.eql(e.mul(A,C),e.mul(_,y));return B&&L}negate(){return new d(this.px,e.neg(this.py),this.pz)}double(){let{a:h,b:E}=t,A=e.mul(E,aa),{px:y,py:I,pz:_}=this,C=e.ZERO,B=e.ZERO,L=e.ZERO,P=e.mul(y,y),J=e.mul(I,I),H=e.mul(_,_),k=e.mul(y,I);return k=e.add(k,k),L=e.mul(y,_),L=e.add(L,L),C=e.mul(h,L),B=e.mul(A,H),B=e.add(C,B),C=e.sub(J,B),B=e.add(J,B),B=e.mul(C,B),C=e.mul(k,C),L=e.mul(A,L),H=e.mul(h,H),k=e.sub(P,H),k=e.mul(h,k),k=e.add(k,L),L=e.add(P,P),P=e.add(L,P),P=e.add(P,H),P=e.mul(P,k),B=e.add(B,P),H=e.mul(I,_),H=e.add(H,H),P=e.mul(H,k),C=e.sub(C,P),L=e.mul(H,J),L=e.add(L,L),L=e.add(L,L),new d(C,B,L)}add(h){f(h);let{px:E,py:A,pz:y}=this,{px:I,py:_,pz:C}=h,B=e.ZERO,L=e.ZERO,P=e.ZERO,J=t.a,H=e.mul(t.b,aa),k=e.mul(E,I),at=e.mul(A,_),v=e.mul(y,C),T=e.add(E,A),x=e.add(I,_);T=e.mul(T,x),x=e.add(k,at),T=e.sub(T,x),x=e.add(E,y);let p=e.add(I,C);return x=e.mul(x,p),p=e.add(k,v),x=e.sub(x,p),p=e.add(A,y),B=e.add(_,C),p=e.mul(p,B),B=e.add(at,v),p=e.sub(p,B),P=e.mul(J,x),B=e.mul(H,v),P=e.add(B,P),B=e.sub(at,P),P=e.add(at,P),L=e.mul(B,P),at=e.add(k,k),at=e.add(at,k),v=e.mul(J,v),x=e.mul(H,x),at=e.add(at,v),v=e.sub(k,v),v=e.mul(J,v),x=e.add(x,v),k=e.mul(at,x),L=e.add(L,k),k=e.mul(p,x),B=e.mul(T,B),B=e.sub(B,k),k=e.mul(T,at),P=e.mul(p,P),P=e.add(P,k),new d(B,L,P)}subtract(h){return this.add(h.negate())}is0(){return this.equals(d.ZERO)}wNAF(h){return m.wNAFCached(this,h,d.normalizeZ)}multiplyUnsafe(h){let{endo:E,n:A}=t;Bt("scalar",h,ie,A);let y=d.ZERO;if(h===ie)return y;if(this.is0()||h===ht)return this;if(!E||m.hasPrecomputes(this))return m.wNAFCachedUnsafe(this,h,d.normalizeZ);let{k1neg:I,k1:_,k2neg:C,k2:B}=E.splitScalar(h),L=y,P=y,J=this;for(;_>ie||B>ie;)_&ht&&(L=L.add(J)),B&ht&&(P=P.add(J)),J=J.double(),_>>=ht,B>>=ht;return I&&(L=L.negate()),C&&(P=P.negate()),P=new d(e.mul(P.px,E.beta),P.py,P.pz),L.add(P)}multiply(h){let{endo:E,n:A}=t;Bt("scalar",h,ht,A);let y,I;if(E){let{k1neg:_,k1:C,k2neg:B,k2:L}=E.splitScalar(h),{p:P,f:J}=this.wNAF(C),{p:H,f:k}=this.wNAF(L);P=m.constTimeNegate(_,P),H=m.constTimeNegate(B,H),H=new d(e.mul(H.px,E.beta),H.py,H.pz),y=P.add(H),I=J.add(k)}else{let{p:_,f:C}=this.wNAF(h);y=_,I=C}return d.normalizeZ([y,I])[0]}multiplyAndAddUnsafe(h,E,A){let y=d.BASE,I=(C,B)=>B===ie||B===ht||!C.equals(y)?C.multiplyUnsafe(B):C.multiply(B),_=I(this,E).add(I(h,A));return _.is0()?void 0:_}toAffine(h){return u(this,h)}isTorsionFree(){let{h,isTorsionFree:E}=t;if(h===ht)return!0;if(E)return E(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:E}=t;return h===ht?this:E?E(d,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return Ot("isCompressed",h),this.assertValidity(),o(d,this,h)}toHex(h=!0){return Ot("isCompressed",h),ee(this.toRawBytes(h))}}d.BASE=new d(t.Gx,t.Gy,e.ONE),d.ZERO=new d(e.ZERO,e.ONE,e.ZERO);let g=t.nBitLength,m=rn(d,t.endo?Math.ceil(g/2):g);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:a,weierstrassEquation:i,isWithinCurveOrder:c}}function El(r){let t=xr(r);return $t(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function ca(r){let t=El(r),{Fp:e,n}=t,o=e.BYTES+1,s=2*e.BYTES+1;function i(v){return Y(v,n)}function c(v){return tn(v,n)}let{ProjectivePoint:a,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:l}=wl({...t,toBytes(v,T,x){let p=T.toAffine(),w=e.toBytes(p.x),S=ne;return Ot("isCompressed",x),x?S(Uint8Array.from([T.hasEvenY()?2:3]),w):S(Uint8Array.from([4]),w,e.toBytes(p.y))},fromBytes(v){let T=v.length,x=v[0],p=v.subarray(1);if(T===o&&(x===2||x===3)){let w=re(p);if(!gr(w,ht,e.ORDER))throw new Error("Point is not on curve");let S=u(w),D;try{D=e.sqrt(S)}catch(F){let U=F instanceof Error?": "+F.message:"";throw new Error("Point is not on curve"+U)}let R=(D&ht)===ht;return(x&1)===1!==R&&(D=e.neg(D)),{x:w,y:D}}else if(T===s&&x===4){let w=e.fromBytes(p.subarray(0,e.BYTES)),S=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x:w,y:S}}else{let w=o,S=s;throw new Error("invalid Point, expected length of "+w+", or uncompressed "+S+", got "+T)}}}),d=v=>ee(me(v,t.nByteLength));function g(v){let T=n>>ht;return v>T}function m(v){return g(v)?i(-v):v}let b=(v,T,x)=>re(v.slice(T,x));class h{constructor(T,x,p){this.r=T,this.s=x,this.recovery=p,this.assertValidity()}static fromCompact(T){let x=t.nByteLength;return T=et("compactSignature",T,x*2),new h(b(T,0,x),b(T,x,2*x))}static fromDER(T){let{r:x,s:p}=se.toSig(et("DER",T));return new h(x,p)}assertValidity(){Bt("r",this.r,ht,n),Bt("s",this.s,ht,n)}addRecoveryBit(T){return new h(this.r,this.s,T)}recoverPublicKey(T){let{r:x,s:p,recovery:w}=this,S=C(et("msgHash",T));if(w==null||![0,1,2,3].includes(w))throw new Error("recovery id invalid");let D=w===2||w===3?x+t.n:x;if(D>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let R=(w&1)===0?"02":"03",K=a.fromHex(R+d(D)),F=c(D),U=i(-S*F),Z=i(p*F),X=a.BASE.multiplyAndAddUnsafe(K,U,Z);if(!X)throw new Error("point at infinify");return X.assertValidity(),X}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new h(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return Be(this.toDERHex())}toDERHex(){return se.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Be(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let E={isValidPrivateKey(v){try{return f(v),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let v=Bo(t.n);return Di(t.randomBytes(v),t.n)},precompute(v=8,T=a.BASE){return T._setWindowSize(v),T.multiply(BigInt(3)),T}};function A(v,T=!0){return a.fromPrivateKey(v).toRawBytes(T)}function y(v){let T=he(v),x=typeof v=="string",p=(T||x)&&v.length;return T?p===o||p===s:x?p===2*o||p===2*s:v instanceof a}function I(v,T,x=!0){if(y(v))throw new Error("first arg must be private key");if(!y(T))throw new Error("second arg must be public key");return a.fromHex(T).multiply(f(v)).toRawBytes(x)}let _=t.bits2int||function(v){if(v.length>8192)throw new Error("input is too large");let T=re(v),x=v.length*8-t.nBitLength;return x>0?T>>BigInt(x):T},C=t.bits2int_modN||function(v){return i(_(v))},B=br(t.nBitLength);function L(v){return Bt("num < 2^"+t.nBitLength,v,ie,B),me(v,t.nByteLength)}function P(v,T,x=J){if(["recovered","canonical"].some(lt=>lt in x))throw new Error("sign() legacy options not supported");let{hash:p,randomBytes:w}=t,{lowS:S,prehash:D,extraEntropy:R}=x;S==null&&(S=!0),v=et("msgHash",v),ia(x),D&&(v=et("prehashed msgHash",p(v)));let K=C(v),F=f(T),U=[L(F),L(K)];if(R!=null&&R!==!1){let lt=R===!0?w(e.BYTES):R;U.push(et("extraEntropy",lt))}let Z=ne(...U),X=K;function ft(lt){let pt=_(lt);if(!l(pt))return;let yt=c(pt),At=a.BASE.multiply(pt).toAffine(),Et=i(At.x);if(Et===ie)return;let zt=i(yt*i(X+Et*F));if(zt===ie)return;let jt=(At.x===Et?0:2)|Number(At.y&ht),ar=zt;return S&&g(zt)&&(ar=m(zt),jt^=1),new h(Et,ar,jt)}return{seed:Z,k2sig:ft}}let J={lowS:t.lowS,prehash:!1},H={lowS:t.lowS,prehash:!1};function k(v,T,x=J){let{seed:p,k2sig:w}=P(v,T,x),S=t;return vo(S.hash.outputLen,S.nByteLength,S.hmac)(p,w)}a.BASE._setWindowSize(8);function at(v,T,x,p=H){let w=v;T=et("msgHash",T),x=et("publicKey",x);let{lowS:S,prehash:D,format:R}=p;if(ia(p),"strict"in p)throw new Error("options.strict was renamed to lowS");if(R!==void 0&&R!=="compact"&&R!=="der")throw new Error("format must be compact or der");let K=typeof w=="string"||he(w),F=!K&&!R&&typeof w=="object"&&w!==null&&typeof w.r=="bigint"&&typeof w.s=="bigint";if(!K&&!F)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let U,Z;try{if(F&&(U=new h(w.r,w.s)),K){try{R!=="compact"&&(U=h.fromDER(w))}catch(jt){if(!(jt instanceof se.Err))throw jt}!U&&R!=="der"&&(U=h.fromCompact(w))}Z=a.fromHex(x)}catch{return!1}if(!U||S&&U.hasHighS())return!1;D&&(T=t.hash(T));let{r:X,s:ft}=U,lt=C(T),pt=c(ft),yt=i(lt*pt),At=i(X*pt),Et=a.BASE.multiplyAndAddUnsafe(Z,yt,At)?.toAffine();return Et?i(Et.x)===X:!1}return{CURVE:t,getPublicKey:A,getSharedSecret:I,sign:k,verify:at,ProjectivePoint:a,Signature:h,utils:E}}function vl(r){return{hash:r,hmac:(t,...e)=>us(r,t,mo(...e)),randomBytes:Wr}}function ua(r,t){let e=n=>ca({...r,...vl(n)});return{...e(t),create:e}}var da=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),fa=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Al=BigInt(1),ls=BigInt(2),la=(r,t)=>(r+t/ls)/t;function Sl(r){let t=da,e=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),c=BigInt(44),a=BigInt(88),f=r*r*r%t,u=f*f*r%t,l=tt(u,e,t)*u%t,d=tt(l,e,t)*u%t,g=tt(d,ls,t)*f%t,m=tt(g,o,t)*g%t,b=tt(m,s,t)*m%t,h=tt(b,c,t)*b%t,E=tt(h,a,t)*h%t,A=tt(E,c,t)*b%t,y=tt(A,e,t)*u%t,I=tt(y,i,t)*m%t,_=tt(I,n,t)*f%t,C=tt(_,ls,t);if(!ds.eql(ds.sqr(C),r))throw new Error("Cannot find square root");return C}var ds=ye(da,void 0,void 0,{sqrt:Sl}),Re=ua({a:BigInt(0),b:BigInt(7),Fp:ds,n:fa,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=fa,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Al*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,i=BigInt("0x100000000000000000000000000000000"),c=la(s*r,t),a=la(-n*r,t),f=Y(r-c*e-a*o,t),u=Y(-c*n-a*s,t),l=f>i,d=u>i;if(l&&(f=t-f),d&&(u=t-u),f>i||u>i)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:f,k2neg:d,k2:u}}}},je),Cm=BigInt(0);var _m=Re.ProjectivePoint;function ha(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function pa(r,t,e){let n=lr.digest(e instanceof Uint8Array?e:e.subarray());if(ha(n))return n.then(({digest:o})=>Re.verify(t,o,r)).catch(o=>{throw new vr(String(o))});try{return Re.verify(t,n.digest,r)}catch(o){throw new vr(String(o))}}var pn=class{type="secp256k1";raw;_key;constructor(t){this._key=ya(t),this.raw=ma(this._key)}toMultihash(){return Ut.digest(Gt(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:dt(this.raw,t.raw)}verify(t,e){return pa(this._key,e,t)}};function hs(r){return new pn(r)}function ma(r){return Re.ProjectivePoint.fromHex(r).toRawBytes(!0)}function ya(r){try{return Re.ProjectivePoint.fromHex(r),r}catch(t){throw new ke(String(t))}}function Je(r,t){let{Type:e,Data:n}=Zt.decode(r),o=n??new Uint8Array;switch(e){case st.RSA:return as(o,t);case st.Ed25519:return Ro(o);case st.secp256k1:return hs(o);case st.ECDSA:return po(o);default:throw new ve}}function ga(r){let{Type:t,Data:e}=Zt.decode(r.digest),n=e??new Uint8Array;switch(t){case st.Ed25519:return Ro(n);case st.secp256k1:return hs(n);case st.ECDSA:return po(n);default:throw new ve}}function Gt(r){return Zt.encode({Type:st[r.type],Data:r.raw})}var Ir;(function(r){let t;r.codec=()=>(t==null&&(t=Vt((e,n,o={})=>{o.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)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={publicKey:mt(0),payloadType:mt(0),payload:mt(0),signature:mt(0)},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let c=e.uint32();switch(c>>>3){case 1:{s.publicKey=e.bytes();break}case 2:{s.payloadType=e.bytes();break}case 3:{s.payload=e.bytes();break}case 5:{s.signature=e.bytes();break}default:{e.skipType(c&7);break}}}return s})),t),r.encode=e=>Ft(e,r.codec()),r.decode=(e,n)=>Mt(e,r.codec(),n)})(Ir||(Ir={}));var mn=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var Yt=class r{static createFromProtobuf=async t=>{let e=Ir.decode(t),n=Je(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,o=t.codec,s=t.marshal(),i=ba(n,o,s),c=await e.sign(i.subarray());return new r({publicKey:e.publicKey,payloadType:o,payload:s,signature:c})};static openAndCertify=async(t,e)=>{let n=await r.createFromProtobuf(t);if(!await n.validate(e))throw new mn("Envelope signature is not valid for the given domain");return n};publicKey;payloadType;payload;signature;marshaled;constructor(t){let{publicKey:e,payloadType:n,payload:o,signature:s}=t;this.publicKey=e,this.payloadType=n,this.payload=o,this.signature=s}marshal(){return this.marshaled==null&&(this.marshaled=Ir.encode({publicKey:Gt(this.publicKey),payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return dt(this.marshal(),t.marshal())}async validate(t){let e=ba(t,this.payloadType,this.payload);return this.publicKey.verify(e.subarray(),this.signature)}},ba=(r,t,e)=>{let n=M(r),o=_t(n.byteLength),s=_t(t.length),i=_t(e.length);return new ot(o,n,s,t,i,e)};var xa=Symbol.for("nodejs.util.inspect.custom"),Il=114,Br=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()})`}[Mn]=!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(Il,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return dt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return dt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[xa](){return`PeerId(${this.toString()})`}},Pr=class extends Br{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Tr=class extends Br{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Lr=class extends Br{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Bl=2336,Cr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Ut.digest(M(this.url))}[xa](){return`PeerId(${this.url})`}[Mn]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return it.createV1(Bl,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=N(t)),t.toString()===this.toString())}};var Pl=114,wa=2336;function Ea(r){if(r.type==="Ed25519")return new Tr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new Lr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new Pr({multihash:r.toCID().multihash,publicKey:r});throw new ve}function ps(r){if(Ll(r))return new Pr({multihash:r});if(Tl(r))try{let t=ga(r);if(t.type==="Ed25519")return new Tr({multihash:r,publicKey:t});if(t.type==="secp256k1")return new Lr({multihash:r,publicKey:t})}catch{let e=N(r.digest);return new Cr(new URL(e))}throw new Fr("Supplied PeerID Multihash is invalid")}function yn(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==Pl&&r.code!==wa)throw new Mr("Supplied PeerID CID is invalid");if(r.code===wa){let t=N(r.multihash.digest);return new Cr(new URL(t))}return ps(r.multihash)}function Tl(r){return r.code===Ut.code}function Ll(r){return r.code===lr.code}function va(r,t){let e=(n,o)=>n.toString().localeCompare(o.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,o)=>t[o].equals(n)))}var gn=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,o){return this.readAtomically(()=>{let s=0,i=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",f=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(u===void 0)break;if(s*=t,s+=u,s>f||(i+=1,e!==void 0&&i>e))return}if(i!==0)return!n&&a&&i>1?void 0:s})}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 o=n*2;if(n<e.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return e[o]=i[0],e[o+1]=i[1],e[o+2]=i[2],e[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];e[o]=s>>8,e[o+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[c]=t(s.subarray(0,i));return e.set(s.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Aa=45,Cl=15,Qe=new gn;function bn(r){if(!(r.length>Cl))return Qe.new(r).parseWith(()=>Qe.readIPv4Addr())}function xn(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Aa))return Qe.new(r).parseWith(()=>Qe.readIPv6Addr())}function Ue(r,t=!1){if(r.includes("%")&&(r=r.split("%")[0]),r.length>Aa)return;let e=Qe.new(r).parseWith(()=>Qe.readIPAddr());if(e)return t&&e.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,e[0],e[1],e[2],e[3]]):e}function Sa(r,t,e){let n=0;for(let o of r)if(!(n<t)){if(n>e)break;if(o!==255)return!1;n++}return!0}function Ia(r,t,e,n){let o=0;for(let s of r)if(!(o<e)){if(o>n)break;if(s!==t[o])return!1;o++}return!0}function ms(r){switch(r.length){case Ne:return r.join(".");case Oe:{let t=[];for(let e=0;e<r.length;e++)e%2===0&&t.push(r[e].toString(16).padStart(2,"0")+r[e+1].toString(16).padStart(2,"0"));return t.join(":")}default:throw new Error("Invalid ip length")}}function Ba(r){let t=0;for(let[e,n]of r.entries()){if(n===255){t+=8;continue}for(;(n&128)!=0;)t++,n=n<<1;if((n&128)!=0)return-1;for(let o=e+1;o<r.length;o++)if(r[o]!=0)return-1;break}return t}function Pa(r){let t="0x";for(let e of r)t+=(e>>4).toString(16)+(e&15).toString(16);return t}var Ne=4,Oe=16,eg=parseInt("0xFFFF",16),_l=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function _r(r,t){t.length===Oe&&r.length===Ne&&Sa(t,0,11)&&(t=t.slice(12)),t.length===Ne&&r.length===Oe&&Ia(r,_l,0,11)&&(r=r.slice(12));let e=r.length;if(e!=t.length)throw new Error("Failed to mask ip");let n=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=r[o]&t[o];return n}function Ta(r,t){if(typeof t=="string"&&(t=Ue(t)),t==null)throw new Error("Invalid ip");if(t.length!==r.network.length)return!1;for(let e=0;e<t.length;e++)if((r.network[e]&r.mask[e])!==(t[e]&r.mask[e]))return!1;return!0}function ys(r){let[t,e]=r.split("/");if(!t||!e)throw new Error("Failed to parse given CIDR: "+r);let n=Ne,o=bn(t);if(o==null&&(n=Oe,o=xn(t),o==null))throw new Error("Failed to parse given CIDR: "+r);let s=parseInt(e,10);if(Number.isNaN(s)||String(s).length!==e.length||s<0||s>n*8)throw new Error("Failed to parse given CIDR: "+r);let i=gs(s,8*n);return{network:_r(o,i),mask:i}}function gs(r,t){if(t!==8*Ne&&t!==8*Oe)throw new Error("Invalid CIDR mask");if(r<0||r>t)throw new Error("Invalid CIDR mask");let e=t/8,n=new Uint8Array(e);for(let o=0;o<e;o++){if(r>=8){n[o]=255,r-=8;continue}n[o]=255-(255>>r),r=0}return n}var tr=class{constructor(t,e){if(e==null)({network:this.network,mask:this.mask}=ys(t));else{let n=Ue(t);if(n==null)throw new Error("Failed to parse network");e=String(e);let o=parseInt(e,10);if(Number.isNaN(o)||String(o).length!==e.length||o<0||o>n.length*8){let s=Ue(e);if(s==null)throw new Error("Failed to parse mask");this.mask=s}else this.mask=gs(o,8*n.length);this.network=_r(n,this.mask)}}contains(t){return Ta({network:this.network,mask:this.mask},t)}toString(){let t=Ba(this.mask),e=t!==-1?String(t):Pa(this.mask);return ms(this.network)+"/"+e}};function La(r,t){return new tr(r).contains(t)}function er(r){return!!bn(r)}function rr(r){return!!xn(r)}function wn(r){return!!Ue(r)}var Ca=er,Dl=rr,bs=function(r){let t=0;if(r=r.toString().trim(),Ca(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(Dl(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=Ca(e[n]),i;s&&(i=bs(e[n]),e[n]=N(i.slice(0,2),"base16")),i!=null&&++n<8&&e.splice(n,0,N(i.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 s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){let s=parseInt(e[n],16);o[t++]=s>>8&255,o[t++]=s&255}return o}throw new Error("invalid ip address")},_a=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let s=0;s<e;s++)o.push(r[t+s]);return o.join(".")}if(e===16){let o=[];for(let s=0;s<e;s+=2)o.push(n.getUint16(t+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var nr={},xs={},Ul=[[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"]];Ul.forEach(r=>{let t=Nl(...r);xs[t.code]=t,nr[t.name]=t});function Nl(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function z(r){if(typeof r=="number"){if(xs[r]!=null)return xs[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(nr[r]!=null)return nr[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Ug=z("ip4"),Ng=z("ip6"),Og=z("ipcidr");function As(r,t){switch(z(r).code){case 4:case 41:return Kl(t);case 42:return vs(t);case 43:return N(t,"base10");case 6:case 273:case 33:case 132:return Ua(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return vs(t);case 421:return Vl(t);case 444:return Ra(t);case 445:return Ra(t);case 466:return Fl(t);case 481:return globalThis.encodeURIComponent(vs(t));default:return N(t,"base16")}}function Ss(r,t){switch(z(r).code){case 4:return Da(t);case 41:return Da(t);case 42:return Es(t);case 43:return M(t,"base10");case 6:case 273:case 33:case 132:return Is(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Es(t);case 421:return kl(t);case 444:return ql(t);case 445:return Hl(t);case 466:return Ml(t);case 481:return Es(globalThis.decodeURIComponent(t));default:return M(t,"base16")}}var ws=Object.values(hr).map(r=>r.decoder),Ol=function(){let r=ws[0].or(ws[1]);return ws.slice(2).forEach(t=>r=r.or(t)),r}();function Da(r){if(!wn(r))throw new Error("invalid ip address");return bs(r)}function Kl(r){let t=_a(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!wn(t))throw new Error("invalid ip address");return t}function Is(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Ua(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Es(r){let t=M(r),e=Uint8Array.from(_t(t.length));return Lt([e,t],e.length+t.length)}function vs(r){let t=oe(r);if(r=r.slice(bt(t)),r.length!==t)throw new Error("inconsistent lengths");return N(r)}function kl(r){let t;r[0]==="Q"||r[0]==="1"?t=Ae(j.decode(`z${r}`)).bytes:t=it.parse(r).multihash.bytes;let e=Uint8Array.from(_t(t.length));return Lt([e,t],e.length+t.length)}function Ml(r){let t=Ol.decode(r),e=Uint8Array.from(_t(t.length));return Lt([e,t],e.length+t.length)}function Fl(r){let t=oe(r),e=r.slice(bt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+N(e,"base64url")}function Vl(r){let t=oe(r),e=r.slice(bt(t));if(e.length!==t)throw new Error("inconsistent lengths");return N(e,"base58btc")}function ql(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=Jt.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 o=Is(n);return Lt([e,o],e.length+o.length)}function Hl(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=Jt.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 o=Is(n);return Lt([e,o],e.length+o.length)}function Ra(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=N(t,"base32"),o=Ua(e);return`${n}:${o}`}function Na(r){r=Bs(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],c=z(i);if(c.size===0){t.push([c.code]),e.push([c.code]);continue}if(s++,s>=o.length)throw new En("invalid address: "+r);if(c.path===!0){n=Bs(o.slice(s).join("/")),t.push([c.code,Ss(c.code,n)]),e.push([c.code,n]);break}let a=Ss(c.code,o[s]);t.push([c.code,a]),e.push([c.code,As(c.code,a)])}return{string:Oa(e),bytes:vn(t),tuples:t,stringTuples:e,path:n}}function Ps(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let s=oe(r,o),i=bt(s),c=z(s),a=zl(c,r.slice(o+i));if(a===0){t.push([s]),e.push([s]),o+=i;continue}let f=r.slice(o+i,o+i+a);if(o+=a+i,o>r.length)throw new En("Invalid address Uint8Array: "+N(r,"base16"));t.push([s,f]);let u=As(s,f);if(e.push([s,u]),c.path===!0){n=u;break}}return{bytes:Uint8Array.from(r),string:Oa(e),tuples:t,stringTuples:e,path:n}}function Oa(r){let t=[];return r.map(e=>{let n=z(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Bs(t.join("/"))}function vn(r){return Lt(r.map(t=>{let e=z(t[0]),n=Uint8Array.from(_t(e.code));return t.length>1&&t[1]!=null&&(n=Lt([n,t[1]])),n}))}function zl(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+bt(e)}}function Bs(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}var En=class extends Error{static name="ParseError";name="ParseError";constructor(t){super(`Error parsing address: ${t}`)}};var Gl=Symbol.for("nodejs.util.inspect.custom"),Ls=Symbol.for("@multiformats/js-multiaddr/multiaddr"),$l=[z("dns").code,z("dns4").code,z("dns6").code,z("dnsaddr").code],Ts=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},An=class r{bytes;#e;#t;#r;#n;[Ls]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=Ps(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Na(t)}else if(ka(t))e=Ps(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#e=e.string,this.#t=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let t,e,n,o,s="",i=z("tcp"),c=z("udp"),a=z("ip4"),f=z("ip6"),u=z("dns6"),l=z("ip6zone");for(let[g,m]of this.stringTuples())g===l.code&&(s=`%${m??""}`),$l.includes(g)&&(e=i.name==="tcp"?"tcp":"udp",o=443,n=`${m??""}${s}`,t=g===u.code?6:4),(g===i.code||g===c.code)&&(e=z(g).name==="tcp"?"tcp":"udp",o=parseInt(m??"")),(g===a.code||g===f.code)&&(e=z(g).name==="tcp"?"tcp":"udp",n=`${m??""}${s}`,t=g===f.code?6:4);if(t==null||e==null||n==null||o==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:o}}protos(){return this.#t.map(([t])=>Object.assign({},z(t)))}protoCodes(){return this.#t.map(([t])=>t)}protoNames(){return this.#t.map(([t])=>z(t).name)}tuples(){return this.#t.map(([t,e])=>e==null?[t]:[t,e])}stringTuples(){return this.#r.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(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(vn(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===nr.p2p.code&&t.push([n,o]),n===nr["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?N(j.decode(`z${n}`),"base58btc"):N(it.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return dt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(s=>s.resolvable);if(e==null)return[this];let n=Ka.get(e.name);if(n==null)throw new Ts(`no available resolver for ${e.name}`);return(await n(this,t)).map(s=>Wt(s))}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)}[Gl](){return`Multiaddr(${this.#e})`}};var Ka=new Map;function ka(r){return!!r?.[Ls]}function Wt(r){return new An(r)}var Ma="libp2p-peer-record",Fa=Uint8Array.from([3,1]);var Dr;(function(r){let t;(function(n){let o;n.codec=()=>(o==null&&(o=Vt((s,i,c={})=>{c.lengthDelimited!==!1&&i.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(i.uint32(10),i.bytes(s.multiaddr)),c.lengthDelimited!==!1&&i.ldelim()},(s,i,c={})=>{let a={multiaddr:mt(0)},f=i==null?s.len:s.pos+i;for(;s.pos<f;){let u=s.uint32();switch(u>>>3){case 1:{a.multiaddr=s.bytes();break}default:{s.skipType(u&7);break}}}return a})),o),n.encode=s=>Ft(s,n.codec()),n.decode=(s,i)=>Mt(s,n.codec(),i)})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=Vt((n,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(o.uint32(10),o.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(o.uint32(16),o.uint64(n.seq)),n.addresses!=null)for(let i of n.addresses)o.uint32(26),r.AddressInfo.codec().encode(i,o);s.lengthDelimited!==!1&&o.ldelim()},(n,o,s={})=>{let i={peerId:mt(0),seq:0n,addresses:[]},c=o==null?n.len:n.pos+o;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:{i.peerId=n.bytes();break}case 2:{i.seq=n.uint64();break}case 3:{if(s.limits?.addresses!=null&&i.addresses.length===s.limits.addresses)throw new De('Decode error - map field "addresses" had too many elements');i.addresses.push(r.AddressInfo.codec().decode(n,n.uint32(),{limits:s.limits?.addresses$}));break}default:{n.skipType(a&7);break}}}return i})),e),r.encode=n=>Ft(n,r.codec()),r.decode=(n,o)=>Mt(n,r.codec(),o)})(Dr||(Dr={}));var qt=class r{static createFromProtobuf=t=>{let e=Dr.decode(t),n=ps(Ae(e.peerId)),o=(e.addresses??[]).map(i=>Wt(i.multiaddr)),s=e.seq;return new r({peerId:n,multiaddrs:o,seqNumber:s})};static DOMAIN=Ma;static CODEC=Fa;peerId;multiaddrs;seqNumber;domain=r.DOMAIN;codec=r.CODEC;marshaled;constructor(t){let{peerId:e,multiaddrs:n,seqNumber:o}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=o??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Dr.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||!va(this.multiaddrs,t.multiaddrs))}};function Zl(r){return r[Symbol.asyncIterator]!=null}function Yl(r){if(Zl(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Va=Yl;function Ht(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var Sn=globalThis.CustomEvent??Event;async function*Cs(r,t={}){let e=t.concurrency??1/0;e<1&&(e=1/0);let n=t.ordered??!1,o=new EventTarget,s=[],i=Ht(),c=Ht(),a=!1,f,u=!1;o.addEventListener("task-complete",()=>{c.resolve()}),Promise.resolve().then(async()=>{try{for await(let m of r){if(s.length===e&&(i=Ht(),await i.promise),u)break;let b={done:!1};s.push(b),m().then(h=>{b.done=!0,b.ok=!0,b.value=h,o.dispatchEvent(new Sn("task-complete"))},h=>{b.done=!0,b.err=h,o.dispatchEvent(new Sn("task-complete"))})}a=!0,o.dispatchEvent(new Sn("task-complete"))}catch(m){f=m,o.dispatchEvent(new Sn("task-complete"))}});function l(){return n?s[0]?.done:!!s.find(m=>m.done)}function*d(){for(;s.length>0&&s[0].done;){let m=s[0];if(s.shift(),m.ok)yield m.value;else throw u=!0,i.resolve(),m.err;i.resolve()}}function*g(){for(;l();)for(let m=0;m<s.length;m++)if(s[m].done){let b=s[m];if(s.splice(m,1),m--,b.ok)yield b.value;else throw u=!0,i.resolve(),b.err;i.resolve()}}for(;;){if(l()||(c=Ht(),await c.promise),f!=null)throw f;if(n?yield*d():yield*g(),a&&s.length===0)break}}var In=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function Rr(r,t,e){if(t==null)return r;if(t.aborted)return r.catch(()=>{}),Promise.reject(new In(e?.errorMessage,e?.errorCode,e?.errorName));let n,o=new In(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((s,i)=>{n=()=>{i(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var _s=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=Ht(),this.haveNext=Ht()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=Ht(),t}async throw(t){return this.ended=!0,this.error=t,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return this.ended=!0,this.nextResult=t,this.haveNext.resolve(),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Ht(),await Rr(this.readNext.promise,e?.signal,e)}};function qa(){return new _s}var Bn=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function Ha(r,t){let e=qa();r.sink(e).catch(async i=>{await e.end(i)}),r.sink=async i=>{for await(let c of i)await e.push(c);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let o=new ot;return{read:async i=>{if(i?.signal?.throwIfAborted(),i?.bytes==null){let{done:a,value:f}=await Rr(n.next(),i?.signal);return a===!0?null:f}for(;o.byteLength<i.bytes;){let{value:a,done:f}=await Rr(n.next(),i?.signal);if(f===!0)throw new Bn("unexpected end of input");o.append(a)}let c=o.sublist(0,i.bytes);return o.consume(i.bytes),c},write:async(i,c)=>{c?.signal?.throwIfAborted(),i instanceof Uint8Array?await e.push(i,c):await e.push(i.subarray(),c)},unwrap:()=>{if(o.byteLength>0){let i=r.source;r.source=async function*(){t?.yieldBytes===!1?yield o:yield*o,yield*i}()}return r}}}var Pn=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Tn=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Ln=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function za(r,t={}){let e=Ha(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=bt(t.maxDataLength));let n=t?.lengthDecoder??oe,o=t?.lengthEncoder??_t;return{read:async i=>{let c=-1,a=new ot;for(;;){a.append(await e.read({...i,bytes:1}));try{c=n(a)}catch(f){if(f instanceof RangeError)continue;throw f}if(c<0)throw new Pn("Invalid message length");if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new Ln("message length length too long");if(c>-1)break}if(t?.maxDataLength!=null&&c>t.maxDataLength)throw new Tn("message length too long");return e.read({...i,bytes:c})},write:async(i,c)=>{await e.write(new ot(o(i.byteLength),i),c)},writeV:async(i,c)=>{let a=new ot(...i.flatMap(f=>[o(f.byteLength),f]));await e.write(a,c)},unwrap:()=>e.unwrap()}}function or(r,t){let e=za(r,t),n={read:async(o,s)=>{let i=await e.read(s);return o.decode(i)},write:async(o,s,i)=>{await e.write(s.encode(o),i)},writeV:async(o,s,i)=>{await e.writeV(o.map(c=>s.encode(c)),i)},pb:o=>({read:async s=>n.read(o,s),write:async(s,i)=>n.write(s,o,i),writeV:async(s,i)=>n.writeV(s,o,i),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var Ga="0.1.0",$a="id",Za="id/push",Ya="1.0.0",Wa="1.0.0";var Ee;(function(r){let t;r.codec=()=>(t==null&&(t=Vt((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.protocolVersion!=null&&(n.uint32(42),n.string(e.protocolVersion)),e.agentVersion!=null&&(n.uint32(50),n.string(e.agentVersion)),e.publicKey!=null&&(n.uint32(10),n.bytes(e.publicKey)),e.listenAddrs!=null)for(let s of e.listenAddrs)n.uint32(18),n.bytes(s);if(e.observedAddr!=null&&(n.uint32(34),n.bytes(e.observedAddr)),e.protocols!=null)for(let s of e.protocols)n.uint32(26),n.string(s);e.signedPeerRecord!=null&&(n.uint32(66),n.bytes(e.signedPeerRecord)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let s={listenAddrs:[],protocols:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let c=e.uint32();switch(c>>>3){case 5:{s.protocolVersion=e.string();break}case 6:{s.agentVersion=e.string();break}case 1:{s.publicKey=e.bytes();break}case 2:{if(o.limits?.listenAddrs!=null&&s.listenAddrs.length===o.limits.listenAddrs)throw new De('Decode error - map field "listenAddrs" had too many elements');s.listenAddrs.push(e.bytes());break}case 4:{s.observedAddr=e.bytes();break}case 3:{if(o.limits?.protocols!=null&&s.protocols.length===o.limits.protocols)throw new De('Decode error - map field "protocols" had too many elements');s.protocols.push(e.string());break}case 8:{s.signedPeerRecord=e.bytes();break}default:{e.skipType(c&7);break}}}return s})),t),r.encode=e=>Ft(e,r.codec()),r.decode=(e,n)=>Mt(e,r.codec(),n)})(Ee||(Ee={}));var Tt={protocolPrefix:"ipfs",timeout:5e3,maxInboundStreams:1,maxOutboundStreams:1,maxObservedAddresses:10,maxMessageSize:8192,runOnConnectionOpen:!0,runOnSelfUpdate:!0,runOnLimitedConnection:!0,concurrency:32};function ja(r){if(r!=null&&r.length>0)try{return Wt(r)}catch{}}function Xl(r,t){return t??r.userAgent}async function Cn(r,t,e,n,o){if(e("received identify from %p",n.remotePeer),o==null)throw new Dt("message was null or undefined");let s={};if(o.listenAddrs.length>0&&(s.addresses=o.listenAddrs.map(a=>({isCertified:!1,multiaddr:Wt(a)}))),o.protocols.length>0&&(s.protocols=o.protocols),o.publicKey!=null){let a=Je(o.publicKey);if(!Ea(a).equals(n.remotePeer))throw new Dt("public key did not match remote PeerId");s.publicKey=a}let i;if(o.signedPeerRecord!=null){e.trace("received signedPeerRecord from %p",n.remotePeer);let a=o.signedPeerRecord,f=await Yt.openAndCertify(a,qt.DOMAIN),u=qt.createFromProtobuf(f.payload),l=yn(f.publicKey.toCID());if(!u.peerId.equals(l))throw new Dt("signing key does not match PeerId in the PeerRecord");if(!n.remotePeer.equals(u.peerId))throw new Dt("signing key does not match remote PeerId");let d;try{d=await r.get(u.peerId)}catch(g){if(g.name!=="NotFoundError")throw g}if(d!=null&&(s.metadata=d.metadata,d.peerRecordEnvelope!=null)){let g=await Yt.createFromProtobuf(d.peerRecordEnvelope),m=qt.createFromProtobuf(g.payload);m.seqNumber>=u.seqNumber&&(e("sequence number was lower or equal to existing sequence number - stored: %d received: %d",m.seqNumber,u.seqNumber),u=m,a=d.peerRecordEnvelope)}s.peerRecordEnvelope=a,s.addresses=u.multiaddrs.map(g=>({isCertified:!0,multiaddr:g})),i={seq:u.seqNumber,addresses:u.multiaddrs}}else e("%p did not send a signed peer record",n.remotePeer);if(e.trace("patching %p with",n.remotePeer,s),await r.patch(n.remotePeer,s),o.agentVersion!=null||o.protocolVersion!=null){let a={};o.agentVersion!=null&&(a.AgentVersion=M(o.agentVersion)),o.protocolVersion!=null&&(a.ProtocolVersion=M(o.protocolVersion)),e.trace("merging %p metadata",n.remotePeer,a),await r.merge(n.remotePeer,{metadata:a})}let c={peerId:n.remotePeer,protocolVersion:o.protocolVersion,agentVersion:o.agentVersion,publicKey:o.publicKey,listenAddrs:o.listenAddrs.map(a=>Wt(a)),observedAddr:o.observedAddr==null?void 0:Wt(o.observedAddr),protocols:o.protocols,signedPeerRecord:i,connection:n};return t.safeDispatchEvent("peer:identify",{detail:c}),c}var sr=class{host;protocol;started;timeout;peerId;privateKey;peerStore;registrar;addressManager;maxInboundStreams;maxOutboundStreams;maxMessageSize;maxObservedAddresses;events;runOnLimitedConnection;log;constructor(t,e){this.protocol=e.protocol,this.started=!1,this.peerId=t.peerId,this.privateKey=t.privateKey,this.peerStore=t.peerStore,this.registrar=t.registrar,this.addressManager=t.addressManager,this.events=t.events,this.log=e.log,this.timeout=e.timeout??Tt.timeout,this.maxInboundStreams=e.maxInboundStreams??Tt.maxInboundStreams,this.maxOutboundStreams=e.maxOutboundStreams??Tt.maxOutboundStreams,this.maxMessageSize=e.maxMessageSize??Tt.maxMessageSize,this.maxObservedAddresses=e.maxObservedAddresses??Tt.maxObservedAddresses,this.runOnLimitedConnection=e.runOnLimitedConnection??Tt.runOnLimitedConnection,this.host={protocolVersion:`${e.protocolPrefix??Tt.protocolPrefix}/${Ga}`,agentVersion:Xl(t.nodeInfo,e.agentVersion)}}isStarted(){return this.started}async start(){this.started||(await this.peerStore.merge(this.peerId,{metadata:{AgentVersion:M(this.host.agentVersion),ProtocolVersion:M(this.host.protocolVersion)}}),await this.registrar.handle(this.protocol,t=>{this.handleProtocol(t).catch(e=>{this.log.error(e)})},{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams,runOnLimitedConnection:this.runOnLimitedConnection}),this.started=!0)}async stop(){await this.registrar.unhandle(this.protocol),this.started=!1}};var _n=class extends sr{connectionManager;concurrency;constructor(t,e={}){super(t,{...e,protocol:`/${e.protocolPrefix??Tt.protocolPrefix}/${Za}/${Wa}`,log:t.logger.forComponent("libp2p:identify-push")}),this.connectionManager=t.connectionManager,this.concurrency=e.concurrency??Tt.concurrency,(e.runOnSelfUpdate??Tt.runOnSelfUpdate)&&t.events.addEventListener("self:peer:update",n=>{this.push().catch(o=>{this.log.error(o)})})}[qr]=["@libp2p/identify-push"];async push(){if(!this.isStarted())return;let t=this.addressManager.getAddresses().map(u=>u.decapsulateCode(z("p2p").code)),e=new qt({peerId:this.peerId,multiaddrs:t}),n=await Yt.seal(e,this.privateKey),o=this.registrar.getProtocols(),s=await this.peerStore.get(this.peerId),i=N(s.metadata.get("AgentVersion")??M(this.host.agentVersion)),c=N(s.metadata.get("ProtocolVersion")??M(this.host.protocolVersion)),a=this;async function*f(){for(let u of a.connectionManager.getConnections())(await a.peerStore.get(u.remotePeer)).protocols.includes(a.protocol)&&(yield async()=>{let d,g=AbortSignal.timeout(a.timeout);try{d=await u.newStream(a.protocol,{signal:g,runOnLimitedConnection:a.runOnLimitedConnection}),await or(d,{maxDataLength:a.maxMessageSize}).pb(Ee).write({listenAddrs:t.map(b=>b.bytes),signedPeerRecord:n.marshal(),protocols:o,agentVersion:i,protocolVersion:c},{signal:g}),await d.close({signal:g})}catch(m){a.log.error("could not push identify update to peer",m),d?.abort(m)}})}await Va(Cs(f(),{concurrency:this.concurrency}))}async handleProtocol(t){let{connection:e,stream:n}=t;try{if(this.peerId.equals(e.remotePeer))throw new Error("received push from ourselves?");let o={signal:AbortSignal.timeout(this.timeout)},i=await or(n,{maxDataLength:this.maxMessageSize}).pb(Ee).read(o);await n.close(o),await Cn(this.peerStore,this.events,this.log,e,i)}catch(o){this.log.error("received invalid message",o),n.abort(o);return}this.log.trace("handled push from %p",e.remotePeer)}};var Ql=41;function Xa(r){try{let[[t,e]]=r.stringTuples();if(e==null)return!1;if(t===Ql)return La("2000::/3",e)}catch{}return!1}var Qa=Ic(Ja(),1),td=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],ed=td.map(r=>new Qa.Netmask(r));function Ds(r){for(let t of ed)if(t.contains(r))return!0;return!1}function rd(r){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(r)}function nd(r){let t=r.split(":");if(t.length<2)return!1;let e=t[t.length-1].padStart(4,"0"),n=t[t.length-2].padStart(4,"0"),o=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(e.substring(0,2),16)}.${parseInt(e.substring(2),16)}`;return Ds(o)}function od(r){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)}function sd(r){let t=r.split(":"),e=t[t.length-1];return Ds(e)}function id(r){return/^::$/.test(r)||/^::1$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}function tc(r){return er(r)?Ds(r):rd(r)?nd(r):od(r)?sd(r):rr(r)?id(r):void 0}function ec(r){try{let[[t]]=r.stringTuples();return t===4||t===41}catch{}return!1}function rc(r){try{if(!ec(r))return!1;let[[,t]]=r.stringTuples();return t==null?!1:tc(t)??!1}catch{}return!0}var ad=r=>r.toString().split("/").slice(1),ir=r=>({match:t=>t.length<1?!1:r(t[0])?t.slice(1):!1,pattern:"fn"}),V=r=>({match:t=>ir(e=>e===r).match(t),pattern:r}),Ke=()=>({match:r=>ir(t=>typeof t=="string").match(r),pattern:"{string}"}),Nr=()=>({match:r=>ir(t=>!isNaN(parseInt(t))).match(r),pattern:"{number}"}),W=()=>({match:r=>{if(r.length<2||r[0]!=="p2p"&&r[0]!=="ipfs")return!1;if(r[1].startsWith("Q")||r[1].startsWith("1"))try{j.decode(`z${r[1]}`)}catch{return!1}else return!1;return r.slice(2)},pattern:"/p2p/{peerid}"}),Or=()=>({match:r=>{if(r.length<2||r[0]!=="certhash")return!1;try{Xn.decode(r[1])}catch{return!1}return r.slice(2)},pattern:"/certhash/{certhash}"}),G=r=>({match:t=>{let e=r.match(t);return e===!1?t:e},pattern:`optional(${r.pattern})`}),wt=(...r)=>({match:t=>{let e;for(let n of r){let o=n.match(t);o!==!1&&(e==null||o.length<e.length)&&(e=o)}return e??!1},pattern:`or(${r.map(t=>t.pattern).join(", ")})`}),q=(...r)=>({match:t=>{for(let e of r){let n=e.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${r.map(t=>t.pattern).join(", ")})`});function rt(...r){function t(o){let s=ad(o);for(let i of r){let c=i.match(s);if(c===!1)return!1;s=c}return s}function e(o){return t(o)!==!1}function n(o){let s=t(o);return s===!1?!1:s.length===0}return{matchers:r,matches:e,exactMatch:n}}var Rn=q(V("dns4"),Ke()),Un=q(V("dns6"),Ke()),Nn=q(V("dnsaddr"),Ke()),Us=q(V("dns"),Ke()),Ix=rt(Rn,G(W())),Bx=rt(Un,G(W())),Px=rt(Nn,G(W())),Tx=rt(wt(Us,Nn,Rn,Un),G(W())),nc=q(V("ip4"),ir(er)),oc=q(V("ip6"),ir(rr)),Ns=wt(nc,oc),ae=wt(Ns,Us,Rn,Un,Nn),sc=rt(wt(Ns,q(wt(Us,Nn,Rn,Un),G(W())))),Lx=rt(nc),Cx=rt(oc),_x=rt(Ns),Os=q(ae,V("tcp"),Nr()),Kr=q(ae,V("udp"),Nr()),ic=rt(q(Os,G(W()))),Dx=rt(Kr),Ks=q(Kr,V("quic"),G(W())),On=q(Kr,V("quic-v1"),G(W())),cd=wt(Ks,On),Rx=rt(Ks),Ux=rt(On),Rs=wt(ae,Os,Kr,Ks,On),ac=wt(q(Rs,V("ws"),G(W()))),Nx=rt(ac),cc=wt(q(Rs,V("wss"),G(W())),q(Rs,V("tls"),G(q(V("sni"),Ke())),V("ws"),G(W()))),Ox=rt(cc),uc=q(Kr,V("webrtc-direct"),G(Or()),G(Or()),G(W())),Kx=rt(uc),fc=q(On,V("webtransport"),G(Or()),G(Or()),G(W())),kx=rt(fc),Dn=wt(ac,cc,q(Os,G(W())),q(cd,G(W())),q(ae,G(W())),uc,fc,W()),Mx=rt(Dn),ud=q(Dn,V("p2p-circuit"),W()),Fx=rt(ud),fd=wt(q(Dn,V("p2p-circuit"),V("webrtc"),G(W())),q(Dn,V("webrtc"),G(W())),q(V("webrtc"),G(W()))),Vx=rt(fd),ld=wt(q(ae,V("tcp"),Nr(),V("http"),G(W())),q(ae,V("http"),G(W()))),qx=rt(ld),dd=wt(q(ae,V("tcp"),wt(q(V("443"),V("http")),q(Nr(),V("https"))),G(W())),q(ae,V("tls"),V("http"),G(W())),q(ae,V("https"),G(W()))),Hx=rt(dd),hd=wt(q(V("memory"),Ke(),G(W()))),zx=rt(hd);var pd=41,Kn=class extends sr{constructor(t,e={}){super(t,{...e,protocol:`/${e.protocolPrefix??Tt.protocolPrefix}/${$a}/${Ya}`,log:t.logger.forComponent("libp2p:identify")}),(e.runOnConnectionOpen??Tt.runOnConnectionOpen)&&t.events.addEventListener("connection:open",n=>{let o=n.detail;this.identify(o).catch(s=>{s.name!==Vr.name&&this.log.error("error during identify trigged by connection:open",s)})})}[qr]=["@libp2p/identify"];async _identify(t,e={}){let n;if(e.signal==null){let o=AbortSignal.timeout(this.timeout);e={...e,signal:o}}try{n=await t.newStream(this.protocol,{...e,runOnLimitedConnection:this.runOnLimitedConnection});let s=await or(n,{maxDataLength:this.maxMessageSize}).pb(Ee).read(e);return await n.close(e),s}catch(o){throw n?.abort(o),o}}async identify(t,e={}){let n=await this._identify(t,e),{publicKey:o,protocols:s,observedAddr:i}=n;if(o==null)throw new Dt("public key was missing from identify message");let c=Je(o),a=yn(c.toCID());if(!t.remotePeer.equals(a))throw new Dt("identified peer does not match the expected peer");if(this.peerId.equals(a))throw new Dt("identified peer is our own peer id?");return this.maybeAddObservedAddress(i),this.log("identify completed for peer %p and protocols %o",a,s),Cn(this.peerStore,this.events,this.log,t,n)}maybeAddObservedAddress(t){let e=ja(t);if(e==null)return;if(this.log.trace("our observed address was %a",e),rc(e)){this.log.trace("our observed address was private");return}if(e.stringTuples()[0][0]===pd&&!Xa(e)){this.log.trace("our observed address was IPv6 but not a global unicast address");return}ic.exactMatch(e)||(this.log.trace("storing the observed address"),this.addressManager.addObservedAddr(e))}async handleProtocol(t){let{connection:e,stream:n}=t,o=AbortSignal.timeout(this.timeout);try{let s=await this.peerStore.get(this.peerId),i=this.addressManager.getAddresses().map(u=>u.decapsulateCode(z("p2p").code)),c=s.peerRecordEnvelope;if(i.length>0&&c==null){let u=new qt({peerId:this.peerId,multiaddrs:i});c=(await Yt.seal(u,this.privateKey)).marshal().subarray()}let a=e.remoteAddr.bytes;sc.matches(e.remoteAddr)||(a=void 0),await or(n).pb(Ee).write({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:Gt(this.privateKey.publicKey),listenAddrs:i.map(u=>u.bytes),signedPeerRecord:c,observedAddr:a,protocols:s.protocols},{signal:o}),await n.close({signal:o})}catch(s){this.log.error("could not respond to identify request",s),n.abort(s)}}};function md(r={}){return t=>new Kn(t,r)}function yd(r={}){return t=>new _n(t,r)}return Bc(gd);})();
|
|
3
3
|
/*! Bundled license information:
|
|
4
4
|
|
|
5
5
|
@noble/hashes/esm/utils.js:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/identify",
|
|
3
|
-
"version": "3.0.27-
|
|
3
|
+
"version": "3.0.27-fc5122110",
|
|
4
4
|
"description": "Implementation of the Identify Protocol",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/protocol-identify#readme",
|
|
@@ -52,12 +52,12 @@
|
|
|
52
52
|
"doc-check": "aegir doc-check"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@libp2p/crypto": "5.0.15-
|
|
56
|
-
"@libp2p/interface": "2.7.0-
|
|
57
|
-
"@libp2p/interface-internal": "2.3.9-
|
|
58
|
-
"@libp2p/peer-id": "5.1.0-
|
|
59
|
-
"@libp2p/peer-record": "8.0.25-
|
|
60
|
-
"@libp2p/utils": "6.6.0-
|
|
55
|
+
"@libp2p/crypto": "5.0.15-fc5122110",
|
|
56
|
+
"@libp2p/interface": "2.7.0-fc5122110",
|
|
57
|
+
"@libp2p/interface-internal": "2.3.9-fc5122110",
|
|
58
|
+
"@libp2p/peer-id": "5.1.0-fc5122110",
|
|
59
|
+
"@libp2p/peer-record": "8.0.25-fc5122110",
|
|
60
|
+
"@libp2p/utils": "6.6.0-fc5122110",
|
|
61
61
|
"@multiformats/multiaddr": "^12.3.3",
|
|
62
62
|
"@multiformats/multiaddr-matcher": "^1.6.0",
|
|
63
63
|
"it-drain": "^3.0.7",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"uint8arrays": "^5.1.0"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@libp2p/logger": "5.1.13-
|
|
71
|
+
"@libp2p/logger": "5.1.13-fc5122110",
|
|
72
72
|
"aegir": "^45.1.1",
|
|
73
73
|
"delay": "^6.0.0",
|
|
74
74
|
"it-length-prefixed": "^10.0.1",
|