@libp2p/multistream-select 6.0.29 → 7.0.0-55b7e5fea
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +9 -13
- package/dist/index.min.js.map +4 -4
- package/dist/src/handle.d.ts +3 -3
- package/dist/src/handle.d.ts.map +1 -1
- package/dist/src/handle.js +21 -20
- package/dist/src/handle.js.map +1 -1
- package/dist/src/index.d.ts +3 -8
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/multistream.d.ts +3 -17
- package/dist/src/multistream.d.ts.map +1 -1
- package/dist/src/multistream.js +5 -24
- package/dist/src/multistream.js.map +1 -1
- package/dist/src/select.d.ts +3 -10
- package/dist/src/select.d.ts.map +1 -1
- package/dist/src/select.js +34 -237
- package/dist/src/select.js.map +1 -1
- package/package.json +8 -13
- package/src/handle.ts +25 -22
- package/src/index.ts +3 -9
- package/src/multistream.ts +7 -32
- package/src/select.ts +39 -299
- package/dist/typedoc-urls.json +0 -10
package/dist/index.min.js
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PMultistreamSelect = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PMultistreamSelect=(()=>{var Ae=Object.defineProperty;var Ft=Object.getOwnPropertyDescriptor;var Pt=Object.getOwnPropertyNames;var _t=Object.prototype.hasOwnProperty;var U=(r,t)=>{for(var e in t)Ae(r,e,{get:t[e],enumerable:!0})},Vt=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Pt(t))!_t.call(r,o)&&o!==e&&Ae(r,o,{get:()=>t[o],enumerable:!(n=Ft(t,o))||n.enumerable});return r};var Bt=r=>Vt(Ae({},"__esModule",{value:!0}),r);var an={};U(an,{PROTOCOL_ID:()=>x,handle:()=>Rt,select:()=>Ot});var x="/multistream/1.0.0";var Q=class extends Error{static name="UnsupportedProtocolError";constructor(t="Unsupported protocol error"){super(t),this.name="UnsupportedProtocolError"}},ie=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}};function C(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var ae=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function G(r,t,e){if(t==null)return r;if(t.aborted)return r.catch(()=>{}),Promise.reject(new ae(e?.errorMessage,e?.errorCode,e?.errorName));let n,o=new ae(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((s,i)=>{n=()=>{i(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var De=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=C(),this.haveNext=C()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=C(),t}async throw(t){return this.ended=!0,this.error=t,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return this.ended=!0,this.nextResult=t,this.haveNext.resolve(),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=C(),await G(this.readNext.promise,e?.signal,e)}};function rt(){return new De}function R(r=0){return new Uint8Array(r)}function N(r=0){return new Uint8Array(r)}function Se(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=N(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function nt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var st=Symbol.for("@achingbrain/uint8arraylist");function ot(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function ce(r){return!!r?.[st]}var y=class r{bufs;length;[st]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(ce(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(ce(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=ot(this.bufs,t);return e.buf[e.index]}set(t,e){let n=ot(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(ce(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return Se(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:Se(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=[...n],s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,h=a+i.byteLength;if(o=h,t>=h)continue;let c=t>=a&&t<h,g=e>a&&e<=h;if(c&&g){if(t===a&&e===h){n.push(i);break}let m=t-a;n.push(i.subarray(m,m+(e-t)));break}if(c){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(g){if(e===h){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!ce(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let m=0;m<s;m++)i[m]=-1;for(let m=0;m<o;m++)i[n[m]]=m;let a=i,h=this.byteLength-n.byteLength,c=n.byteLength-1,g;for(let m=e;m<=h;m+=g){g=0;for(let v=c;v>=0;v--){let _=this.get(m+v);if(n[v]!==_){g=Math.max(1,v-a[_]);break}}if(g===0)return m}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=N(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=R(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=R(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=R(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=N(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=R(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=R(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=R(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=R(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=R(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!nt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,s)=>o+s.byteLength,0)),n.length=e,n}};var he=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function it(r,t){let e=rt();r.sink(e).catch(async i=>{await e.end(i)}),r.sink=async i=>{for await(let a of i)await e.push(a);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let o=new y;return{read:async i=>{if(i?.signal?.throwIfAborted(),i?.bytes==null){let{done:h,value:c}=await G(n.next(),i?.signal);return h===!0?null:c}for(;o.byteLength<i.bytes;){let{value:h,done:c}=await G(n.next(),i?.signal);if(c===!0)throw new he("unexpected end of input");o.append(h)}let a=o.sublist(0,i.bytes);return o.consume(i.bytes),a},write:async(i,a)=>{a?.signal?.throwIfAborted(),i instanceof Uint8Array?await e.push(i,a):await e.push(i.subarray(),a)},unwrap:()=>{if(o.byteLength>0){let i=r.source;r.source=(async function*(){t?.yieldBytes===!1?yield o:yield*o,yield*i})()}return r}}}var Gt=Math.pow(2,7),kt=Math.pow(2,14),zt=Math.pow(2,21),Ue=Math.pow(2,28),Ie=Math.pow(2,35),Ne=Math.pow(2,42),Ce=Math.pow(2,49),f=128,E=127;function F(r){if(r<Gt)return 1;if(r<kt)return 2;if(r<zt)return 3;if(r<Ue)return 4;if(r<Ie)return 5;if(r<Ne)return 6;if(r<Ce)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function $t(r,t,e=0){switch(F(r)){case 8:t[e++]=r&255|f,r/=128;case 7:t[e++]=r&255|f,r/=128;case 6:t[e++]=r&255|f,r/=128;case 5:t[e++]=r&255|f,r/=128;case 4:t[e++]=r&255|f,r>>>=7;case 3:t[e++]=r&255|f,r>>>=7;case 2:t[e++]=r&255|f,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Ht(r,t,e=0){switch(F(r)){case 8:t.set(e++,r&255|f),r/=128;case 7:t.set(e++,r&255|f),r/=128;case 6:t.set(e++,r&255|f),r/=128;case 5:t.set(e++,r&255|f),r/=128;case 4:t.set(e++,r&255|f),r>>>=7;case 3:t.set(e++,r&255|f),r>>>=7;case 2:t.set(e++,r&255|f),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function qt(r,t){let e=r[t],n=0;if(n+=e&E,e<f||(e=r[t+1],n+=(e&E)<<7,e<f)||(e=r[t+2],n+=(e&E)<<14,e<f)||(e=r[t+3],n+=(e&E)<<21,e<f)||(e=r[t+4],n+=(e&E)*Ue,e<f)||(e=r[t+5],n+=(e&E)*Ie,e<f)||(e=r[t+6],n+=(e&E)*Ne,e<f)||(e=r[t+7],n+=(e&E)*Ce,e<f))return n;throw new RangeError("Could not decode varint")}function Xt(r,t){let e=r.get(t),n=0;if(n+=e&E,e<f||(e=r.get(t+1),n+=(e&E)<<7,e<f)||(e=r.get(t+2),n+=(e&E)<<14,e<f)||(e=r.get(t+3),n+=(e&E)<<21,e<f)||(e=r.get(t+4),n+=(e&E)*Ue,e<f)||(e=r.get(t+5),n+=(e&E)*Ie,e<f)||(e=r.get(t+6),n+=(e&E)*Ne,e<f)||(e=r.get(t+7),n+=(e&E)*Ce,e<f))return n;throw new RangeError("Could not decode varint")}function $(r,t,e=0){return t==null&&(t=N(F(r))),t instanceof Uint8Array?$t(r,t,e):Ht(r,t,e)}function ue(r,t=0){return r instanceof Uint8Array?qt(r,t):Xt(r,t)}var le=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},de=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},me=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Y(r,t={}){let e=it(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=F(t.maxDataLength));let n=t?.lengthDecoder??ue,o=t?.lengthEncoder??$;return{read:async i=>{let a=-1,h=new y;for(;;){h.append(await e.read({...i,bytes:1}));try{a=n(h)}catch(c){if(c instanceof RangeError)continue;throw c}if(a<0)throw new le("Invalid message length");if(t?.maxLengthLength!=null&&h.byteLength>t.maxLengthLength)throw new me("message length length too long");if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new de("message length too long");return e.read({...i,bytes:a})},write:async(i,a)=>{await e.write(new y(o(i.byteLength),i),a)},writeV:async(i,a)=>{let h=new y(...i.flatMap(c=>[o(c.byteLength),c]));await e.write(h,a)},unwrap:()=>e.unwrap()}}var Fe={};U(Fe,{base10:()=>Zt});var Bn=new Uint8Array(0);function at(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function P(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function ct(r){return new TextEncoder().encode(r)}function ht(r){return new TextDecoder().decode(r)}function jt(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var a=r.length,h=r.charAt(0),c=Math.log(a)/Math.log(256),g=Math.log(256)/Math.log(a);function m(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(u.length===0)return"";for(var w=0,O=0,D=0,l=u.length;D!==l&&u[D]===0;)D++,w++;for(var b=(l-D)*g+1>>>0,d=new Uint8Array(b);D!==l;){for(var A=u[D],I=0,S=b-1;(A!==0||I<O)&&S!==-1;S--,I++)A+=256*d[S]>>>0,d[S]=A%a>>>0,A=A/a>>>0;if(A!==0)throw new Error("Non-zero carry");O=I,D++}for(var M=b-O;M!==b&&d[M]===0;)M++;for(var se=h.repeat(w);M<b;++M)se+=r.charAt(d[M]);return se}function v(u){if(typeof u!="string")throw new TypeError("Expected String");if(u.length===0)return new Uint8Array;var w=0;if(u[w]!==" "){for(var O=0,D=0;u[w]===h;)O++,w++;for(var l=(u.length-w)*c+1>>>0,b=new Uint8Array(l);u[w];){var d=e[u.charCodeAt(w)];if(d===255)return;for(var A=0,I=l-1;(d!==0||A<D)&&I!==-1;I--,A++)d+=a*b[I]>>>0,b[I]=d%256>>>0,d=d/256>>>0;if(d!==0)throw new Error("Non-zero carry");D=A,w++}if(u[w]!==" "){for(var S=l-D;S!==l&&b[S]===0;)S++;for(var M=new Uint8Array(O+(l-S)),se=O;S!==l;)M[se++]=b[S++];return M}}}function _(u){var w=v(u);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:m,decodeUnsafe:v,decode:_}}var Jt=jt,Wt=Jt,ft=Wt;var Te=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Oe=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return lt(this,t)}},Me=class{decoders;constructor(t){this.decoders=t}or(t){return lt(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function lt(r,t){return new Me({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Re=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Te(t,e,n),this.decoder=new Oe(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function H({name:r,prefix:t,encode:e,decode:n}){return new Re(r,t,e,n)}function V({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=ft(e,r);return H({prefix:t,name:r,encode:n,decode:s=>P(o(s))})}function Kt(r,t,e,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),i=0,a=0,h=0;for(let c=0;c<o;++c){let g=t[r[c]];if(g===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|g,i+=e,i>=8&&(i-=8,s[h++]=255&a>>i)}if(i>=e||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function Qt(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,a=0;for(let h=0;h<r.length;++h)for(a=a<<8|r[h],i+=8;i>e;)i-=e,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<e-i]),n)for(;(s.length*e&7)!==0;)s+="=";return s}function Yt(r){let t={};for(let e=0;e<r.length;++e)t[r[e]]=e;return t}function p({name:r,prefix:t,bitsPerChar:e,alphabet:n}){let o=Yt(n);return H({prefix:t,name:r,encode(s){return Qt(s,n,e)},decode(s){return Kt(s,o,e,r)}})}var Zt=V({prefix:"9",name:"base10",alphabet:"0123456789"});var Pe={};U(Pe,{base16:()=>er,base16upper:()=>tr});var er=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),tr=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var _e={};U(_e,{base2:()=>rr});var rr=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ve={};U(Ve,{base256emoji:()=>ar});var dt=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}"),nr=dt.reduce((r,t,e)=>(r[e]=t,r),[]),or=dt.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function sr(r){return r.reduce((t,e)=>(t+=nr[e],t),"")}function ir(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=or[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var ar=H({prefix:"\u{1F680}",name:"base256emoji",encode:sr,decode:ir});var Be={};U(Be,{base32:()=>q,base32hex:()=>fr,base32hexpad:()=>dr,base32hexpadupper:()=>mr,base32hexupper:()=>lr,base32pad:()=>hr,base32padupper:()=>ur,base32upper:()=>cr,base32z:()=>pr});var q=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),cr=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),hr=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ur=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),fr=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),lr=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),dr=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),mr=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),pr=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ge={};U(Ge,{base36:()=>Z,base36upper:()=>gr});var Z=V({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),gr=V({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ke={};U(ke,{base58btc:()=>T,base58flickr:()=>wr});var T=V({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),wr=V({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ze={};U(ze,{base64:()=>br,base64pad:()=>xr,base64url:()=>yr,base64urlpad:()=>Er});var br=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),xr=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),yr=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Er=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var $e={};U($e,{base8:()=>Lr});var Lr=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var He={};U(He,{identity:()=>vr});var vr=H({prefix:"\0",name:"identity",encode:r=>ht(r),decode:r=>ct(r)});var to=new TextEncoder,ro=new TextDecoder;var Xe={};U(Xe,{identity:()=>Xr});var Sr=gt,mt=128,Ur=127,Ir=~Ur,Nr=Math.pow(2,31);function gt(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Nr;)t[e++]=r&255|mt,r/=128;for(;r&Ir;)t[e++]=r&255|mt,r>>>=7;return t[e]=r|0,gt.bytes=e-n+1,t}var Cr=qe,Tr=128,pt=127;function qe(r,n){var e=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw qe.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&pt)<<o:(i&pt)*Math.pow(2,o),o+=7}while(i>=Tr);return qe.bytes=s-n,e}var Or=Math.pow(2,7),Mr=Math.pow(2,14),Rr=Math.pow(2,21),Fr=Math.pow(2,28),Pr=Math.pow(2,35),_r=Math.pow(2,42),Vr=Math.pow(2,49),Br=Math.pow(2,56),Gr=Math.pow(2,63),kr=function(r){return r<Or?1:r<Mr?2:r<Rr?3:r<Fr?4:r<Pr?5:r<_r?6:r<Vr?7:r<Br?8:r<Gr?9:10},zr={encode:Sr,decode:Cr,encodingLength:kr},$r=zr,ee=$r;function te(r,t=0){return[ee.decode(r,t),ee.decode.bytes]}function X(r,t,e=0){return ee.encode(r,t,e),t}function j(r){return ee.encodingLength(r)}function W(r,t){let e=t.byteLength,n=j(r),o=n+j(e),s=new Uint8Array(o+e);return X(r,s,0),X(e,s,n),s.set(t,o),new J(r,e,t,s)}function wt(r){let t=P(r),[e,n]=te(t),[o,s]=te(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new J(e,o,i,t)}function bt(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&at(r.bytes,e.bytes)}}var J=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var xt=0,Hr="identity",yt=P;function qr(r,t){if(t?.truncate!=null&&t.truncate!==r.byteLength){if(t.truncate<0||t.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t.truncate)}return W(xt,yt(r))}var Xr={code:xt,name:Hr,encode:yt,digest:qr};var We={};U(We,{sha256:()=>Jr,sha512:()=>Wr});var jr=20;function Je({name:r,code:t,encode:e,minDigestLength:n,maxDigestLength:o}){return new je(r,t,e,n,o)}var je=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,e,n,o,s){this.name=t,this.code=e,this.encode=n,this.minDigestLength=o??jr,this.maxDigestLength=s}digest(t,e){if(e?.truncate!=null){if(e.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&e.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?Et(n,this.code,e?.truncate):n.then(o=>Et(o,this.code,e?.truncate))}else throw Error("Unknown type, must be binary type")}};function Et(r,t,e){if(e!=null&&e!==r.byteLength){if(e>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e)}return W(t,r)}function vt(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var Jr=Je({name:"sha2-256",code:18,encode:vt("SHA-256")}),Wr=Je({name:"sha2-512",code:19,encode:vt("SHA-512")});function At(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Qr(e,Ke(r),t??T.encoder);default:return Yr(e,Ke(r),t??q.encoder)}}var Dt=new WeakMap;function Ke(r){let t=Dt.get(r);if(t==null){let e=new Map;return Dt.set(r,e),e}return t}var ge=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==ne)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Zr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=W(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&bt(t.multihash,n.multihash)}toString(t){return At(this,t)}toJSON(){return{"/":At(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??St(n,o,s.bytes))}else if(e[en]===!0){let{version:n,multihash:o,code:s}=e,i=wt(o);return r.create(n,s,i)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==ne)throw new Error(`Version 0 CID must use dag-pb (code: ${ne}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=St(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,ne,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=P(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new J(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[m,v]=te(t.subarray(e));return e+=v,m},o=n(),s=ne;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,a=n(),h=n(),c=e+h,g=c-i;return{version:o,codec:s,multihashCode:a,digestSize:h,multihashSize:g,size:c}}static parse(t,e){let[n,o]=Kr(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ke(s).set(n,t),s}};function Kr(r,t){switch(r[0]){case"Q":{let e=t??T;return[T.prefix,e.decode(`${T.prefix}${r}`)]}case T.prefix:{let e=t??T;return[T.prefix,e.decode(r)]}case q.prefix:{let e=t??q;return[q.prefix,e.decode(r)]}case Z.prefix:{let e=t??Z;return[Z.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Qr(r,t,e){let{prefix:n}=e;if(n!==T.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function Yr(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var ne=112,Zr=18;function St(r,t,e){let n=j(r),o=n+j(t),s=new Uint8Array(o+e.byteLength);return X(r,s,0),X(t,s,n),s.set(e,o),s}var en=Symbol.for("@ipld/js-cid/CID");var Qe={...He,..._e,...$e,...Fe,...Pe,...Be,...Ge,...ke,...ze,...Ve},Do={...We,...Xe};function It(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Ut=It("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ye=It("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=N(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),tn={utf8:Ut,"utf-8":Ut,hex:Qe.base16,latin1:Ye,ascii:Ye,binary:Ye,...Qe},we=tn;function L(r,t="utf8"){let e=we[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Nt(r,t="utf8"){let e=we[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var rn=L(`
|
|
3
|
-
`);async function
|
|
4
|
-
`),
|
|
5
|
-
`);await
|
|
6
|
-
`),
|
|
7
|
-
|
|
8
|
-
`)
|
|
9
|
-
`),L(`${t}
|
|
10
|
-
`)]),e.log.trace('optimistic: wrote ["%s", "%s", data] in source',x,t)}finally{h=!0,c=!1,g.resolve()}}async function D(){if(v){await _.promise;return}v=!0;try{e.log.trace("optimistic: reading multistream select header");let l=await B(u,e);if(e.log.trace('optimistic: read multistream select header "%s"',l),l===x&&(l=await B(u,e)),e.log.trace('optimistic: read protocol "%s", expecting "%s"',l,t),l!==t)throw new Q("protocol selection failed")}finally{m=!0,v=!1,_.resolve()}}if(r.source=(async function*(){await w(),e.log.trace('optimistic: reading data from "%s" stream',t),yield*u.unwrap().source})(),r.closeRead!=null){let l=r.closeRead.bind(r);r.closeRead=async b=>{s||await w().catch(d=>{e.log.error("could not negotiate protocol before close read",d)}),await l(b)}}if(r.closeWrite!=null){let l=r.closeWrite.bind(r);r.closeWrite=async b=>{s||await w().catch(d=>{e.log.error("could not negotiate protocol before close write",d)}),await l(b)}}if(r.close!=null){let l=r.close.bind(r);r.close=async b=>{let d=[];c&&d.push(g.promise),v&&d.push(_.promise),d.length>0?await G(Promise.all(d),b?.signal):(s=!0,i=!1,a.resolve()),await l(b)}}return{stream:r,protocol:t}}var be=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},K=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},xe=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},oe=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function ye(r){return r[Symbol.asyncIterator]!=null}function Mt(r,t){if(r.byteLength>t)throw new K("Message length too long")}var Le=r=>{let t=F(r),e=N(t);return $(r,e),Le.bytes=t,e};Le.bytes=0;function ve(r,t){t=t??{};let e=t.lengthEncoder??Le,n=t?.maxDataLength??4194304;function*o(s){Mt(s,n);let i=e(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return ye(r)?(async function*(){for await(let s of r)yield*o(s)})():(function*(){for(let s of r)yield*o(s)})()}ve.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Le,n=t?.maxDataLength??4194304;return Mt(r,n),new y(e(r.byteLength),r)};var z;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(z||(z={}));var tt=r=>{let t=ue(r);return tt.bytes=F(t),t};tt.bytes=0;function et(r,t){let e=new y,n=z.LENGTH,o=-1,s=t?.lengthDecoder??tt,i=t?.maxLengthLength??8,a=t?.maxDataLength??4194304;function*h(){for(;e.byteLength>0;){if(n===z.LENGTH)try{if(o=s(e),o<0)throw new be("Invalid message length");if(o>a)throw new K("Message length too long");let c=s.bytes;e.consume(c),t?.onLength!=null&&t.onLength(o),n=z.DATA}catch(c){if(c instanceof RangeError){if(e.byteLength>i)throw new xe("Message length length too long");break}throw c}if(n===z.DATA){if(e.byteLength<o)break;let c=e.sublist(0,o);e.consume(o),t?.onData!=null&&t.onData(c),yield c,n=z.LENGTH}}}return ye(r)?(async function*(){for await(let c of r)e.append(c),yield*h();if(e.byteLength>0)throw new oe("Unexpected end of input")})():(function*(){for(let c of r)e.append(c),yield*h();if(e.byteLength>0)throw new oe("Unexpected end of input")})()}et.fromReader=(r,t)=>{let e=1,n=(async function*(){for(;;)try{let{done:s,value:i}=await r.next(e);if(s===!0)return;i!=null&&(yield i)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{e=1}})();return et(n,{...t??{},onLength:s=>{e=s}})};async function Rt(r,t,e){t=Array.isArray(t)?t:[t],e.log.trace("handle: available protocols %s",t);let n=Y(r,{...e,maxDataLength:1024,maxLengthLength:2});for(;;){e.log.trace("handle: reading incoming string");let o=await B(n,e);if(e.log.trace('handle: read "%s"',o),o===x){e.log.trace('handle: respond with "%s" for "%s"',x,o),await k(n,L(`${x}
|
|
11
|
-
`),e),e.log.trace('handle: responded with "%s" for "%s"',x,o);continue}if(t.includes(o))return e.log.trace('handle: respond with "%s" for "%s"',o,o),await k(n,L(`${o}
|
|
12
|
-
`),e),e.log.trace('handle: responded with "%s" for "%s"',o,o),{stream:n.unwrap(),protocol:o};if(o==="ls"){let s=new y(...t.map(i=>ve.single(L(`${i}
|
|
2
|
+
"use strict";var Libp2PMultistreamSelect=(()=>{var ge=Object.defineProperty;var Rt=Object.getOwnPropertyDescriptor;var _t=Object.getOwnPropertyNames;var Vt=Object.prototype.hasOwnProperty;var y=(r,e)=>{for(var t in e)ge(r,t,{get:e[t],enumerable:!0})},Bt=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of _t(e))!Vt.call(r,o)&&o!==t&&ge(r,o,{get:()=>e[o],enumerable:!(n=Rt(e,o))||n.enumerable});return r};var zt=r=>Bt(ge({},"__esModule",{value:!0}),r);var pn={};y(pn,{PROTOCOL_ID:()=>S,handle:()=>Pt,select:()=>Ft});var S="/multistream/1.0.0";var te=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var re=class extends Error{static name="UnsupportedProtocolError";constructor(e="Unsupported protocol error"){super(e),this.name="UnsupportedProtocolError"}},ne=class extends Error{static name="InvalidMessageError";constructor(e="Invalid message"){super(e),this.name="InvalidMessageError"}};var ve={};y(ve,{base58btc:()=>U,base58flickr:()=>Xt});var yn=new Uint8Array(0);function rt(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function O(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function nt(r){return new TextEncoder().encode(r)}function ot(r){return new TextDecoder().decode(r)}function $t(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,l=r.charAt(0),c=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function f(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var w=0,_=0,v=0,D=m.length;v!==D&&m[v]===0;)v++,w++;for(var T=(D-v)*u+1>>>0,E=new Uint8Array(T);v!==D;){for(var N=m[v],P=0,A=T-1;(N!==0||P<_)&&A!==-1;A--,P++)N+=256*E[A]>>>0,E[A]=N%a>>>0,N=N/a>>>0;if(N!==0)throw new Error("Non-zero carry");_=P,v++}for(var C=T-_;C!==T&&E[C]===0;)C++;for(var ee=l.repeat(w);C<T;++C)ee+=r.charAt(E[C]);return ee}function p(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var w=0;if(m[w]!==" "){for(var _=0,v=0;m[w]===l;)_++,w++;for(var D=(m.length-w)*c+1>>>0,T=new Uint8Array(D);m[w];){var E=t[m.charCodeAt(w)];if(E===255)return;for(var N=0,P=D-1;(E!==0||N<v)&&P!==-1;P--,N++)E+=a*T[P]>>>0,T[P]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");v=N,w++}if(m[w]!==" "){for(var A=D-v;A!==D&&T[A]===0;)A++;for(var C=new Uint8Array(_+(D-A)),ee=_;A!==D;)C[ee++]=T[A++];return C}}}function h(m){var w=p(m);if(w)return w;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:p,decode:h}}var kt=$t,Gt=kt,it=Gt;var ye=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},xe=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let o=t.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return at(this,e)}},Ee=class{decoders;constructor(e){this.decoders=e}or(e){return at(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function at(r,e){return new Ee({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Le=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new ye(e,t,n),this.decoder=new xe(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function z({name:r,prefix:e,encode:t,decode:n}){return new Le(r,e,t,n)}function R({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=it(t,r);return z({prefix:e,name:r,encode:n,decode:s=>O(o(s))})}function Ht(r,e,t,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*t/8|0),i=0,a=0,l=0;for(let c=0;c<o;++c){let u=e[r[c]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|u,i+=t,i>=8&&(i-=8,s[l++]=255&a>>i)}if(i>=t||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function jt(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let l=0;l<r.length;++l)for(a=a<<8|r[l],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;(s.length*t&7)!==0;)s+="=";return s}function qt(r){let e={};for(let t=0;t<r.length;++t)e[r[t]]=t;return e}function b({name:r,prefix:e,bitsPerChar:t,alphabet:n}){let o=qt(n);return z({prefix:e,name:r,encode(s){return jt(s,n,t)},decode(s){return Ht(s,o,t,r)}})}var U=R({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Xt=R({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ae={};y(Ae,{base32:()=>$,base32hex:()=>Qt,base32hexpad:()=>Zt,base32hexpadupper:()=>er,base32hexupper:()=>Yt,base32pad:()=>Wt,base32padupper:()=>Kt,base32upper:()=>Jt,base32z:()=>tr});var $=b({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Jt=b({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Wt=b({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Kt=b({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Qt=b({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Yt=b({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zt=b({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),er=b({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),tr=b({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Se={};y(Se,{base36:()=>X,base36upper:()=>rr});var X=R({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),rr=R({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var nr=lt,ct=128,or=127,sr=~or,ir=Math.pow(2,31);function lt(r,e,t){e=e||[],t=t||0;for(var n=t;r>=ir;)e[t++]=r&255|ct,r/=128;for(;r&sr;)e[t++]=r&255|ct,r>>>=7;return e[t]=r|0,lt.bytes=t-n+1,e}var ar=Ie,cr=128,ut=127;function Ie(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Ie.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&ut)<<o:(i&ut)*Math.pow(2,o),o+=7}while(i>=cr);return Ie.bytes=s-n,t}var ur=Math.pow(2,7),lr=Math.pow(2,14),fr=Math.pow(2,21),hr=Math.pow(2,28),dr=Math.pow(2,35),mr=Math.pow(2,42),pr=Math.pow(2,49),br=Math.pow(2,56),wr=Math.pow(2,63),gr=function(r){return r<ur?1:r<lr?2:r<fr?3:r<hr?4:r<dr?5:r<mr?6:r<pr?7:r<br?8:r<wr?9:10},yr={encode:nr,decode:ar,encodingLength:gr},xr=yr,J=xr;function W(r,e=0){return[J.decode(r,e),J.decode.bytes]}function k(r,e,t=0){return J.encode(r,e,t),e}function G(r){return J.encodingLength(r)}function j(r,e){let t=e.byteLength,n=G(r),o=n+G(t),s=new Uint8Array(o+t);return k(r,s,0),k(t,s,n),s.set(e,o),new H(r,t,e,s)}function ft(r){let e=O(r),[t,n]=W(e),[o,s]=W(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new H(t,o,i,e)}function ht(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&rt(r.bytes,t.bytes)}}var H=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};function dt(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return Lr(t,De(r),e??U.encoder);default:return vr(t,De(r),e??$.encoder)}}var mt=new WeakMap;function De(r){let e=mt.get(r);if(e==null){let t=new Map;return mt.set(r,t),t}return e}var se=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,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:t}=this;if(e!==Q)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Ar)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}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:t}=this.multihash,n=j(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&ht(e.multihash,n.multihash)}toString(e){return dt(this,e)}toJSON(){return{"/":dt(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??pt(n,o,s.bytes))}else if(t[Sr]===!0){let{version:n,multihash:o,code:s}=t,i=ft(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="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(t!==Q)throw new Error(`Version 0 CID must use dag-pb (code: ${Q}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=pt(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Q,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=O(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new H(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[f,p]=W(e.subarray(t));return t+=p,f},o=n(),s=Q;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),l=n(),c=t+l,u=c-i;return{version:o,codec:s,multihashCode:a,digestSize:l,multihashSize:u,size:c}}static parse(e,t){let[n,o]=Er(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return De(s).set(n,e),s}};function Er(r,e){switch(r[0]){case"Q":{let t=e??U;return[U.prefix,t.decode(`${U.prefix}${r}`)]}case U.prefix:{let t=e??U;return[U.prefix,t.decode(r)]}case $.prefix:{let t=e??$;return[$.prefix,t.decode(r)]}case X.prefix:{let t=e??X;return[X.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function Lr(r,e,t){let{prefix:n}=t;if(n!==U.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function vr(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var Q=112,Ar=18;function pt(r,e,t){let n=G(r),o=n+G(e),s=new Uint8Array(o+t.byteLength);return k(r,s,0),k(e,s,n),s.set(t,o),s}var Sr=Symbol.for("@ipld/js-cid/CID");var Te={};y(Te,{identity:()=>Tr});var bt=0,Ir="identity",wt=O;function Dr(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return j(bt,wt(r))}var Tr={code:bt,name:Ir,encode:wt,digest:Dr};function gt(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function M(r=0){return new Uint8Array(r)}function I(r=0){return new Uint8Array(r)}function Ne(r,e){e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=I(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return t}var xt=Symbol.for("@achingbrain/uint8arraylist");function yt(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function ie(r){return!!r?.[xt]}var x=class r{bufs;length;[xt]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(ie(n))t+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(ie(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=yt(this.bufs,e);return t.buf[t.index]}set(e,t){let n=yt(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(ie(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:o}=this._subList(e,t);return Ne(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:Ne(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),s=new r;return s.length=o,s.bufs=[...n],s}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,l=a+i.byteLength;if(o=l,e>=l)continue;let c=e>=a&&e<l,u=t>a&&t<=l;if(c&&u){if(e===a&&t===l){n.push(i);break}let f=e-a;n.push(i.subarray(f,f+(t-e)));break}if(c){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(u){if(t===l){n.push(i);break}n.push(i.subarray(0,t-a));break}n.push(i)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!ie(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let f=0;f<s;f++)i[f]=-1;for(let f=0;f<o;f++)i[n[f]]=f;let a=i,l=this.byteLength-n.byteLength,c=n.byteLength-1,u;for(let f=t;f<=l;f+=u){u=0;for(let p=c;p>=0;p--){let h=this.get(f+p);if(n[p]!==h){u=Math.max(1,p-a[h]);break}}if(u===0)return f}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=I(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=M(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=M(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=M(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=I(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=M(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=M(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=M(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=M(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=M(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!gt(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,s)=>o+s.byteLength,0)),n.length=t,n}};var Ue={};y(Ue,{base10:()=>Nr});var Nr=R({prefix:"9",name:"base10",alphabet:"0123456789"});var Ce={};y(Ce,{base16:()=>Ur,base16upper:()=>Cr});var Ur=b({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Cr=b({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Oe={};y(Oe,{base2:()=>Or});var Or=b({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Me={};y(Me,{base256emoji:()=>_r});var Et=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}"),Mr=Et.reduce((r,e,t)=>(r[t]=e,r),[]),Fr=Et.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function Pr(r){return r.reduce((e,t)=>(e+=Mr[t],e),"")}function Rr(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let o=Fr[n];if(o==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var _r=z({prefix:"\u{1F680}",name:"base256emoji",encode:Pr,decode:Rr});var Fe={};y(Fe,{base64:()=>Vr,base64pad:()=>Br,base64url:()=>zr,base64urlpad:()=>$r});var Vr=b({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Br=b({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),zr=b({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),$r=b({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Pe={};y(Pe,{base8:()=>kr});var kr=b({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Re={};y(Re,{identity:()=>Gr});var Gr=z({prefix:"\0",name:"identity",encode:r=>ot(r),decode:r=>nt(r)});var ro=new TextEncoder,no=new TextDecoder;var Be={};y(Be,{sha256:()=>Xr,sha512:()=>Jr});var qr=20;function Ve({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:o}){return new _e(r,e,t,n,o)}var _e=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,o,s){this.name=e,this.code=t,this.encode=n,this.minDigestLength=o??qr,this.maxDigestLength=s}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Lt(n,this.code,t?.truncate):n.then(o=>Lt(o,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function Lt(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return j(e,r)}function At(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Xr=Ve({name:"sha2-256",code:18,encode:At("SHA-256")}),Jr=Ve({name:"sha2-512",code:19,encode:At("SHA-512")});var ze={...Re,...Oe,...Pe,...Ue,...Ce,...Ae,...Se,...ve,...Fe,...Me},bo={...Be,...Te};function It(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var St=It("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),$e=It("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=I(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Wr={utf8:St,"utf-8":St,hex:ze.base16,latin1:$e,ascii:$e,binary:$e,...ze},ae=Wr;function L(r,e="utf8"){let t=ae[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function Dt(r,e="utf8"){let t=ae[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var Kr=Math.pow(2,7),Qr=Math.pow(2,14),Yr=Math.pow(2,21),ke=Math.pow(2,28),Ge=Math.pow(2,35),He=Math.pow(2,42),je=Math.pow(2,49),d=128,g=127;function F(r){if(r<Kr)return 1;if(r<Qr)return 2;if(r<Yr)return 3;if(r<ke)return 4;if(r<Ge)return 5;if(r<He)return 6;if(r<je)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Zr(r,e,t=0){switch(F(r)){case 8:e[t++]=r&255|d,r/=128;case 7:e[t++]=r&255|d,r/=128;case 6:e[t++]=r&255|d,r/=128;case 5:e[t++]=r&255|d,r/=128;case 4:e[t++]=r&255|d,r>>>=7;case 3:e[t++]=r&255|d,r>>>=7;case 2:e[t++]=r&255|d,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function en(r,e,t=0){switch(F(r)){case 8:e.set(t++,r&255|d),r/=128;case 7:e.set(t++,r&255|d),r/=128;case 6:e.set(t++,r&255|d),r/=128;case 5:e.set(t++,r&255|d),r/=128;case 4:e.set(t++,r&255|d),r>>>=7;case 3:e.set(t++,r&255|d),r>>>=7;case 2:e.set(t++,r&255|d),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function tn(r,e){let t=r[e],n=0;if(n+=t&g,t<d||(t=r[e+1],n+=(t&g)<<7,t<d)||(t=r[e+2],n+=(t&g)<<14,t<d)||(t=r[e+3],n+=(t&g)<<21,t<d)||(t=r[e+4],n+=(t&g)*ke,t<d)||(t=r[e+5],n+=(t&g)*Ge,t<d)||(t=r[e+6],n+=(t&g)*He,t<d)||(t=r[e+7],n+=(t&g)*je,t<d))return n;throw new RangeError("Could not decode varint")}function rn(r,e){let t=r.get(e),n=0;if(n+=t&g,t<d||(t=r.get(e+1),n+=(t&g)<<7,t<d)||(t=r.get(e+2),n+=(t&g)<<14,t<d)||(t=r.get(e+3),n+=(t&g)<<21,t<d)||(t=r.get(e+4),n+=(t&g)*ke,t<d)||(t=r.get(e+5),n+=(t&g)*Ge,t<d)||(t=r.get(e+6),n+=(t&g)*He,t<d)||(t=r.get(e+7),n+=(t&g)*je,t<d))return n;throw new RangeError("Could not decode varint")}function ce(r,e,t=0){return e==null&&(e=I(F(r))),e instanceof Uint8Array?Zr(r,e,t):en(r,e,t)}function ue(r,e=0){return r instanceof Uint8Array?tn(r,e):rn(r,e)}var Xe=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Je=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Tt=r=>globalThis.DOMException===void 0?new Je(r):new DOMException(r),Nt=r=>{let e=r.reason===void 0?Tt("This operation was aborted."):r.reason;return e instanceof Error?e:Tt(e)};function We(r,e){let{milliseconds:t,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout}}=e,i,a,c=new Promise((u,f)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(e.signal){let{signal:h}=e;h.aborted&&f(Nt(h)),a=()=>{f(Nt(h))},h.addEventListener("abort",a,{once:!0})}if(t===Number.POSITIVE_INFINITY){r.then(u,f);return}let p=new Xe;i=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){f(h)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?u():o instanceof Error?f(o):(p.message=o??`Promise timed out after ${t} milliseconds`,f(p))},t),(async()=>{try{u(await r)}catch(h){f(h)}})()}).finally(()=>{c.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return c.clear=()=>{s.clearTimeout.call(void 0,i),i=void 0},c}var nn=r=>{let e=r.addEventListener||r.on||r.addListener,t=r.removeEventListener||r.off||r.removeListener;if(!e||!t)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(r),removeListener:t.bind(r)}};function on(r,e,t){let n,o=new Promise((s,i)=>{if(t={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...t},!(t.count>=0&&(t.count===Number.POSITIVE_INFINITY||Number.isInteger(t.count))))throw new TypeError("The `count` option should be at least 0 or more");t.signal?.throwIfAborted();let a=[e].flat(),l=[],{addListener:c,removeListener:u}=nn(r),f=async(...h)=>{let m=t.multiArgs?h:h[0];if(t.filter)try{if(!await t.filter(m))return}catch(w){n(),i(w);return}l.push(m),t.count===l.length&&(n(),s(l))},p=(...h)=>{n(),i(t.rejectionMultiArgs?h:h[0])};n=()=>{for(let h of a)u(h,f);for(let h of t.rejectionEvents)a.includes(h)||u(h,p)};for(let h of a)c(h,f);for(let h of t.rejectionEvents)a.includes(h)||c(h,p);t.signal&&t.signal.addEventListener("abort",()=>{p(t.signal.reason)},{once:!0}),t.resolveImmediately&&s(l)});if(o.cancel=n,typeof t.timeout=="number"){let s=We(o,{milliseconds:t.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function Ut(r,e,t){typeof t=="function"&&(t={filter:t}),t={...t,count:1,resolveImmediately:!1};let n=on(r,e,t),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}var V=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function sn(r){return r.reason}async function Ct(r,e,t){if(e==null)return r;let n=t?.translateError??sn;if(e.aborted)return r.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([r,new Promise((s,i)=>{o=()=>{i(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var cn=4194304,le=class extends Error{static name="UnwrappedError";name="UnwrappedError"},Qe=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Ye=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Ze=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function un(r){return typeof r?.closeRead=="function"}function ln(r){return typeof r?.close=="function"}function Ke(r){return un(r)?r.readStatus==="closing"||r.readStatus==="closed":ln(r)?r.status!=="open":!1}function fn(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function hn(r,e){let t=e?.maxBufferSize??cn,n=new x,o,s=!1;if(!fn(r))throw new te("Argument should be a Stream or a Multiaddr");let i=u=>{if(n.append(u.data),n.byteLength>t){let f=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${f} > ${t}`))}o?.resolve()};r.addEventListener("message",i);let a=u=>{u.error!=null?o?.reject(u.error):o?.resolve()};r.addEventListener("close",a);let l=()=>{o?.resolve()};r.addEventListener("remoteCloseWrite",l);let c={readBuffer:n,async read(u){if(s===!0)throw new le("Stream was unwrapped");if(Ke(r)){if(u?.bytes==null)return null;if(n.byteLength<u.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new V(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let f=u?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=f){o.resolve();break}if(await Ct(o.promise,u?.signal),Ke(r)){if(n.byteLength===0&&u?.bytes==null)return null;break}o=Promise.withResolvers()}let p=u?.bytes??n.byteLength;if(n.byteLength<p){if(Ke(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,p),new V(`Unexpected EOF - stream closed while reading ${n.byteLength}/${p} bytes`);return c.read(u)}let h=n.sublist(0,p);return n.consume(p),h},async write(u,f){if(s===!0)throw new le("Stream was unwrapped");r.send(u)||await Ut(r,"drain",{signal:f?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,r.removeEventListener("message",i),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",l),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.push(n))),r}};return c}function fe(r,e={}){let t=hn(r,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=F(e.maxDataLength));let n=e?.lengthDecoder??ue,o=e?.lengthEncoder??ce;return{async read(i){let a=-1,l=new x;for(;;){let u=await t.read({...i,bytes:1});if(u==null)break;l.append(u);try{a=n(l)}catch(f){if(f instanceof RangeError)continue;throw f}if(a<0)throw new Qe("Invalid message length");if(e?.maxLengthLength!=null&&l.byteLength>e.maxLengthLength)throw new Ze(`Message length length too long - ${l.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new Ye(`Message length too long - ${a} > ${e.maxDataLength}`);let c=await t.read({...i,bytes:a});if(c==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new V(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(c.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",c.byteLength,a),new V(`Unexpected EOF - read ${c.byteLength}/${a} bytes before the stream closed`);return c},async write(i,a){await t.write(new x(o(i.byteLength),i),a)},async writeV(i,a){let l=new x(...i.flatMap(c=>[o(c.byteLength),c]));await t.write(l,a)},unwrap(){return t.unwrap()}}}var he=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},q=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},de=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},Y=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function me(r){return r[Symbol.asyncIterator]!=null}function Ot(r,e){if(r.byteLength>e)throw new q("Message length too long")}var be=r=>{let e=F(r),t=I(e);return ce(r,t),be.bytes=e,t};be.bytes=0;function we(r,e){e=e??{};let t=e.lengthEncoder??be,n=e?.maxDataLength??4194304;function*o(s){Ot(s,n);let i=t(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return me(r)?(async function*(){for await(let s of r)yield*o(s)})():(function*(){for(let s of r)yield*o(s)})()}we.single=(r,e)=>{e=e??{};let t=e.lengthEncoder??be,n=e?.maxDataLength??4194304;return Ot(r,n),new x(t(r.byteLength),r)};var B;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(B||(B={}));var tt=r=>{let e=ue(r);return tt.bytes=F(e),e};tt.bytes=0;function et(r,e){let t=new x,n=B.LENGTH,o=-1,s=e?.lengthDecoder??tt,i=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*l(){for(;t.byteLength>0;){if(n===B.LENGTH)try{if(o=s(t),o<0)throw new he("Invalid message length");if(o>a)throw new q("Message length too long");let c=s.bytes;t.consume(c),e?.onLength!=null&&e.onLength(o),n=B.DATA}catch(c){if(c instanceof RangeError){if(t.byteLength>i)throw new de("Message length length too long");break}throw c}if(n===B.DATA){if(t.byteLength<o)break;let c=t.sublist(0,o);t.consume(o),e?.onData!=null&&e.onData(c),yield c,n=B.LENGTH}}}return me(r)?(async function*(){for await(let c of r)t.append(c),yield*l();if(t.byteLength>0)throw new Y("Unexpected end of input")})():(function*(){for(let c of r)t.append(c),yield*l();if(t.byteLength>0)throw new Y("Unexpected end of input")})()}et.fromReader=(r,e)=>{let t=1,n=(async function*(){for(;;)try{let{done:s,value:i}=await r.next(t);if(s===!0)return;i!=null&&(yield i)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{t=1}})();return et(n,{...e??{},onLength:s=>{t=s}})};var mn=L(`
|
|
3
|
+
`);async function Z(r,e){let n=(await r.read(e)).subarray();if(n.byteLength===0||n[n.length-1]!==mn[0])throw new ne("Missing newline");return Dt(n).trimEnd()}async function Ft(r,e,t={}){if(e=Array.isArray(e)?[...e]:[e],e.length===0)throw new Error("At least one protocol must be specified");let n=r.log.newScope("mss:select"),o=fe(r,{...t,maxDataLength:1024});for(let s=0;s<e.length;s++){let i=e[s],a;if(s===0){n.trace('write ["%s", "%s"]',S,i);let l=L(`${S}
|
|
4
|
+
`),c=L(`${i}
|
|
5
|
+
`);if(await o.writeV([l,c],t),n.trace("reading multistream-select header"),a=await Z(o,t),n.trace('read "%s"',a),a!==S){n.error("did not read multistream-select header from response");break}}else n.trace('write "%s"',i),await o.write(L(`${i}
|
|
6
|
+
`),t);if(n.trace("reading protocol response"),a=await Z(o,t),n.trace('read "%s"',a),a===i)return n.trace('selected "%s" after negotiation',a),o.unwrap(),i}throw new re(`Protocol selection failed - could not negotiate ${e}`)}async function Pt(r,e,t={}){e=Array.isArray(e)?e:[e];let n=r.log.newScope("mss:handle"),o=fe(r,{...t,maxDataLength:1024,maxLengthLength:2});for(;;){n.trace("reading incoming string");let s=await Z(o,t);if(n.trace('read "%s"',s),s===S){n.trace('respond with "%s" for "%s"',S,s),await o.write(L(`${S}
|
|
7
|
+
`),t),n.trace('responded with "%s" for "%s"',S,s);continue}if(e.includes(s))return n.trace('respond with "%s" for "%s"',s,s),await o.write(L(`${s}
|
|
8
|
+
`),t),n.trace('responded with "%s" for "%s"',s,s),o.unwrap(),s;if(s==="ls"){let i=new x(...e.map(a=>we.single(L(`${a}
|
|
13
9
|
`))),L(`
|
|
14
|
-
`));
|
|
15
|
-
`),
|
|
10
|
+
`));n.trace('respond with "%s" for %s',e,s),await o.write(i,t),n.trace('responded with "%s" for %s',e,s);continue}n.trace('respond with "na" for "%s"',s),await o.write(L(`na
|
|
11
|
+
`),t),n('responded with "na" for "%s"',s)}}return zt(pn);})();
|
|
16
12
|
return Libp2PMultistreamSelect}));
|
|
17
13
|
//# sourceMappingURL=index.min.js.map
|