@libp2p/bootstrap 7.0.0 → 8.0.0-3dfc236e

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/README.md CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  [![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)
4
4
  [![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)
5
- [![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-bootstrap.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-bootstrap)
6
- [![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p-bootstrap/js-test-and-release.yml?branch=master\&style=flat-square)](https://github.com/libp2p/js-libp2p-bootstrap/actions/workflows/js-test-and-release.yml?query=branch%3Amaster)
5
+ [![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)
6
+ [![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)
7
7
 
8
- > Node.js IPFS Implementation of the railing process of a Node through a bootstrap peer list
8
+ > Peer discovery via a list of bootstrap peers
9
9
 
10
10
  ## Table of contents <!-- omit in toc -->
11
11
 
@@ -89,7 +89,7 @@ start()
89
89
 
90
90
  ## API Docs
91
91
 
92
- - <https://libp2p.github.io/js-libp2p-bootstrap>
92
+ - <https://libp2p.github.io/js-libp2p/modules/_libp2p_bootstrap.html>
93
93
 
94
94
  ## License
95
95
 
package/dist/index.min.js CHANGED
@@ -1,3 +1,3 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PBootstrap = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PBootstrap=(()=>{var tn=Object.create;var De=Object.defineProperty;var rn=Object.getOwnPropertyDescriptor;var nn=Object.getOwnPropertyNames;var on=Object.getPrototypeOf,sn=Object.prototype.hasOwnProperty;var H=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),P=(t,e)=>{for(var r in e)De(t,r,{get:e[r],enumerable:!0})},Ot=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of nn(e))!sn.call(t,o)&&o!==r&&De(t,o,{get:()=>e[o],enumerable:!(n=rn(e,o))||n.enumerable});return t};var Ne=(t,e,r)=>(r=t!=null?tn(on(t)):{},Ot(e||!t||!t.__esModule?De(r,"default",{value:t,enumerable:!0}):r,t)),an=t=>Ot(De({},"__esModule",{value:!0}),t);var pr=H((Fi,dr)=>{dr.exports=Et;var fr=128,yo=127,xo=~yo,vo=Math.pow(2,31);function Et(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Et.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=vo;)e[r++]=t&255|fr,t/=128;for(;t&xo;)e[r++]=t&255|fr,t>>>=7;return e[r]=t|0,Et.bytes=r-n+1,e}});var gr=H((Pi,mr)=>{mr.exports=At;var Co=128,hr=127;function At(t,n){var r=0,n=n||0,o=0,s=n,i,f=t.length;do{if(s>=f||o>49)throw At.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&hr)<<o:(i&hr)*Math.pow(2,o),o+=7}while(i>=Co);return At.bytes=s-n,r}});var br=H((Ui,wr)=>{var So=Math.pow(2,7),Eo=Math.pow(2,14),Ao=Math.pow(2,21),To=Math.pow(2,28),Io=Math.pow(2,35),Fo=Math.pow(2,42),Po=Math.pow(2,49),Uo=Math.pow(2,56),Do=Math.pow(2,63);wr.exports=function(t){return t<So?1:t<Eo?2:t<Ao?3:t<To?4:t<Io?5:t<Fo?6:t<Po?7:t<Uo?8:t<Do?9:10}});var $e=H((Di,yr)=>{yr.exports={encode:pr(),decode:gr(),encodingLength:br()}});var qr=H((Ka,jr)=>{var pe=1e3,he=pe*60,me=he*60,Z=me*24,as=Z*7,cs=Z*365.25;jr.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return us(t);if(r==="number"&&isFinite(t))return e.long?fs(t):ls(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function us(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*cs;case"weeks":case"week":case"w":return r*as;case"days":case"day":case"d":return r*Z;case"hours":case"hour":case"hrs":case"hr":case"h":return r*me;case"minutes":case"minute":case"mins":case"min":case"m":return r*he;case"seconds":case"second":case"secs":case"sec":case"s":return r*pe;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function ls(t){var e=Math.abs(t);return e>=Z?Math.round(t/Z)+"d":e>=me?Math.round(t/me)+"h":e>=he?Math.round(t/he)+"m":e>=pe?Math.round(t/pe)+"s":t+"ms"}function fs(t){var e=Math.abs(t);return e>=Z?He(t,e,Z,"day"):e>=me?He(t,e,me,"hour"):e>=he?He(t,e,he,"minute"):e>=pe?He(t,e,pe,"second"):t+" ms"}function He(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Gr=H((Ya,Wr)=>{function ds(t){r.debug=r,r.default=r,r.coerce=b,r.disable=s,r.enable=o,r.enabled=i,r.humanize=qr(),r.destroy=I,Object.keys(t).forEach(c=>{r[c]=t[c]}),r.names=[],r.skips=[],r.formatters={};function e(c){let l=0;for(let p=0;p<c.length;p++)l=(l<<5)-l+c.charCodeAt(p),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=e;function r(c){let l,p=null,S,d;function g(...y){if(!g.enabled)return;let x=g,A=Number(new Date),D=A-(l||A);x.diff=D,x.prev=l,x.curr=A,l=A,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let E=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(N,F)=>{if(N==="%%")return"%";E++;let M=r.formatters[F];if(typeof M=="function"){let ee=y[E];N=M.call(x,ee),y.splice(E,1),E--}return N}),r.formatArgs.call(x,y),(x.log||r.log).apply(x,y)}return g.namespace=c,g.useColors=r.useColors(),g.color=r.selectColor(c),g.extend=n,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(S!==r.namespaces&&(S=r.namespaces,d=r.enabled(c)),d),set:y=>{p=y}}),typeof r.init=="function"&&r.init(g),g}function n(c,l){let p=r(this.namespace+(typeof l>"u"?":":l)+c);return p.log=this.log,p}function o(c){r.save(c),r.namespaces=c,r.names=[],r.skips=[];let l,p=(typeof c=="string"?c:"").split(/[\s,]+/),S=p.length;for(l=0;l<S;l++)p[l]&&(c=p[l].replace(/\*/g,".*?"),c[0]==="-"?r.skips.push(new RegExp("^"+c.slice(1)+"$")):r.names.push(new RegExp("^"+c+"$")))}function s(){let c=[...r.names.map(f),...r.skips.map(f).map(l=>"-"+l)].join(",");return r.enable(""),c}function i(c){if(c[c.length-1]==="*")return!0;let l,p;for(l=0,p=r.skips.length;l<p;l++)if(r.skips[l].test(c))return!1;for(l=0,p=r.names.length;l<p;l++)if(r.names[l].test(c))return!0;return!1}function f(c){return c.toString().substring(2,c.toString().length-2).replace(/\.\*\?$/,"*")}function b(c){return c instanceof Error?c.stack||c.message:c}function I(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Wr.exports=ds});var Jr=H((U,Qe)=>{U.formatArgs=hs;U.save=ms;U.load=gs;U.useColors=ps;U.storage=ws();U.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();U.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function ps(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function hs(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Qe.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}U.log=console.debug||console.log||(()=>{});function ms(t){try{t?U.storage.setItem("debug",t):U.storage.removeItem("debug")}catch{}}function gs(){let t;try{t=U.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function ws(){try{return localStorage}catch{}}Qe.exports=Gr()(U);var{formatters:bs}=Qe.exports;bs.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Fs={};P(Fs,{bootstrap:()=>Is});var Me=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}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(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,o){return this.readAtomically(()=>{let s=0,i=0,f=this.peekChar();if(f===void 0)return;let b=f==="0",I=2**(8*o)-1;for(;;){let c=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let p=Number.parseInt(l,e);if(!Number.isNaN(p))return p});if(c===void 0)break;if(s*=e,s+=c,s>I||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&b&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[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];r[o]=s>>8,r[o+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=e(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[f]=e(s.subarray(0,i));return r.set(s.subarray(0,f),16-f),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var _t=45,cn=15,te=new Me;function Ye(t){if(!(t.length>cn))return te.new(t).parseWith(()=>te.readIPv4Addr())}function Ze(t){if(!(t.length>_t))return te.new(t).parseWith(()=>te.readIPv6Addr())}function ke(t){if(!(t.length>_t))return te.new(t).parseWith(()=>te.readIPAddr())}function $t(t){return!!Ye(t)}function Vt(t){return!!Ze(t)}function Be(t){return!!ke(t)}var ot={};P(ot,{identity:()=>hn});function un(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var f=t.length,b=t.charAt(0),I=Math.log(f)/Math.log(256),c=Math.log(256)/Math.log(f);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var g=0,y=0,x=0,A=d.length;x!==A&&d[x]===0;)x++,g++;for(var D=(A-x)*c+1>>>0,E=new Uint8Array(D);x!==A;){for(var B=d[x],N=0,F=D-1;(B!==0||N<y)&&F!==-1;F--,N++)B+=256*E[F]>>>0,E[F]=B%f>>>0,B=B/f>>>0;if(B!==0)throw new Error("Non-zero carry");y=N,x++}for(var M=D-y;M!==D&&E[M]===0;)M++;for(var ee=b.repeat(g);M<D;++M)ee+=t.charAt(E[M]);return ee}function p(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var g=0;if(d[g]!==" "){for(var y=0,x=0;d[g]===b;)y++,g++;for(var A=(d.length-g)*I+1>>>0,D=new Uint8Array(A);d[g];){var E=r[d.charCodeAt(g)];if(E===255)return;for(var B=0,N=A-1;(E!==0||B<x)&&N!==-1;N--,B++)E+=f*D[N]>>>0,D[N]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");x=B,g++}if(d[g]!==" "){for(var F=A-x;F!==A&&D[F]===0;)F++;for(var M=new Uint8Array(y+(A-F)),ee=y;F!==A;)M[ee++]=D[F++];return M}}}function S(d){var g=p(d);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:S}}var ln=un,fn=ln,jt=fn;var Ls=new Uint8Array(0);var qt=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},R=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Wt=t=>new TextEncoder().encode(t),Gt=t=>new TextDecoder().decode(t);var et=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},tt=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Ht(this,e)}},rt=class{constructor(e){this.decoders=e}or(e){return Ht(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ht=(t,e)=>new rt({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),nt=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new et(e,r,n),this.decoder=new tt(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},re=({name:t,prefix:e,encode:r,decode:n})=>new nt(t,e,r,n),j=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=jt(r,e);return re({prefix:t,name:e,encode:n,decode:s=>R(o(s))})},dn=(t,e,r,n)=>{let o={};for(let c=0;c<e.length;++c)o[e[c]]=c;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),f=0,b=0,I=0;for(let c=0;c<s;++c){let l=o[t[c]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);b=b<<r|l,f+=r,f>=8&&(f-=8,i[I++]=255&b>>f)}if(f>=r||255&b<<8-f)throw new SyntaxError("Unexpected end of data");return i},pn=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,f=0;for(let b=0;b<t.length;++b)for(f=f<<8|t[b],i+=8;i>r;)i-=r,s+=e[o&f>>i];if(i&&(s+=e[o&f<<r-i]),n)for(;s.length*r&7;)s+="=";return s},w=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>re({prefix:e,name:t,encode(o){return pn(o,n,r)},decode(o){return dn(o,n,r,t)}});var hn=re({prefix:"\0",name:"identity",encode:t=>Gt(t),decode:t=>Wt(t)});var st={};P(st,{base2:()=>mn});var mn=w({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var it={};P(it,{base8:()=>gn});var gn=w({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var at={};P(at,{base10:()=>wn});var wn=j({prefix:"9",name:"base10",alphabet:"0123456789"});var ct={};P(ct,{base16:()=>bn,base16upper:()=>yn});var bn=w({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),yn=w({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ut={};P(ut,{base32:()=>L,base32hex:()=>Sn,base32hexpad:()=>An,base32hexpadupper:()=>Tn,base32hexupper:()=>En,base32pad:()=>vn,base32padupper:()=>Cn,base32upper:()=>xn,base32z:()=>In});var L=w({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),xn=w({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),vn=w({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Cn=w({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Sn=w({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),En=w({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),An=w({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Tn=w({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),In=w({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var lt={};P(lt,{base36:()=>Fn,base36upper:()=>Pn});var Fn=j({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Pn=j({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ft={};P(ft,{base58btc:()=>v,base58flickr:()=>Un});var v=j({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Un=j({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var pt={};P(pt,{base64:()=>dt,base64pad:()=>Dn,base64url:()=>Nn,base64urlpad:()=>Mn});var dt=w({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Dn=w({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Nn=w({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Mn=w({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ht={};P(ht,{base256emoji:()=>Rn});var Qt=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}"),kn=Qt.reduce((t,e,r)=>(t[r]=e,t),[]),Bn=Qt.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Ln(t){return t.reduce((e,r)=>(e+=kn[r],e),"")}function zn(t){let e=[];for(let r of t){let n=Bn[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Rn=re({prefix:"\u{1F680}",name:"base256emoji",encode:Ln,decode:zn});var bt={};P(bt,{sha256:()=>ze,sha512:()=>no});var On=Yt,Xt=128,_n=127,$n=~_n,Vn=Math.pow(2,31);function Yt(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Vn;)e[r++]=t&255|Xt,t/=128;for(;t&$n;)e[r++]=t&255|Xt,t>>>=7;return e[r]=t|0,Yt.bytes=r-n+1,e}var jn=mt,qn=128,Kt=127;function mt(t,n){var r=0,n=n||0,o=0,s=n,i,f=t.length;do{if(s>=f)throw mt.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Kt)<<o:(i&Kt)*Math.pow(2,o),o+=7}while(i>=qn);return mt.bytes=s-n,r}var Wn=Math.pow(2,7),Gn=Math.pow(2,14),Jn=Math.pow(2,21),Hn=Math.pow(2,28),Qn=Math.pow(2,35),Xn=Math.pow(2,42),Kn=Math.pow(2,49),Yn=Math.pow(2,56),Zn=Math.pow(2,63),eo=function(t){return t<Wn?1:t<Gn?2:t<Jn?3:t<Hn?4:t<Qn?5:t<Xn?6:t<Kn?7:t<Yn?8:t<Zn?9:10},to={encode:On,decode:jn,encodingLength:eo},ro=to,ge=ro;var we=(t,e=0)=>[ge.decode(t,e),ge.decode.bytes],ne=(t,e,r=0)=>(ge.encode(t,e,r),e),oe=t=>ge.encodingLength(t);var q=(t,e)=>{let r=e.byteLength,n=oe(t),o=n+oe(r),s=new Uint8Array(o+r);return ne(t,s,0),ne(r,s,n),s.set(e,o),new se(t,r,e,s)},Q=t=>{let e=R(t),[r,n]=we(e),[o,s]=we(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new se(r,o,i,e)},Zt=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&qt(t.bytes,r.bytes)}},se=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var wt=({name:t,code:e,encode:r})=>new gt(t,e,r),gt=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?q(this.code,r):r.then(n=>q(this.code,n))}else throw Error("Unknown type, must be binary type")}};var tr=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ze=wt({name:"sha2-256",code:18,encode:tr("SHA-256")}),no=wt({name:"sha2-512",code:19,encode:tr("SHA-512")});var yt={};P(yt,{identity:()=>Re});var rr=0,oo="identity",nr=R,so=t=>q(rr,nr(t)),Re={code:rr,name:oo,encode:nr,digest:so};var ni=new TextEncoder,oi=new TextDecoder;var or=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return uo(r,xt(t),e||v.encoder);default:return lo(r,xt(t),e||L.encoder)}};var sr=new WeakMap,xt=t=>{let e=sr.get(t);if(e==null){let r=new Map;return sr.set(t,r),r}return e},h=class{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==be)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==fo)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return h.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=q(e,r);return h.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return h.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Zt(e.multihash,n.multihash)}toString(e){return or(this,e)}toJSON(){return{"/":or(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof h)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new h(n,o,s,i||ir(n,o,s.bytes))}else if(r[po]===!0){let{version:n,multihash:o,code:s}=r,i=Q(o);return h.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==be)throw new Error(`Version 0 CID must use dag-pb (code: ${be}) block encoding`);return new h(e,r,n,n.bytes)}case 1:{let o=ir(e,r,n.bytes);return new h(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return h.create(0,be,e)}static createV1(e,r){return h.create(1,e,r)}static decode(e){let[r,n]=h.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=h.inspectBytes(e),n=r.size-r.multihashSize,o=R(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new se(r.multihashCode,r.digestSize,s,o);return[r.version===0?h.createV0(i):h.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,p]=we(e.subarray(r));return r+=p,l},o=n(),s=be;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,f=n(),b=n(),I=r+b,c=I-i;return{version:o,codec:s,multihashCode:f,digestSize:b,multihashSize:c,size:I}}static parse(e,r){let[n,o]=co(e,r),s=h.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return xt(s).set(n,e),s}},co=(t,e)=>{switch(t[0]){case"Q":{let r=e||v;return[v.prefix,r.decode(`${v.prefix}${t}`)]}case v.prefix:{let r=e||v;return[v.prefix,r.decode(t)]}case L.prefix:{let r=e||L;return[L.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},uo=(t,e,r)=>{let{prefix:n}=r;if(n!==v.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o},lo=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o},be=112,fo=18,ir=(t,e,r)=>{let n=oe(t),o=n+oe(e),s=new Uint8Array(o+r.byteLength);return ne(t,s,0),ne(e,s,n),s.set(r,o),s},po=Symbol.for("@ipld/js-cid/CID");var W={...ot,...st,...it,...at,...ct,...ut,...lt,...ft,...pt,...ht},hi={...bt,...yt};function ie(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Oe(t=0){return globalThis.Buffer?.allocUnsafe!=null?ie(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function cr(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var ar=cr("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),vt=cr("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Oe(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),ho={utf8:ar,"utf-8":ar,hex:W.base16,latin1:vt,ascii:vt,binary:vt,...W},_e=ho;function T(t,e="utf8"){let r=_e[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var ur=$t,mo=Vt,Ct=function(t){let e=0;if(t=t.toString().trim(),ur(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(mo(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=ur(r[n]),i;s&&(i=Ct(r[n]),r[n]=T(i.slice(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,T(i.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);o[e++]=s>>8&255,o[e++]=s&255}return o}throw new Error("invalid ip address")},lr=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let o=[];for(let s=0;s<r;s++)o.push(t[e+s]);return o.join(".")}if(r===16){let o=[];for(let s=0;s<r;s+=2)o.push(n.getUint16(e+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ye={},St={},wo=[[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"],[777,-1,"memory"]];wo.forEach(t=>{let e=bo(...t);St[e.code]=e,ye[e.name]=e});function bo(t,e,r,n,o){return{code:t,size:e,name:r,resolvable:!!n,path:!!o}}function m(t){if(typeof t=="number"){if(St[t]!=null)return St[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(ye[t]!=null)return ye[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var z=Ne($e(),1);function Tt(t,e="utf8"){let r=_e[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ie(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function O(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=Oe(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return ie(r)}var qi=parseInt("0xFFFF",16),Wi=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Ca=m("ip4"),Sa=m("ip6"),Ea=m("ipcidr");function Tr(t,e){switch(m(t).code){case 4:case 41:return zo(e);case 42:return Er(e);case 6:case 273:case 33:case 132:return Fr(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Er(e);case 421:return $o(e);case 444:return Ar(e);case 445:return Ar(e);case 466:return _o(e);default:return T(e,"base16")}}function Ir(t,e){switch(m(t).code){case 4:return Cr(e);case 41:return Cr(e);case 42:return Sr(e);case 6:case 273:case 33:case 132:return Ft(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Sr(e);case 421:return Ro(e);case 444:return Vo(e);case 445:return jo(e);case 466:return Oo(e);default:return Tt(e,"base16")}}var It=Object.values(W).map(t=>t.decoder),Lo=function(){let t=It[0].or(It[1]);return It.slice(2).forEach(e=>t=t.or(e)),t}();function Cr(t){if(!Be(t))throw new Error("invalid ip address");return Ct(t)}function zo(t){let e=lr(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Be(e))throw new Error("invalid ip address");return e}function Ft(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Fr(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Sr(t){let e=Tt(t),r=Uint8Array.from(z.default.encode(e.length));return O([r,e],r.length+e.length)}function Er(t){let e=z.default.decode(t);if(t=t.slice(z.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return T(t)}function Ro(t){let e;t[0]==="Q"||t[0]==="1"?e=Q(v.decode(`z${t}`)).bytes:e=h.parse(t).multihash.bytes;let r=Uint8Array.from(z.default.encode(e.length));return O([r,e],r.length+e.length)}function Oo(t){let e=Lo.decode(t),r=Uint8Array.from(z.default.encode(e.length));return O([r,e],r.length+e.length)}function _o(t){let e=z.default.decode(t),r=t.slice(z.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+T(r,"base64url")}function $o(t){let e=z.default.decode(t),r=t.slice(z.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return T(r,"base58btc")}function Vo(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=L.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ft(n);return O([r,o],r.length+o.length)}function jo(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=L.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ft(n);return O([r,o],r.length+o.length)}function Ar(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=T(e,"base32"),o=Fr(r);return`${n}:${o}`}var ae=Ne($e(),1);function qo(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let o=r[n],s=m(o);if(s.size===0){e.push([o]);continue}if(n++,n>=r.length)throw Ur("invalid address: "+t);if(s.path===!0){e.push([o,Mt(r.slice(n).join("/"))]);break}e.push([o,r[n]])}return e}function Wo(t){let e=[];return t.map(r=>{let n=qe(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Mt(e.join("/"))}function Go(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=qe(e);return e.length>1?[r.code,Ir(r.code,e[1])]:[r.code]})}function Pt(t){return t.map(e=>{let r=qe(e);return e[1]!=null?[r.code,Tr(r.code,e[1])]:[r.code]})}function Ut(t){return je(O(t.map(e=>{let r=qe(e),n=Uint8Array.from(ae.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=O([n,e[1]])),n})))}function Dt(t,e){return t.size>0?t.size/8:t.size===0?0:ae.default.decode(e)+(ae.default.decode.bytes??0)}function Ve(t){let e=[],r=0;for(;r<t.length;){let n=ae.default.decode(t,r),o=ae.default.decode.bytes??0,s=m(n),i=Dt(s,t.slice(r+o));if(i===0){e.push([n]),r+=o;continue}let f=t.slice(r+o,r+o+i);if(r+=i+o,r>t.length)throw Ur("Invalid address Uint8Array: "+T(t,"base16"));e.push([n,f])}return e}function Nt(t){let e=Ve(t),r=Pt(e);return Wo(r)}function Jo(t){t=Mt(t);let e=qo(t),r=Go(e);return Ut(r)}function Pr(t){return Jo(t)}function je(t){let e=Ho(t);if(e!=null)throw e;return Uint8Array.from(t)}function Ho(t){try{Ve(t)}catch(e){return e}}function Mt(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Ur(t){return new Error("Error parsing address: "+t)}function qe(t){return m(t[0])}var kt=Ne($e(),1);var xe=class extends Error{constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};function ve(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var _=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},ue=function(t,e,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(t,r):o?o.value=r:e.set(t,r),r},Ce,Se,Ee,G,Dr,Xo=Symbol.for("nodejs.util.inspect.custom"),Ko=[m("dns").code,m("dns4").code,m("dns6").code,m("dnsaddr").code],Yo=new Map,Nr=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Zo(t){return!!t?.[Nr]}var $=class{constructor(e){if(Ce.set(this,void 0),Se.set(this,void 0),Ee.set(this,void 0),G.set(this,void 0),this[Dr]=!0,e==null&&(e=""),e instanceof Uint8Array)this.bytes=je(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Pr(e)}else if(Zo(e))this.bytes=je(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return _(this,Ce,"f")==null&&ue(this,Ce,Nt(this.bytes),"f"),_(this,Ce,"f")}toJSON(){return this.toString()}toOptions(){let e,r,n,o,s="",i=m("tcp"),f=m("udp"),b=m("ip4"),I=m("ip6"),c=m("dns6"),l=m("ip6zone");for(let[S,d]of this.stringTuples())S===l.code&&(s=`%${d??""}`),Ko.includes(S)&&(r=i.name,o=443,n=`${d??""}${s}`,e=S===c.code?6:4),(S===i.code||S===f.code)&&(r=m(S).name,o=parseInt(d??"")),(S===b.code||S===I.code)&&(r=m(S).name,n=`${d??""}${s}`,e=S===I.code?6:4);if(e==null||r==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:e,host:n,transport:r,port:o}}protos(){return this.protoCodes().map(e=>Object.assign({},m(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let o=kt.default.decode(r,n),s=kt.default.decode.bytes??0,i=m(o),f=Dt(i,r.slice(n+s));n+=f+s,e.push(o)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return _(this,Se,"f")==null&&ue(this,Se,Ve(this.bytes),"f"),_(this,Se,"f")}stringTuples(){return _(this,Ee,"f")==null&&ue(this,Ee,Pt(this.tuples()),"f"),_(this,Ee,"f")}encapsulate(e){return e=new $(e),new $(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new $(n.slice(0,o))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new $(Ut(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===ye.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?T(v.decode(`z${n}`),"base58btc"):T(h.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(_(this,G,"f")===void 0)try{ue(this,G,this.stringTuples().filter(e=>m(e[0]).path===!0)[0][1],"f"),_(this,G,"f")==null&&ue(this,G,null,"f")}catch{ue(this,G,null,"f")}return _(this,G,"f")}equals(e){return ve(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Yo.get(r.name);if(n==null)throw new xe(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new $(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(Ce=new WeakMap,Se=new WeakMap,Ee=new WeakMap,G=new WeakMap,Dr=Nr,Xo)](){return`Multiaddr(${Nt(this.bytes)})`}};function ce(t){return new $(t)}var es=a("dns4"),ts=a("dns6"),rs=a("dnsaddr"),K=C(a("dns"),rs,es,ts),We=C(a("ip4"),a("ip6")),fe=C(u(We,a("tcp")),u(K,a("tcp"))),Ge=u(We,a("udp")),ns=u(Ge,a("utp")),os=u(Ge,a("quic")),ss=u(Ge,a("quic-v1")),Ae=C(u(fe,a("ws")),u(K,a("ws"))),Te=C(u(fe,a("wss")),u(K,a("wss")),u(fe,a("tls"),a("ws")),u(K,a("tls"),a("ws"))),Bt=C(u(fe,a("http")),u(We,a("http")),u(K,a("http"))),Lt=C(u(fe,a("https")),u(We,a("https")),u(K,a("https"))),Mr=u(Ge,a("webrtc-direct"),a("certhash")),Lr=C(u(Mr,a("p2p")),Mr),kr=u(ss,a("webtransport"),a("certhash"),a("certhash")),zr=C(u(kr,a("p2p")),kr),Rr=C(u(Ae,a("p2p-webrtc-star"),a("p2p")),u(Te,a("p2p-webrtc-star"),a("p2p")),u(Ae,a("p2p-webrtc-star")),u(Te,a("p2p-webrtc-star"))),Ga=C(u(Ae,a("p2p-websocket-star"),a("p2p")),u(Te,a("p2p-websocket-star"),a("p2p")),u(Ae,a("p2p-websocket-star")),u(Te,a("p2p-websocket-star"))),Or=C(u(Bt,a("p2p-webrtc-direct"),a("p2p")),u(Lt,a("p2p-webrtc-direct"),a("p2p")),u(Bt,a("p2p-webrtc-direct")),u(Lt,a("p2p-webrtc-direct"))),de=C(Ae,Te,Bt,Lt,Rr,Or,fe,ns,os,K,Lr,zr),Ja=C(u(de,a("p2p-stardust"),a("p2p")),u(de,a("p2p-stardust"))),J=C(u(de,a("p2p")),Rr,Or,Lr,zr,a("p2p")),Br=C(u(J,a("p2p-circuit"),J),u(J,a("p2p-circuit")),u(a("p2p-circuit"),J),u(de,a("p2p-circuit")),u(a("p2p-circuit"),de),a("p2p-circuit")),_r=()=>C(u(Br,_r),Br),le=_r(),$r=C(u(le,J,le),u(J,le),u(le,J),le,J);var Ha=C(u(le,a("webrtc")),u(de,a("webrtc")),a("webrtc"));function Vr(t){function e(r){let n;try{n=ce(r)}catch{return!1}let o=t(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return e}function u(...t){function e(r){if(r.length<t.length)return null;let n=r;return t.some(o=>(n=typeof o=="function"?o().partialMatch(r):o.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:Vr(e),partialMatch:e}}function C(...t){function e(n){let o=null;return t.some(s=>{let i=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return i!=null?(o=i,!0):!1}),o}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:Vr(e),partialMatch:e}}function a(t){let e=t;function r(o){let s;try{s=ce(o)}catch{return!1}let i=s.protoNames();return i.length===1&&i[0]===e}function n(o){return o.length===0?null:o[0]===e?o.slice(1):null}return{toString:function(){return e},matches:r,partialMatch:n}}var Y=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},V,Je=class extends EventTarget{constructor(){super(...arguments),V.set(this,new Map)}listenerCount(e){let r=Y(this,V,"f").get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let o=Y(this,V,"f").get(e);o==null&&(o=[],Y(this,V,"f").set(e,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=Y(this,V,"f").get(e);o!=null&&(o=o.filter(({callback:s})=>s!==r),Y(this,V,"f").set(e,o))}dispatchEvent(e){let r=super.dispatchEvent(e),n=Y(this,V,"f").get(e.type);return n==null||(n=n.filter(({once:o})=>!o),Y(this,V,"f").set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new is(e,r))}};V=new WeakMap;var zt=class extends Event{constructor(e,r){super(e,r),this.detail=r?.detail}},is=globalThis.CustomEvent??zt;var k=Ne(Jr(),1);k.default.formatters.b=t=>t==null?"undefined":v.baseEncode(t);k.default.formatters.t=t=>t==null?"undefined":L.baseEncode(t);k.default.formatters.m=t=>t==null?"undefined":dt.baseEncode(t);k.default.formatters.p=t=>t==null?"undefined":t.toString();k.default.formatters.c=t=>t==null?"undefined":t.toString();k.default.formatters.k=t=>t==null?"undefined":t.toString();function ys(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function Hr(t){let e=ys(`${t}:trace`);return k.default.enabled(`${t}:trace`)&&k.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,k.default)(`${t}:trace`)),Object.assign((0,k.default)(t),{error:(0,k.default)(`${t}:error`),trace:e})}var Qr=Symbol.for("@libp2p/peer-id");var xs=Symbol.for("nodejs.util.inspect.custom"),Xr=Object.values(W).map(t=>t.decoder).reduce((t,e)=>t.or(e),W.identity.decoder),Kr=114,Yr=36,Zr=37,Ie=class{constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[Qr](){return!0}toString(){return this.string==null&&(this.string=v.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return h.createV1(Kr,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return ve(this.multihash.bytes,e);if(typeof e=="string")return Rt(e).equals(this);if(e?.multihash?.bytes!=null)return ve(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[xs](){return`PeerId(${this.toString()})`}},Fe=class extends Ie{constructor(e){super({...e,type:"RSA"}),this.type="RSA",this.publicKey=e.publicKey}},Pe=class extends Ie{constructor(e){super({...e,type:"Ed25519"}),this.type="Ed25519",this.publicKey=e.multihash.digest}},Ue=class extends Ie{constructor(e){super({...e,type:"secp256k1"}),this.type="secp256k1",this.publicKey=e.multihash.digest}};function Rt(t,e){if(e=e??Xr,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Q(v.decode(`z${t}`));return t.startsWith("12D")?new Pe({multihash:r}):t.startsWith("16U")?new Ue({multihash:r}):new Fe({multihash:r})}return vs(Xr.decode(t))}function vs(t){try{let e=Q(t);if(e.code===Re.code){if(e.digest.length===Yr)return new Pe({multihash:e});if(e.digest.length===Zr)return new Ue({multihash:e})}if(e.code===ze.code)return new Fe({multihash:e})}catch{return Cs(h.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Cs(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Kr)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===ze.code)return new Fe({multihash:t.multihash});if(e.code===Re.code){if(e.digest.length===Yr)return new Pe({multihash:t.multihash});if(e.digest.length===Zr)return new Ue({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}var en=Symbol.for("@libp2p/peer-discovery");var Xe=Hr("libp2p:bootstrap"),Ss="bootstrap",Es=50,As=12e4,Ts=1e3,Ke=class extends Je{constructor(e,r={list:[]}){if(r.list==null||r.list.length===0)throw new Error("Bootstrap requires a list of peer addresses");super(),this.components=e,this.timeout=r.timeout??Ts,this.list=[];for(let n of r.list){if(!$r.matches(n)){Xe.error("Invalid multiaddr");continue}let o=ce(n),s=o.getPeerId();if(s==null){Xe.error("Invalid bootstrap multiaddr without peer id");continue}let i={id:Rt(s),multiaddrs:[o],protocols:[]};this.list.push(i)}this._init=r}get[en](){return!0}get[Symbol.toStringTag](){return"@libp2p/bootstrap"}isStarted(){return!!this.timer}start(){this.isStarted()||(Xe("Starting bootstrap node discovery, discovering peers after %s ms",this.timeout),this.timer=setTimeout(()=>{this._discoverBootstrapPeers().catch(e=>{Xe.error(e)})},this.timeout))}async _discoverBootstrapPeers(){if(this.timer!=null)for(let e of this.list){if(await this.components.peerStore.merge(e.id,{tags:{[this._init.tagName??Ss]:{value:this._init.tagValue??Es,ttl:this._init.tagTTL??As}}}),this.timer==null)return;this.safeDispatchEvent("peer",{detail:e})}}stop(){this.timer!=null&&clearTimeout(this.timer),this.timer=void 0}};Ke.tag="bootstrap";function Is(t){return e=>new Ke(e,t)}return an(Fs);})();
2
+ "use strict";var Libp2PBootstrap=(()=>{var Hr=Object.create;var fe=Object.defineProperty;var Qr=Object.getOwnPropertyDescriptor;var Xr=Object.getOwnPropertyNames;var Yr=Object.getPrototypeOf,Zr=Object.prototype.hasOwnProperty;var en=(t,e,r)=>e in t?fe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var W=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),P=(t,e)=>{for(var r in e)fe(t,r,{get:e[r],enumerable:!0})},Bt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Xr(e))!Zr.call(t,o)&&o!==r&&fe(t,o,{get:()=>e[o],enumerable:!(n=Qr(e,o))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Hr(Yr(t)):{},Bt(e||!t||!t.__esModule?fe(r,"default",{value:t,enumerable:!0}):r,t)),tn=t=>Bt(fe({},"__esModule",{value:!0}),t);var qe=(t,e,r)=>(en(t,typeof e!="symbol"?e+"":e,r),r);var zt=W((Ts,Lt)=>{var Z=1e3,ee=Z*60,te=ee*60,G=te*24,nn=G*7,on=G*365.25;Lt.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return sn(t);if(r==="number"&&isFinite(t))return e.long?cn(t):an(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function sn(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*on;case"weeks":case"week":case"w":return r*nn;case"days":case"day":case"d":return r*G;case"hours":case"hour":case"hrs":case"hr":case"h":return r*te;case"minutes":case"minute":case"mins":case"min":case"m":return r*ee;case"seconds":case"second":case"secs":case"sec":case"s":return r*Z;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function an(t){var e=Math.abs(t);return e>=G?Math.round(t/G)+"d":e>=te?Math.round(t/te)+"h":e>=ee?Math.round(t/ee)+"m":e>=Z?Math.round(t/Z)+"s":t+"ms"}function cn(t){var e=Math.abs(t);return e>=G?Ee(t,e,G,"day"):e>=te?Ee(t,e,te,"hour"):e>=ee?Ee(t,e,ee,"minute"):e>=Z?Ee(t,e,Z,"second"):t+" ms"}function Ee(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Ot=W((Fs,Rt)=>{function un(t){r.debug=r,r.default=r,r.coerce=y,r.disable=s,r.enable=o,r.enabled=i,r.humanize=zt(),r.destroy=T,Object.keys(t).forEach(c=>{r[c]=t[c]}),r.names=[],r.skips=[],r.formatters={};function e(c){let l=0;for(let d=0;d<c.length;d++)l=(l<<5)-l+c.charCodeAt(d),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=e;function r(c){let l,d=null,S,p;function b(...x){if(!b.enabled)return;let v=b,A=Number(new Date),N=A-(l||A);v.diff=N,v.prev=l,v.curr=A,l=A,x[0]=r.coerce(x[0]),typeof x[0]!="string"&&x.unshift("%O");let E=0;x[0]=x[0].replace(/%([a-zA-Z%])/g,(D,F)=>{if(D==="%%")return"%";E++;let B=r.formatters[F];if(typeof B=="function"){let Y=x[E];D=B.call(v,Y),x.splice(E,1),E--}return D}),r.formatArgs.call(v,x),(v.log||r.log).apply(v,x)}return b.namespace=c,b.useColors=r.useColors(),b.color=r.selectColor(c),b.extend=n,b.destroy=r.destroy,Object.defineProperty(b,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(S!==r.namespaces&&(S=r.namespaces,p=r.enabled(c)),p),set:x=>{d=x}}),typeof r.init=="function"&&r.init(b),b}function n(c,l){let d=r(this.namespace+(typeof l>"u"?":":l)+c);return d.log=this.log,d}function o(c){r.save(c),r.namespaces=c,r.names=[],r.skips=[];let l,d=(typeof c=="string"?c:"").split(/[\s,]+/),S=d.length;for(l=0;l<S;l++)d[l]&&(c=d[l].replace(/\*/g,".*?"),c[0]==="-"?r.skips.push(new RegExp("^"+c.slice(1)+"$")):r.names.push(new RegExp("^"+c+"$")))}function s(){let c=[...r.names.map(f),...r.skips.map(f).map(l=>"-"+l)].join(",");return r.enable(""),c}function i(c){if(c[c.length-1]==="*")return!0;let l,d;for(l=0,d=r.skips.length;l<d;l++)if(r.skips[l].test(c))return!1;for(l=0,d=r.names.length;l<d;l++)if(r.names[l].test(c))return!0;return!1}function f(c){return c.toString().substring(2,c.toString().length-2).replace(/\.\*\?$/,"*")}function y(c){return c instanceof Error?c.stack||c.message:c}function T(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Rt.exports=un});var $t=W((U,Ae)=>{U.formatArgs=fn;U.save=pn;U.load=dn;U.useColors=ln;U.storage=hn();U.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();U.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function ln(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function fn(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ae.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}U.log=console.debug||console.log||(()=>{});function pn(t){try{t?U.storage.setItem("debug",t):U.storage.removeItem("debug")}catch{}}function dn(){let t;try{t=U.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function hn(){try{return localStorage}catch{}}Ae.exports=Ot()(U);var{formatters:mn}=Ae.exports;mn.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var mr=W((Mi,hr)=>{hr.exports=mt;var dr=128,Io=127,To=~Io,Fo=Math.pow(2,31);function mt(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw mt.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=Fo;)e[r++]=t&255|dr,t/=128;for(;t&To;)e[r++]=t&255|dr,t>>>=7;return e[r]=t|0,mt.bytes=r-n+1,e}});var wr=W((Li,gr)=>{gr.exports=bt;var Po=128,br=127;function bt(t,n){var r=0,n=n||0,o=0,s=n,i,f=t.length;do{if(s>=f||o>49)throw bt.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&br)<<o:(i&br)*Math.pow(2,o),o+=7}while(i>=Po);return bt.bytes=s-n,r}});var xr=W((zi,yr)=>{var Uo=Math.pow(2,7),ko=Math.pow(2,14),No=Math.pow(2,21),Do=Math.pow(2,28),Bo=Math.pow(2,35),Mo=Math.pow(2,42),Lo=Math.pow(2,49),zo=Math.pow(2,56),Ro=Math.pow(2,63);yr.exports=function(t){return t<Uo?1:t<ko?2:t<No?3:t<Do?4:t<Bo?5:t<Mo?6:t<Lo?7:t<zo?8:t<Ro?9:10}});var ke=W((Ri,vr)=>{vr.exports={encode:mr(),decode:wr(),encodingLength:xr()}});var Ss={};P(Ss,{bootstrap:()=>Cs});var Mt=Symbol.for("@libp2p/peer-discovery");var Se=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:s})=>s!==r),this.#e.set(e,o))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new rn(e,r))}},We=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},rn=globalThis.CustomEvent??We;var k=Ce($t(),1);var Qe={};P(Qe,{base32:()=>L,base32hex:()=>En,base32hexpad:()=>In,base32hexpadupper:()=>Tn,base32hexupper:()=>An,base32pad:()=>Cn,base32padupper:()=>Sn,base32upper:()=>vn,base32z:()=>Fn});function bn(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var f=t.length,y=t.charAt(0),T=Math.log(f)/Math.log(256),c=Math.log(256)/Math.log(f);function l(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var b=0,x=0,v=0,A=p.length;v!==A&&p[v]===0;)v++,b++;for(var N=(A-v)*c+1>>>0,E=new Uint8Array(N);v!==A;){for(var M=p[v],D=0,F=N-1;(M!==0||D<x)&&F!==-1;F--,D++)M+=256*E[F]>>>0,E[F]=M%f>>>0,M=M/f>>>0;if(M!==0)throw new Error("Non-zero carry");x=D,v++}for(var B=N-x;B!==N&&E[B]===0;)B++;for(var Y=y.repeat(b);B<N;++B)Y+=t.charAt(E[B]);return Y}function d(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var b=0;if(p[b]!==" "){for(var x=0,v=0;p[b]===y;)x++,b++;for(var A=(p.length-b)*T+1>>>0,N=new Uint8Array(A);p[b];){var E=r[p.charCodeAt(b)];if(E===255)return;for(var M=0,D=A-1;(E!==0||M<v)&&D!==-1;D--,M++)E+=f*N[D]>>>0,N[D]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");v=M,b++}if(p[b]!==" "){for(var F=A-v;F!==A&&N[F]===0;)F++;for(var B=new Uint8Array(x+(A-F)),Y=x;F!==A;)B[Y++]=N[F++];return B}}}function S(p){var b=d(p);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:d,decode:S}}var gn=bn,wn=gn,Vt=wn;var Us=new Uint8Array(0);var jt=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},R=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var _t=t=>new TextEncoder().encode(t),qt=t=>new TextDecoder().decode(t);var Ge=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Je=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Gt(this,e)}},Ke=class{constructor(e){this.decoders=e}or(e){return Gt(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Gt=(t,e)=>new Ke({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),He=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ge(e,r,n),this.decoder=new Je(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},re=({name:t,prefix:e,encode:r,decode:n})=>new He(t,e,r,n),V=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Vt(r,e);return re({prefix:t,name:e,encode:n,decode:s=>R(o(s))})},yn=(t,e,r,n)=>{let o={};for(let c=0;c<e.length;++c)o[e[c]]=c;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),f=0,y=0,T=0;for(let c=0;c<s;++c){let l=o[t[c]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);y=y<<r|l,f+=r,f>=8&&(f-=8,i[T++]=255&y>>f)}if(f>=r||255&y<<8-f)throw new SyntaxError("Unexpected end of data");return i},xn=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,f=0;for(let y=0;y<t.length;++y)for(f=f<<8|t[y],i+=8;i>r;)i-=r,s+=e[o&f>>i];if(i&&(s+=e[o&f<<r-i]),n)for(;s.length*r&7;)s+="=";return s},g=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>re({prefix:e,name:t,encode(o){return xn(o,n,r)},decode(o){return yn(o,n,r,t)}});var L=g({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),vn=g({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Cn=g({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Sn=g({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),En=g({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),An=g({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),In=g({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Tn=g({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Fn=g({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Xe={};P(Xe,{base58btc:()=>C,base58flickr:()=>Pn});var C=V({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Pn=V({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ze={};P(Ze,{base64:()=>Ye,base64pad:()=>Un,base64url:()=>kn,base64urlpad:()=>Nn});var Ye=g({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Un=g({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),kn=g({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Nn=g({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});k.default.formatters.b=t=>t==null?"undefined":C.baseEncode(t);k.default.formatters.t=t=>t==null?"undefined":L.baseEncode(t);k.default.formatters.m=t=>t==null?"undefined":Ye.baseEncode(t);k.default.formatters.p=t=>t==null?"undefined":t.toString();k.default.formatters.c=t=>t==null?"undefined":t.toString();k.default.formatters.k=t=>t==null?"undefined":t.toString();k.default.formatters.a=t=>t==null?"undefined":t.toString();function Dn(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function Jt(t){let e=Dn(`${t}:trace`);return k.default.enabled(`${t}:trace`)&&k.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,k.default)(`${t}:trace`)),Object.assign((0,k.default)(t),{error:(0,k.default)(`${t}:error`),trace:e})}var Kt=Symbol.for("@libp2p/peer-id");var pe=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var et={};P(et,{identity:()=>Bn});var Bn=re({prefix:"\0",name:"identity",encode:t=>qt(t),decode:t=>_t(t)});var tt={};P(tt,{base2:()=>Mn});var Mn=g({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var rt={};P(rt,{base8:()=>Ln});var Ln=g({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var nt={};P(nt,{base10:()=>zn});var zn=V({prefix:"9",name:"base10",alphabet:"0123456789"});var ot={};P(ot,{base16:()=>Rn,base16upper:()=>On});var Rn=g({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),On=g({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var st={};P(st,{base36:()=>$n,base36upper:()=>Vn});var $n=V({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Vn=V({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var it={};P(it,{base256emoji:()=>Gn});var Ht=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}"),jn=Ht.reduce((t,e,r)=>(t[r]=e,t),[]),_n=Ht.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function qn(t){return t.reduce((e,r)=>(e+=jn[r],e),"")}function Wn(t){let e=[];for(let r of t){let n=_n[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Gn=re({prefix:"\u{1F680}",name:"base256emoji",encode:qn,decode:Wn});var lt={};P(lt,{sha256:()=>Te,sha512:()=>fo});var Jn=Yt,Qt=128,Kn=127,Hn=~Kn,Qn=Math.pow(2,31);function Yt(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Qn;)e[r++]=t&255|Qt,t/=128;for(;t&Hn;)e[r++]=t&255|Qt,t>>>=7;return e[r]=t|0,Yt.bytes=r-n+1,e}var Xn=at,Yn=128,Xt=127;function at(t,n){var r=0,n=n||0,o=0,s=n,i,f=t.length;do{if(s>=f)throw at.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Xt)<<o:(i&Xt)*Math.pow(2,o),o+=7}while(i>=Yn);return at.bytes=s-n,r}var Zn=Math.pow(2,7),eo=Math.pow(2,14),to=Math.pow(2,21),ro=Math.pow(2,28),no=Math.pow(2,35),oo=Math.pow(2,42),so=Math.pow(2,49),io=Math.pow(2,56),ao=Math.pow(2,63),co=function(t){return t<Zn?1:t<eo?2:t<to?3:t<ro?4:t<no?5:t<oo?6:t<so?7:t<io?8:t<ao?9:10},uo={encode:Jn,decode:Xn,encodingLength:co},lo=uo,de=lo;var he=(t,e=0)=>[de.decode(t,e),de.decode.bytes],ne=(t,e,r=0)=>(de.encode(t,e,r),e),oe=t=>de.encodingLength(t);var j=(t,e)=>{let r=e.byteLength,n=oe(t),o=n+oe(r),s=new Uint8Array(o+r);return ne(t,s,0),ne(r,s,n),s.set(e,o),new se(t,r,e,s)},J=t=>{let e=R(t),[r,n]=he(e),[o,s]=he(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new se(r,o,i,e)},Zt=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&jt(t.bytes,r.bytes)}},se=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var ut=({name:t,code:e,encode:r})=>new ct(t,e,r),ct=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?j(this.code,r):r.then(n=>j(this.code,n))}else throw Error("Unknown type, must be binary type")}};var tr=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Te=ut({name:"sha2-256",code:18,encode:tr("SHA-256")}),fo=ut({name:"sha2-512",code:19,encode:tr("SHA-512")});var ft={};P(ft,{identity:()=>Fe});var rr=0,po="identity",nr=R,ho=t=>j(rr,nr(t)),Fe={code:rr,name:po,encode:nr,digest:ho};var oi=new TextEncoder,si=new TextDecoder;var or=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return wo(r,pt(t),e||C.encoder);default:return yo(r,pt(t),e||L.encoder)}};var sr=new WeakMap,pt=t=>{let e=sr.get(t);if(e==null){let r=new Map;return sr.set(t,r),r}return e},h=class{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==me)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==xo)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return h.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=j(e,r);return h.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return h.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Zt(e.multihash,n.multihash)}toString(e){return or(this,e)}toJSON(){return{"/":or(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof h)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new h(n,o,s,i||ir(n,o,s.bytes))}else if(r[vo]===!0){let{version:n,multihash:o,code:s}=r,i=J(o);return h.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==me)throw new Error(`Version 0 CID must use dag-pb (code: ${me}) block encoding`);return new h(e,r,n,n.bytes)}case 1:{let o=ir(e,r,n.bytes);return new h(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return h.create(0,me,e)}static createV1(e,r){return h.create(1,e,r)}static decode(e){let[r,n]=h.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=h.inspectBytes(e),n=r.size-r.multihashSize,o=R(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new se(r.multihashCode,r.digestSize,s,o);return[r.version===0?h.createV0(i):h.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,d]=he(e.subarray(r));return r+=d,l},o=n(),s=me;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,f=n(),y=n(),T=r+y,c=T-i;return{version:o,codec:s,multihashCode:f,digestSize:y,multihashSize:c,size:T}}static parse(e,r){let[n,o]=go(e,r),s=h.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return pt(s).set(n,e),s}},go=(t,e)=>{switch(t[0]){case"Q":{let r=e||C;return[C.prefix,r.decode(`${C.prefix}${t}`)]}case C.prefix:{let r=e||C;return[C.prefix,r.decode(t)]}case L.prefix:{let r=e||L;return[L.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},wo=(t,e,r)=>{let{prefix:n}=r;if(n!==C.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o},yo=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o},me=112,xo=18,ir=(t,e,r)=>{let n=oe(t),o=n+oe(e),s=new Uint8Array(o+r.byteLength);return ne(t,s,0),ne(e,s,n),s.set(r,o),s},vo=Symbol.for("@ipld/js-cid/CID");var _={...et,...tt,...rt,...nt,...ot,...Qe,...st,...Xe,...Ze,...it},mi={...lt,...ft};function be(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Co=Symbol.for("nodejs.util.inspect.custom"),ar=Object.values(_).map(t=>t.decoder).reduce((t,e)=>t.or(e),_.identity.decoder),cr=114,ur=36,lr=37,ge=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Kt]=!0;toString(){return this.string==null&&(this.string=C.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return h.createV1(cr,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return be(this.multihash.bytes,e);if(typeof e=="string")return dt(e).equals(this);if(e?.multihash?.bytes!=null)return be(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Co](){return`PeerId(${this.toString()})`}},we=class extends ge{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},ye=class extends ge{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},xe=class extends ge{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function dt(t,e){if(e=e??ar,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=J(C.decode(`z${t}`));return t.startsWith("12D")?new ye({multihash:r}):t.startsWith("16U")?new xe({multihash:r}):new we({multihash:r})}return So(ar.decode(t))}function So(t){try{let e=J(t);if(e.code===Fe.code){if(e.digest.length===ur)return new ye({multihash:e});if(e.digest.length===lr)return new xe({multihash:e})}if(e.code===Te.code)return new we({multihash:e})}catch{return Eo(h.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Eo(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==cr)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Te.code)return new we({multihash:t.multihash});if(e.code===Fe.code){if(e.digest.length===ur)return new ye({multihash:t.multihash});if(e.digest.length===lr)return new xe({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}function ie(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Pe(t=0){return globalThis.Buffer?.allocUnsafe!=null?ie(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function pr(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var fr=pr("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),ht=pr("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Pe(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Ao={utf8:fr,"utf-8":fr,hex:_.base16,latin1:ht,ascii:ht,binary:ht,..._},Ue=Ao;function I(t,e="utf8"){let r=Ue[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Pt=Ce(ke(),1);function O(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=Pe(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return ie(r)}var ce=Ce(ke(),1);var Ne=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}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(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,o){return this.readAtomically(()=>{let s=0,i=0,f=this.peekChar();if(f===void 0)return;let y=f==="0",T=2**(8*o)-1;for(;;){let c=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,e);if(!Number.isNaN(d))return d});if(c===void 0)break;if(s*=e,s+=c,s>T||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&y&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[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];r[o]=s>>8,r[o+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=e(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[f]=e(s.subarray(0,i));return r.set(s.subarray(0,f),16-f),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Cr=45,Oo=15,ae=new Ne;function gt(t){if(!(t.length>Oo))return ae.new(t).parseWith(()=>ae.readIPv4Addr())}function wt(t){if(!(t.length>Cr))return ae.new(t).parseWith(()=>ae.readIPv6Addr())}function De(t){if(!(t.length>Cr))return ae.new(t).parseWith(()=>ae.readIPAddr())}var Xi=parseInt("0xFFFF",16),Yi=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function yt(t,e="utf8"){let r=Ue[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ie(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var z=Ce(ke(),1);function Ar(t){return!!gt(t)}function Ir(t){return!!wt(t)}function Be(t){return!!De(t)}var Tr=Ar,qo=Ir,xt=function(t){let e=0;if(t=t.toString().trim(),Tr(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(qo(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Tr(r[n]),i;s&&(i=xt(r[n]),r[n]=I(i.slice(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,I(i.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);o[e++]=s>>8&255,o[e++]=s&255}return o}throw new Error("invalid ip address")},Fr=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let o=[];for(let s=0;s<r;s++)o.push(t[e+s]);return o.join(".")}if(r===16){let o=[];for(let s=0;s<r;s+=2)o.push(n.getUint16(e+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ve={},vt={},Go=[[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"],[777,-1,"memory"]];Go.forEach(t=>{let e=Jo(...t);vt[e.code]=e,ve[e.name]=e});function Jo(t,e,r,n,o){return{code:t,size:e,name:r,resolvable:!!n,path:!!o}}function m(t){if(typeof t=="number"){if(vt[t]!=null)return vt[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(ve[t]!=null)return ve[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var Ra=m("ip4"),Oa=m("ip6"),$a=m("ipcidr");function Dr(t,e){switch(m(t).code){case 4:case 41:return Ho(e);case 42:return kr(e);case 6:case 273:case 33:case 132:return Mr(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return kr(e);case 421:return Zo(e);case 444:return Nr(e);case 445:return Nr(e);case 466:return Yo(e);default:return I(e,"base16")}}function Br(t,e){switch(m(t).code){case 4:return Pr(e);case 41:return Pr(e);case 42:return Ur(e);case 6:case 273:case 33:case 132:return St(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ur(e);case 421:return Qo(e);case 444:return es(e);case 445:return ts(e);case 466:return Xo(e);default:return yt(e,"base16")}}var Ct=Object.values(_).map(t=>t.decoder),Ko=function(){let t=Ct[0].or(Ct[1]);return Ct.slice(2).forEach(e=>t=t.or(e)),t}();function Pr(t){if(!Be(t))throw new Error("invalid ip address");return xt(t)}function Ho(t){let e=Fr(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Be(e))throw new Error("invalid ip address");return e}function St(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Mr(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Ur(t){let e=yt(t),r=Uint8Array.from(z.default.encode(e.length));return O([r,e],r.length+e.length)}function kr(t){let e=z.default.decode(t);if(t=t.slice(z.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return I(t)}function Qo(t){let e;t[0]==="Q"||t[0]==="1"?e=J(C.decode(`z${t}`)).bytes:e=h.parse(t).multihash.bytes;let r=Uint8Array.from(z.default.encode(e.length));return O([r,e],r.length+e.length)}function Xo(t){let e=Ko.decode(t),r=Uint8Array.from(z.default.encode(e.length));return O([r,e],r.length+e.length)}function Yo(t){let e=z.default.decode(t),r=t.slice(z.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+I(r,"base64url")}function Zo(t){let e=z.default.decode(t),r=t.slice(z.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return I(r,"base58btc")}function es(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=L.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=St(n);return O([r,o],r.length+o.length)}function ts(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=L.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=St(n);return O([r,o],r.length+o.length)}function Nr(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=I(e,"base32"),o=Mr(r);return`${n}:${o}`}function rs(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let o=r[n],s=m(o);if(s.size===0){e.push([o]);continue}if(n++,n>=r.length)throw zr("invalid address: "+t);if(s.path===!0){e.push([o,Ft(r.slice(n).join("/"))]);break}e.push([o,r[n]])}return e}function ns(t){let e=[];return t.map(r=>{let n=ze(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Ft(e.join("/"))}function os(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=ze(e);return e.length>1?[r.code,Br(r.code,e[1])]:[r.code]})}function Et(t){return t.map(e=>{let r=ze(e);return e[1]!=null?[r.code,Dr(r.code,e[1])]:[r.code]})}function At(t){return Le(O(t.map(e=>{let r=ze(e),n=Uint8Array.from(ce.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=O([n,e[1]])),n})))}function It(t,e){return t.size>0?t.size/8:t.size===0?0:ce.default.decode(e)+(ce.default.decode.bytes??0)}function Me(t){let e=[],r=0;for(;r<t.length;){let n=ce.default.decode(t,r),o=ce.default.decode.bytes??0,s=m(n),i=It(s,t.slice(r+o));if(i===0){e.push([n]),r+=o;continue}let f=t.slice(r+o,r+o+i);if(r+=i+o,r>t.length)throw zr("Invalid address Uint8Array: "+I(t,"base16"));e.push([n,f])}return e}function Tt(t){let e=Me(t),r=Et(e);return ns(r)}function ss(t){t=Ft(t);let e=rs(t),r=os(e);return At(r)}function Lr(t){return ss(t)}function Le(t){let e=is(t);if(e!=null)throw e;return Uint8Array.from(t)}function is(t){try{Me(t)}catch(e){return e}}function Ft(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function zr(t){return new Error("Error parsing address: "+t)}function ze(t){return m(t[0])}var cs=Symbol.for("nodejs.util.inspect.custom"),us=[m("dns").code,m("dns4").code,m("dns6").code,m("dnsaddr").code],ls=new Map,Rr=Symbol.for("@multiformats/js-multiaddr/multiaddr");function fs(t){return!!t?.[Rr]}var $=class{bytes;#e;#r;#n;#t;[Rr]=!0;constructor(e){if(e==null&&(e=""),e instanceof Uint8Array)this.bytes=Le(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Lr(e)}else if(fs(e))this.bytes=Le(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#e==null&&(this.#e=Tt(this.bytes)),this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,o,s="",i=m("tcp"),f=m("udp"),y=m("ip4"),T=m("ip6"),c=m("dns6"),l=m("ip6zone");for(let[S,p]of this.stringTuples())S===l.code&&(s=`%${p??""}`),us.includes(S)&&(r=i.name,o=443,n=`${p??""}${s}`,e=S===c.code?6:4),(S===i.code||S===f.code)&&(r=m(S).name,o=parseInt(p??"")),(S===y.code||S===T.code)&&(r=m(S).name,n=`${p??""}${s}`,e=S===T.code?6:4);if(e==null||r==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:e,host:n,transport:r,port:o}}protos(){return this.protoCodes().map(e=>Object.assign({},m(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let o=Pt.default.decode(r,n),s=Pt.default.decode.bytes??0,i=m(o),f=It(i,r.slice(n+s));n+=f+s,e.push(o)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return this.#r==null&&(this.#r=Me(this.bytes)),this.#r}stringTuples(){return this.#n==null&&(this.#n=Et(this.tuples())),this.#n}encapsulate(e){return e=new $(e),new $(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new $(n.slice(0,o))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new $(At(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===ve.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?I(C.decode(`z${n}`),"base58btc"):I(h.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#t===void 0)try{this.#t=this.stringTuples().filter(e=>m(e[0]).path===!0)[0][1],this.#t==null&&(this.#t=null)}catch{this.#t=null}return this.#t}equals(e){return be(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=ls.get(r.name);if(n==null)throw new pe(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new $(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[cs](){return`Multiaddr(${Tt(this.bytes)})`}};function ue(t){return new $(t)}var ps=a("dns4"),ds=a("dns6"),hs=a("dnsaddr"),Q=w(a("dns"),hs,ps,ds),$e=w(a("ip4"),a("ip6")),le=w(u($e,a("tcp")),u(Q,a("tcp"))),Ve=u($e,a("udp")),ms=u(Ve,a("utp")),bs=u(Ve,a("quic")),gs=u(Ve,a("quic-v1")),Ut=w(u(le,a("ws")),u(Q,a("ws"))),Re=w(u(Ut,a("p2p")),Ut),kt=w(u(le,a("wss")),u(Q,a("wss")),u(le,a("tls"),a("ws")),u(Q,a("tls"),a("ws"))),Oe=w(u(kt,a("p2p")),kt),Nt=w(u(le,a("http")),u($e,a("http")),u(Q,a("http"))),Dt=w(u(le,a("https")),u($e,a("https")),u(Q,a("https"))),Or=u(Ve,a("webrtc-direct"),a("certhash")),jr=w(u(Or,a("p2p")),Or),$r=u(gs,a("webtransport"),a("certhash"),a("certhash")),_r=w(u($r,a("p2p")),$r),qr=w(u(Re,a("p2p-webrtc-star"),a("p2p")),u(Oe,a("p2p-webrtc-star"),a("p2p")),u(Re,a("p2p-webrtc-star")),u(Oe,a("p2p-webrtc-star"))),ic=w(u(Re,a("p2p-websocket-star"),a("p2p")),u(Oe,a("p2p-websocket-star"),a("p2p")),u(Re,a("p2p-websocket-star")),u(Oe,a("p2p-websocket-star"))),Wr=w(u(Nt,a("p2p-webrtc-direct"),a("p2p")),u(Dt,a("p2p-webrtc-direct"),a("p2p")),u(Nt,a("p2p-webrtc-direct")),u(Dt,a("p2p-webrtc-direct"))),X=w(Ut,kt,Nt,Dt,qr,Wr,le,ms,bs,Q,jr,_r),ac=w(u(X,a("p2p-stardust"),a("p2p")),u(X,a("p2p-stardust"))),q=w(u(X,a("p2p")),qr,Wr,jr,_r,a("p2p")),Vr=w(u(q,a("p2p-circuit"),q),u(q,a("p2p-circuit")),u(a("p2p-circuit"),q),u(X,a("p2p-circuit")),u(a("p2p-circuit"),X),a("p2p-circuit")),Gr=()=>w(u(Vr,Gr),Vr),H=Gr(),Jr=w(u(H,q,H),u(q,H),u(H,q),H,q);var cc=w(u(H,a("webrtc"),a("p2p")),u(H,a("webrtc")),u(X,a("webrtc"),a("p2p")),u(X,a("webrtc")),a("webrtc"));function Kr(t){function e(r){let n;try{n=ue(r)}catch{return!1}let o=t(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return e}function u(...t){function e(r){if(r.length<t.length)return null;let n=r;return t.some(o=>(n=typeof o=="function"?o().partialMatch(r):o.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:Kr(e),partialMatch:e}}function w(...t){function e(n){let o=null;return t.some(s=>{let i=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return i!=null?(o=i,!0):!1}),o}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:Kr(e),partialMatch:e}}function a(t){let e=t;function r(o){let s;try{s=ue(o)}catch{return!1}let i=s.protoNames();return i.length===1&&i[0]===e}function n(o){return o.length===0?null:o[0]===e?o.slice(1):null}return{toString:function(){return e},matches:r,partialMatch:n}}var je=Jt("libp2p:bootstrap"),ws="bootstrap",ys=50,xs=12e4,vs=1e3,_e=class extends Se{timer;list;timeout;components;_init;constructor(e,r={list:[]}){if(r.list==null||r.list.length===0)throw new Error("Bootstrap requires a list of peer addresses");super(),this.components=e,this.timeout=r.timeout??vs,this.list=[];for(let n of r.list){if(!Jr.matches(n)){je.error("Invalid multiaddr");continue}let o=ue(n),s=o.getPeerId();if(s==null){je.error("Invalid bootstrap multiaddr without peer id");continue}let i={id:dt(s),multiaddrs:[o],protocols:[]};this.list.push(i)}this._init=r}[Mt]=this;[Symbol.toStringTag]="@libp2p/bootstrap";isStarted(){return!!this.timer}start(){this.isStarted()||(je("Starting bootstrap node discovery, discovering peers after %s ms",this.timeout),this.timer=setTimeout(()=>{this._discoverBootstrapPeers().catch(e=>{je.error(e)})},this.timeout))}async _discoverBootstrapPeers(){if(this.timer!=null)for(let e of this.list){if(await this.components.peerStore.merge(e.id,{tags:{[this._init.tagName??ws]:{value:this._init.tagValue??ys,ttl:this._init.tagTTL??xs}}}),this.timer==null)return;this.safeDispatchEvent("peer",{detail:e})}}stop(){this.timer!=null&&clearTimeout(this.timer),this.timer=void 0}};qe(_e,"tag","bootstrap");function Cs(t){return e=>new _e(e,t)}return tn(Ss);})();
3
3
  return Libp2PBootstrap}));
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,kCAAkC,CAAA;AAK1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAS7D,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAA;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAA;CACrB;AAsHD,wBAAgB,SAAS,CAAE,IAAI,EAAE,aAAa,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,aAAa,CAElG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,kCAAkC,CAAA;AAE1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAU7D,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAA;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAA;CACrB;AAkHD,wBAAgB,SAAS,CAAE,IAAI,EAAE,aAAa,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,aAAa,CAElG"}
package/dist/src/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import { multiaddr } from '@multiformats/multiaddr';
2
- import { P2P } from '@multiformats/mafmt';
1
+ import { peerDiscovery } from '@libp2p/interface-peer-discovery';
3
2
  import { EventEmitter } from '@libp2p/interfaces/events';
4
3
  import { logger } from '@libp2p/logger';
5
4
  import { peerIdFromString } from '@libp2p/peer-id';
6
- import { symbol } from '@libp2p/interface-peer-discovery';
5
+ import { P2P } from '@multiformats/mafmt';
6
+ import { multiaddr } from '@multiformats/multiaddr';
7
7
  const log = logger('libp2p:bootstrap');
8
8
  const DEFAULT_BOOTSTRAP_TAG_NAME = 'bootstrap';
9
9
  const DEFAULT_BOOTSTRAP_TAG_VALUE = 50;
@@ -13,6 +13,12 @@ const DEFAULT_BOOTSTRAP_DISCOVERY_TIMEOUT = 1000;
13
13
  * Emits 'peer' events on a regular interval for each peer in the provided list.
14
14
  */
15
15
  class Bootstrap extends EventEmitter {
16
+ static tag = 'bootstrap';
17
+ timer;
18
+ list;
19
+ timeout;
20
+ components;
21
+ _init;
16
22
  constructor(components, options = { list: [] }) {
17
23
  if (options.list == null || options.list.length === 0) {
18
24
  throw new Error('Bootstrap requires a list of peer addresses');
@@ -41,12 +47,8 @@ class Bootstrap extends EventEmitter {
41
47
  }
42
48
  this._init = options;
43
49
  }
44
- get [symbol]() {
45
- return true;
46
- }
47
- get [Symbol.toStringTag]() {
48
- return '@libp2p/bootstrap';
49
- }
50
+ [peerDiscovery] = this;
51
+ [Symbol.toStringTag] = '@libp2p/bootstrap';
50
52
  isStarted() {
51
53
  return Boolean(this.timer);
52
54
  }
@@ -98,7 +100,6 @@ class Bootstrap extends EventEmitter {
98
100
  this.timer = undefined;
99
101
  }
100
102
  }
101
- Bootstrap.tag = 'bootstrap';
102
103
  export function bootstrap(init) {
103
104
  return (components) => new Bootstrap(components, init);
104
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,23 +1,19 @@
1
1
  {
2
2
  "name": "@libp2p/bootstrap",
3
- "version": "7.0.0",
4
- "description": "Node.js IPFS Implementation of the railing process of a Node through a bootstrap peer list",
3
+ "version": "8.0.0-3dfc236e",
4
+ "description": "Peer discovery via a list of bootstrap peers",
5
5
  "license": "Apache-2.0 OR MIT",
6
- "homepage": "https://github.com/libp2p/js-libp2p-bootstrap#readme",
6
+ "homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/peer-discovery-bootstrap#readme",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "git+https://github.com/libp2p/js-libp2p-bootstrap.git"
9
+ "url": "git+https://github.com/libp2p/js-libp2p.git"
10
10
  },
11
11
  "bugs": {
12
- "url": "https://github.com/libp2p/js-libp2p-bootstrap/issues"
12
+ "url": "https://github.com/libp2p/js-libp2p/issues"
13
13
  },
14
14
  "keywords": [
15
15
  "IPFS"
16
16
  ],
17
- "engines": {
18
- "node": ">=16.0.0",
19
- "npm": ">=7.0.0"
20
- },
21
17
  "type": "module",
22
18
  "types": "./dist/src/index.d.ts",
23
19
  "files": [
@@ -38,91 +34,6 @@
38
34
  "sourceType": "module"
39
35
  }
40
36
  },
41
- "release": {
42
- "branches": [
43
- "master"
44
- ],
45
- "plugins": [
46
- [
47
- "@semantic-release/commit-analyzer",
48
- {
49
- "preset": "conventionalcommits",
50
- "releaseRules": [
51
- {
52
- "breaking": true,
53
- "release": "major"
54
- },
55
- {
56
- "revert": true,
57
- "release": "patch"
58
- },
59
- {
60
- "type": "feat",
61
- "release": "minor"
62
- },
63
- {
64
- "type": "fix",
65
- "release": "patch"
66
- },
67
- {
68
- "type": "docs",
69
- "release": "patch"
70
- },
71
- {
72
- "type": "test",
73
- "release": "patch"
74
- },
75
- {
76
- "type": "deps",
77
- "release": "patch"
78
- },
79
- {
80
- "scope": "no-release",
81
- "release": false
82
- }
83
- ]
84
- }
85
- ],
86
- [
87
- "@semantic-release/release-notes-generator",
88
- {
89
- "preset": "conventionalcommits",
90
- "presetConfig": {
91
- "types": [
92
- {
93
- "type": "feat",
94
- "section": "Features"
95
- },
96
- {
97
- "type": "fix",
98
- "section": "Bug Fixes"
99
- },
100
- {
101
- "type": "chore",
102
- "section": "Trivial Changes"
103
- },
104
- {
105
- "type": "docs",
106
- "section": "Documentation"
107
- },
108
- {
109
- "type": "deps",
110
- "section": "Dependencies"
111
- },
112
- {
113
- "type": "test",
114
- "section": "Tests"
115
- }
116
- ]
117
- }
118
- }
119
- ],
120
- "@semantic-release/changelog",
121
- "@semantic-release/npm",
122
- "@semantic-release/github",
123
- "@semantic-release/git"
124
- ]
125
- },
126
37
  "scripts": {
127
38
  "clean": "aegir clean",
128
39
  "lint": "aegir lint",
@@ -134,24 +45,25 @@
134
45
  "test:firefox": "aegir test -t browser -- --browser firefox",
135
46
  "test:firefox-webworker": "aegir test -t webworker -- --browser firefox",
136
47
  "test:node": "aegir test -t node --cov",
137
- "test:electron-main": "aegir test -t electron-main",
138
- "release": "aegir release",
139
- "docs": "aegir docs"
48
+ "test:electron-main": "aegir test -t electron-main"
140
49
  },
141
50
  "dependencies": {
142
- "@libp2p/interface-peer-discovery": "^1.0.1",
143
- "@libp2p/interface-peer-info": "^1.0.7",
144
- "@libp2p/interface-peer-store": "^2.0.0",
145
- "@libp2p/interfaces": "^3.0.3",
146
- "@libp2p/logger": "^2.0.1",
147
- "@libp2p/peer-id": "^2.0.0",
148
- "@multiformats/mafmt": "^12.0.0",
149
- "@multiformats/multiaddr": "^12.0.0"
51
+ "@libp2p/interface-peer-discovery": "2.0.0-3dfc236e",
52
+ "@libp2p/interface-peer-info": "1.0.10-3dfc236e",
53
+ "@libp2p/interface-peer-store": "2.0.4-3dfc236e",
54
+ "@libp2p/interfaces": "3.3.2-3dfc236e",
55
+ "@libp2p/logger": "2.1.1-3dfc236e",
56
+ "@libp2p/peer-id": "2.0.3-3dfc236e",
57
+ "@multiformats/mafmt": "^12.1.2",
58
+ "@multiformats/multiaddr": "^12.1.3"
150
59
  },
151
60
  "devDependencies": {
152
- "@libp2p/interface-peer-discovery-compliance-tests": "^2.0.0",
153
- "@libp2p/interface-peer-id": "^2.0.0",
154
- "aegir": "^38.1.7",
61
+ "@libp2p/interface-peer-discovery-compliance-tests": "2.0.8-3dfc236e",
62
+ "@libp2p/interface-peer-id": "2.0.2-3dfc236e",
63
+ "aegir": "^39.0.10",
155
64
  "sinon-ts": "^1.0.0"
65
+ },
66
+ "typedoc": {
67
+ "entryPoint": "./src/index.ts"
156
68
  }
157
69
  }
package/src/index.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { multiaddr } from '@multiformats/multiaddr'
2
- import { P2P } from '@multiformats/mafmt'
1
+ import { peerDiscovery } from '@libp2p/interface-peer-discovery'
3
2
  import { EventEmitter } from '@libp2p/interfaces/events'
4
3
  import { logger } from '@libp2p/logger'
4
+ import { peerIdFromString } from '@libp2p/peer-id'
5
+ import { P2P } from '@multiformats/mafmt'
6
+ import { multiaddr } from '@multiformats/multiaddr'
5
7
  import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interface-peer-discovery'
6
8
  import type { PeerInfo } from '@libp2p/interface-peer-info'
7
- import { peerIdFromString } from '@libp2p/peer-id'
8
- import { symbol } from '@libp2p/interface-peer-discovery'
9
- import type { Startable } from '@libp2p/interfaces/dist/src/startable'
10
9
  import type { PeerStore } from '@libp2p/interface-peer-store'
10
+ import type { Startable } from '@libp2p/interfaces/dist/src/startable'
11
11
 
12
12
  const log = logger('libp2p:bootstrap')
13
13
 
@@ -95,13 +95,9 @@ class Bootstrap extends EventEmitter<PeerDiscoveryEvents> implements PeerDiscove
95
95
  this._init = options
96
96
  }
97
97
 
98
- get [symbol] (): true {
99
- return true
100
- }
98
+ readonly [peerDiscovery] = this
101
99
 
102
- get [Symbol.toStringTag] (): '@libp2p/bootstrap' {
103
- return '@libp2p/bootstrap'
104
- }
100
+ readonly [Symbol.toStringTag] = '@libp2p/bootstrap'
105
101
 
106
102
  isStarted (): boolean {
107
103
  return Boolean(this.timer)
@@ -1,5 +0,0 @@
1
- {
2
- "BootstrapComponents": "https://libp2p.github.io/js-libp2p-bootstrap/interfaces/BootstrapComponents.html",
3
- "BootstrapInit": "https://libp2p.github.io/js-libp2p-bootstrap/interfaces/BootstrapInit.html",
4
- "bootstrap": "https://libp2p.github.io/js-libp2p-bootstrap/functions/bootstrap.html"
5
- }