helia 0.0.0-c4b1e70 → 0.0.0-cff3aa3

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 CHANGED
@@ -1,3 +1,3 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Helia = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Helia=(()=>{var Gu=Object.create;var wr=Object.defineProperty;var Ku=Object.getOwnPropertyDescriptor;var Qu=Object.getOwnPropertyNames;var Xu=Object.getPrototypeOf,Ju=Object.prototype.hasOwnProperty;var T=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),V=(r,e)=>{for(var t in e)wr(r,t,{get:e[t],enumerable:!0})},wo=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Qu(e))!Ju.call(r,i)&&i!==t&&wr(r,i,{get:()=>e[i],enumerable:!(n=Ku(e,i))||n.enumerable});return r};var F=(r,e,t)=>(t=r!=null?Gu(Xu(r)):{},wo(e||!r||!r.__esModule?wr(t,"default",{value:r,enumerable:!0}):t,r)),Zu=r=>wo(wr({},"__esModule",{value:!0}),r);var Ro=T((Xd,Oo)=>{Oo.exports=Fo;var Uo=128,Ol=127,Rl=~Ol,zl=Math.pow(2,31);function Fo(r,e,t){e=e||[],t=t||0;for(var n=t;r>=zl;)e[t++]=r&255|Uo,r/=128;for(;r&Rl;)e[t++]=r&255|Uo,r>>>=7;return e[t]=r|0,Fo.bytes=t-n+1,e}});var Wo=T((Jd,$o)=>{$o.exports=jn;var $l=128,zo=127;function jn(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw jn.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&zo)<<i:(s&zo)*Math.pow(2,i),i+=7}while(s>=$l);return jn.bytes=o-n,t}});var jo=T((Zd,Ho)=>{var Wl=Math.pow(2,7),Hl=Math.pow(2,14),jl=Math.pow(2,21),ql=Math.pow(2,28),Vl=Math.pow(2,35),Gl=Math.pow(2,42),Kl=Math.pow(2,49),Ql=Math.pow(2,56),Xl=Math.pow(2,63);Ho.exports=function(r){return r<Wl?1:r<Hl?2:r<jl?3:r<ql?4:r<Vl?5:r<Gl?6:r<Kl?7:r<Ql?8:r<Xl?9:10}});var Vo=T((Yd,qo)=>{qo.exports={encode:Ro(),decode:Wo(),encodingLength:jo()}});var Qo=T((ep,Ko)=>{"use strict";var Go=Vo();Ko.exports=r=>{if(!(r instanceof Uint8Array))throw new Error("arg needs to be a Uint8Array");let e=[];for(;r.length>0;){let t=Go.decode(r);e.push(t),r=r.slice(Go.decode.bytes)}return e}});var Zo=T((tp,Jo)=>{Jo.exports=qn;var Xo=128,Jl=127,Zl=~Jl,Yl=Math.pow(2,31);function qn(r,e,t){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw qn.bytes=0,new RangeError("Could not encode varint");e=e||[],t=t||0;for(var n=t;r>=Yl;)e[t++]=r&255|Xo,r/=128;for(;r&Zl;)e[t++]=r&255|Xo,r>>>=7;return e[t]=r|0,qn.bytes=t-n+1,e}});var ts=T((rp,es)=>{es.exports=Vn;var ef=128,Yo=127;function Vn(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a||i>49)throw Vn.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&Yo)<<i:(s&Yo)*Math.pow(2,i),i+=7}while(s>=ef);return Vn.bytes=o-n,t}});var ns=T((np,rs)=>{var tf=Math.pow(2,7),rf=Math.pow(2,14),nf=Math.pow(2,21),of=Math.pow(2,28),sf=Math.pow(2,35),af=Math.pow(2,42),cf=Math.pow(2,49),uf=Math.pow(2,56),lf=Math.pow(2,63);rs.exports=function(r){return r<tf?1:r<rf?2:r<nf?3:r<of?4:r<sf?5:r<af?6:r<cf?7:r<uf?8:r<lf?9:10}});var os=T((ip,is)=>{is.exports={encode:Zo(),decode:ts(),encodingLength:ns()}});var cs=T((sp,as)=>{var yt=1e3,gt=yt*60,wt=gt*60,Ke=wt*24,hf=Ke*7,df=Ke*365.25;as.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return pf(r);if(t==="number"&&isFinite(r))return e.long?yf(r):mf(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function pf(r){if(r=String(r),!(r.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(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*df;case"weeks":case"week":case"w":return t*hf;case"days":case"day":case"d":return t*Ke;case"hours":case"hour":case"hrs":case"hr":case"h":return t*wt;case"minutes":case"minute":case"mins":case"min":case"m":return t*gt;case"seconds":case"second":case"secs":case"sec":case"s":return t*yt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function mf(r){var e=Math.abs(r);return e>=Ke?Math.round(r/Ke)+"d":e>=wt?Math.round(r/wt)+"h":e>=gt?Math.round(r/gt)+"m":e>=yt?Math.round(r/yt)+"s":r+"ms"}function yf(r){var e=Math.abs(r);return e>=Ke?_r(r,e,Ke,"day"):e>=wt?_r(r,e,wt,"hour"):e>=gt?_r(r,e,gt,"minute"):e>=yt?_r(r,e,yt,"second"):r+" ms"}function _r(r,e,t,n){var i=e>=t*1.5;return Math.round(r/t)+" "+n+(i?"s":"")}});var ls=T((ap,us)=>{function gf(r){t.debug=t,t.default=t,t.coerce=c,t.disable=o,t.enable=i,t.enabled=s,t.humanize=cs(),t.destroy=u,Object.keys(r).forEach(l=>{t[l]=r[l]}),t.names=[],t.skips=[],t.formatters={};function e(l){let h=0;for(let d=0;d<l.length;d++)h=(h<<5)-h+l.charCodeAt(d),h|=0;return t.colors[Math.abs(h)%t.colors.length]}t.selectColor=e;function t(l){let h,d=null,x,y;function g(...k){if(!g.enabled)return;let P=g,U=Number(new Date),ne=U-(h||U);P.diff=ne,P.prev=h,P.curr=U,h=U,k[0]=t.coerce(k[0]),typeof k[0]!="string"&&k.unshift("%O");let $=0;k[0]=k[0].replace(/%([a-zA-Z%])/g,(ie,K)=>{if(ie==="%%")return"%";$++;let oe=t.formatters[K];if(typeof oe=="function"){let lt=k[$];ie=oe.call(P,lt),k.splice($,1),$--}return ie}),t.formatArgs.call(P,k),(P.log||t.log).apply(P,k)}return g.namespace=l,g.useColors=t.useColors(),g.color=t.selectColor(l),g.extend=n,g.destroy=t.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(x!==t.namespaces&&(x=t.namespaces,y=t.enabled(l)),y),set:k=>{d=k}}),typeof t.init=="function"&&t.init(g),g}function n(l,h){let d=t(this.namespace+(typeof h>"u"?":":h)+l);return d.log=this.log,d}function i(l){t.save(l),t.namespaces=l,t.names=[],t.skips=[];let h,d=(typeof l=="string"?l:"").split(/[\s,]+/),x=d.length;for(h=0;h<x;h++)d[h]&&(l=d[h].replace(/\*/g,".*?"),l[0]==="-"?t.skips.push(new RegExp("^"+l.slice(1)+"$")):t.names.push(new RegExp("^"+l+"$")))}function o(){let l=[...t.names.map(a),...t.skips.map(a).map(h=>"-"+h)].join(",");return t.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let h,d;for(h=0,d=t.skips.length;h<d;h++)if(t.skips[h].test(l))return!1;for(h=0,d=t.names.length;h<d;h++)if(t.names[h].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){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 t.enable(t.load()),t}us.exports=gf});var fs=T((Q,vr)=>{Q.formatArgs=bf;Q.save=_f;Q.load=vf;Q.useColors=wf;Q.storage=xf();Q.destroy=(()=>{let r=!1;return()=>{r||(r=!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`."))}})();Q.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 wf(){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 bf(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+vr.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(n=t))}),r.splice(n,0,e)}Q.log=console.debug||console.log||(()=>{});function _f(r){try{r?Q.storage.setItem("debug",r):Q.storage.removeItem("debug")}catch{}}function vf(){let r;try{r=Q.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function xf(){try{return localStorage}catch{}}vr.exports=ls()(Q);var{formatters:kf}=vr.exports;kf.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ds=T((kp,hs)=>{"use strict";hs.exports=Af;function Af(r,e){for(var t=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)t[n++]=arguments[i++];return new Promise(function(a,c){t[n]=function(l){if(o)if(o=!1,l)c(l);else{for(var h=new Array(arguments.length-1),d=0;d<h.length;)h[d++]=arguments[d];a.apply(null,h)}};try{r.apply(e||null,t)}catch(u){o&&(o=!1,c(u))}})}});var gs=T(ys=>{"use strict";var kr=ys;kr.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&e.charAt(t)==="=";)++n;return Math.ceil(e.length*3)/4-n};var _t=new Array(64),ms=new Array(123);for(fe=0;fe<64;)ms[_t[fe]=fe<26?fe+65:fe<52?fe+71:fe<62?fe-4:fe-59|43]=fe++;var fe;kr.encode=function(e,t,n){for(var i=null,o=[],s=0,a=0,c;t<n;){var u=e[t++];switch(a){case 0:o[s++]=_t[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=_t[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=_t[c|u>>6],o[s++]=_t[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=_t[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var ps="invalid encoding";kr.decode=function(e,t,n){for(var i=n,o=0,s,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&o>1)break;if((c=ms[c])===void 0)throw Error(ps);switch(o){case 0:s=c,o=1;break;case 1:t[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:t[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:t[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(ps);return n-i};kr.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var bs=T((Tp,ws)=>{"use strict";ws.exports=Er;function Er(){this._listeners={}}Er.prototype.on=function(e,t,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:n||this}),this};Er.prototype.off=function(e,t){if(e===void 0)this._listeners={};else if(t===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===t?n.splice(i,1):++i;return this};Er.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<t.length;)t[i].fn.apply(t[i++].ctx,n)}return this}});var Ss=T((Sp,Ts)=>{"use strict";Ts.exports=_s(_s);function _s(r){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),t=new Uint8Array(e.buffer),n=t[3]===128;function i(c,u,l){e[0]=c,u[l]=t[0],u[l+1]=t[1],u[l+2]=t[2],u[l+3]=t[3]}function o(c,u,l){e[0]=c,u[l]=t[3],u[l+1]=t[2],u[l+2]=t[1],u[l+3]=t[0]}r.writeFloatLE=n?i:o,r.writeFloatBE=n?o:i;function s(c,u){return t[0]=c[u],t[1]=c[u+1],t[2]=c[u+2],t[3]=c[u+3],e[0]}function a(c,u){return t[3]=c[u],t[2]=c[u+1],t[1]=c[u+2],t[0]=c[u+3],e[0]}r.readFloatLE=n?s:a,r.readFloatBE=n?a:s}():function(){function e(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}r.writeFloatLE=e.bind(null,vs),r.writeFloatBE=e.bind(null,xs);function t(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}r.readFloatLE=t.bind(null,ks),r.readFloatBE=t.bind(null,Es)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),t=new Uint8Array(e.buffer),n=t[7]===128;function i(c,u,l){e[0]=c,u[l]=t[0],u[l+1]=t[1],u[l+2]=t[2],u[l+3]=t[3],u[l+4]=t[4],u[l+5]=t[5],u[l+6]=t[6],u[l+7]=t[7]}function o(c,u,l){e[0]=c,u[l]=t[7],u[l+1]=t[6],u[l+2]=t[5],u[l+3]=t[4],u[l+4]=t[3],u[l+5]=t[2],u[l+6]=t[1],u[l+7]=t[0]}r.writeDoubleLE=n?i:o,r.writeDoubleBE=n?o:i;function s(c,u){return t[0]=c[u],t[1]=c[u+1],t[2]=c[u+2],t[3]=c[u+3],t[4]=c[u+4],t[5]=c[u+5],t[6]=c[u+6],t[7]=c[u+7],e[0]}function a(c,u){return t[7]=c[u],t[6]=c[u+1],t[5]=c[u+2],t[4]=c[u+3],t[3]=c[u+4],t[2]=c[u+5],t[1]=c[u+6],t[0]=c[u+7],e[0]}r.readDoubleLE=n?s:a,r.readDoubleBE=n?a:s}():function(){function e(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+o);else{var h=Math.floor(Math.log(s)/Math.LN2);h===1024&&(h=1023),l=s*Math.pow(2,-h),n(l*4503599627370496>>>0,a,c+i),n((u<<31|h+1023<<20|l*1048576&1048575)>>>0,a,c+o)}}}r.writeDoubleLE=e.bind(null,vs,0,4),r.writeDoubleBE=e.bind(null,xs,4,0);function t(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),l=(u>>31)*2+1,h=u>>>20&2047,d=4294967296*(u&1048575)+c;return h===2047?d?NaN:l*(1/0):h===0?l*5e-324*d:l*Math.pow(2,h-1075)*(d+4503599627370496)}r.readDoubleLE=t.bind(null,ks,0,4),r.readDoubleBE=t.bind(null,Es,4,0)}(),r}function vs(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function xs(r,e,t){e[t]=r>>>24,e[t+1]=r>>>16&255,e[t+2]=r>>>8&255,e[t+3]=r&255}function ks(r,e){return(r[e]|r[e+1]<<8|r[e+2]<<16|r[e+3]<<24)>>>0}function Es(r,e){return(r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3])>>>0}});var As=T((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(r){}return null}});var Cs=T(Bs=>{"use strict";var Kn=Bs;Kn.length=function(e){for(var t=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?t+=1:n<2048?t+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,t+=4):t+=3;return t};Kn.read=function(e,t,n){var i=n-t;if(i<1)return"";for(var o=null,s=[],a=0,c;t<n;)c=e[t++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|e[t++]&63:c>239&&c<365?(c=((c&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(e[t++]&63)<<6|e[t++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};Kn.write=function(e,t,n){for(var i=n,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?t[n++]=o:o<2048?(t[n++]=o>>6|192,t[n++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,t[n++]=o>>18|240,t[n++]=o>>12&63|128,t[n++]=o>>6&63|128,t[n++]=o&63|128):(t[n++]=o>>12|224,t[n++]=o>>6&63|128,t[n++]=o&63|128);return n-i}});var Ps=T((Bp,Ls)=>{"use strict";Ls.exports=Bf;function Bf(r,e,t){var n=t||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return r(c);s+c>n&&(o=r(n),s=0);var u=e.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var Ds=T((Cp,Ns)=>{"use strict";Ns.exports=O;var Wt=Ze();function O(r,e){this.lo=r>>>0,this.hi=e>>>0}var Je=O.zero=new O(0,0);Je.toNumber=function(){return 0};Je.zzEncode=Je.zzDecode=function(){return this};Je.length=function(){return 1};var Cf=O.zeroHash="\0\0\0\0\0\0\0\0";O.fromNumber=function(e){if(e===0)return Je;var t=e<0;t&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new O(n,i)};O.from=function(e){if(typeof e=="number")return O.fromNumber(e);if(Wt.isString(e))if(Wt.Long)e=Wt.Long.fromString(e);else return O.fromNumber(parseInt(e,10));return e.low||e.high?new O(e.low>>>0,e.high>>>0):Je};O.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=~this.lo+1>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296};O.prototype.toLong=function(e){return Wt.Long?new Wt.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Me=String.prototype.charCodeAt;O.fromHash=function(e){return e===Cf?Je:new O((Me.call(e,0)|Me.call(e,1)<<8|Me.call(e,2)<<16|Me.call(e,3)<<24)>>>0,(Me.call(e,4)|Me.call(e,5)<<8|Me.call(e,6)<<16|Me.call(e,7)<<24)>>>0)};O.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};O.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};O.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};O.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}});var Ze=T(Qn=>{"use strict";var _=Qn;_.asPromise=ds();_.base64=gs();_.EventEmitter=bs();_.float=Ss();_.inquire=As();_.utf8=Cs();_.pool=Ps();_.LongBits=Ds();_.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);_.global=_.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Qn;_.emptyArray=Object.freeze?Object.freeze([]):[];_.emptyObject=Object.freeze?Object.freeze({}):{};_.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};_.isString=function(e){return typeof e=="string"||e instanceof String};_.isObject=function(e){return e&&typeof e=="object"};_.isset=_.isSet=function(e,t){var n=e[t];return n!=null&&e.hasOwnProperty(t)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};_.Buffer=function(){try{var r=_.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}();_._Buffer_from=null;_._Buffer_allocUnsafe=null;_.newBuffer=function(e){return typeof e=="number"?_.Buffer?_._Buffer_allocUnsafe(e):new _.Array(e):_.Buffer?_._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};_.Array=typeof Uint8Array<"u"?Uint8Array:Array;_.Long=_.global.dcodeIO&&_.global.dcodeIO.Long||_.global.Long||_.inquire("long");_.key2Re=/^true|false|0|1$/;_.key32Re=/^-?(?:0|[1-9][0-9]*)$/;_.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;_.longToHash=function(e){return e?_.LongBits.from(e).toHash():_.LongBits.zeroHash};_.longFromHash=function(e,t){var n=_.LongBits.fromHash(e);return _.Long?_.Long.fromBits(n.lo,n.hi,t):n.toNumber(!!t)};function Is(r,e,t){for(var n=Object.keys(e),i=0;i<n.length;++i)(r[n[i]]===void 0||!t)&&(r[n[i]]=e[n[i]]);return r}_.merge=Is;_.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function Ms(r){function e(t,n){if(!(this instanceof e))return new e(t,n);Object.defineProperty(this,"message",{get:function(){return t}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&Is(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}_.newError=Ms;_.ProtocolError=Ms("ProtocolError");_.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(t[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};_.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}};_.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};_._configure=function(){var r=_.Buffer;if(!r){_._Buffer_from=_._Buffer_allocUnsafe=null;return}_._Buffer_from=r.from!==Uint8Array.from&&r.from||function(t,n){return new r(t,n)},_._Buffer_allocUnsafe=r.allocUnsafe||function(t){return new r(t)}}});var Zn=T((Pp,zs)=>{"use strict";zs.exports=I;var ge=Ze(),Jn,Os=ge.LongBits,Lf=ge.utf8;function he(r,e){return RangeError("index out of range: "+r.pos+" + "+(e||1)+" > "+r.len)}function I(r){this.buf=r,this.pos=0,this.len=r.length}var Us=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new I(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new I(e);throw Error("illegal buffer")},Rs=function(){return ge.Buffer?function(t){return(I.create=function(i){return ge.Buffer.isBuffer(i)?new Jn(i):Us(i)})(t)}:Us};I.create=Rs();I.prototype._slice=ge.Array.prototype.subarray||ge.Array.prototype.slice;I.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,he(this,10);return e}}();I.prototype.int32=function(){return this.uint32()|0};I.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Xn(){var r=new Os(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(r.lo=(r.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return r;if(r.lo=(r.lo|(this.buf[this.pos]&127)<<28)>>>0,r.hi=(r.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return r;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw he(this);if(r.lo=(r.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return r}return r.lo=(r.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,r}if(this.len-this.pos>4){for(;e<5;++e)if(r.hi=(r.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return r}else for(;e<5;++e){if(this.pos>=this.len)throw he(this);if(r.hi=(r.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return r}throw Error("invalid varint encoding")}I.prototype.bool=function(){return this.uint32()!==0};function Tr(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}I.prototype.fixed32=function(){if(this.pos+4>this.len)throw he(this,4);return Tr(this.buf,this.pos+=4)};I.prototype.sfixed32=function(){if(this.pos+4>this.len)throw he(this,4);return Tr(this.buf,this.pos+=4)|0};function Fs(){if(this.pos+8>this.len)throw he(this,8);return new Os(Tr(this.buf,this.pos+=4),Tr(this.buf,this.pos+=4))}I.prototype.float=function(){if(this.pos+4>this.len)throw he(this,4);var e=ge.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};I.prototype.double=function(){if(this.pos+8>this.len)throw he(this,4);var e=ge.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};I.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw he(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)};I.prototype.string=function(){var e=this.bytes();return Lf.read(e,0,e.length)};I.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw he(this,e);this.pos+=e}else do if(this.pos>=this.len)throw he(this);while(this.buf[this.pos++]&128);return this};I.prototype.skipType=function(r){switch(r){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(r=this.uint32()&7)!==4;)this.skipType(r);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+r+" at offset "+this.pos)}return this};I._configure=function(r){Jn=r,I.create=Rs(),Jn._configure();var e=ge.Long?"toLong":"toNumber";ge.merge(I.prototype,{int64:function(){return Xn.call(this)[e](!1)},uint64:function(){return Xn.call(this)[e](!0)},sint64:function(){return Xn.call(this).zzDecode()[e](!1)},fixed64:function(){return Fs.call(this)[e](!0)},sfixed64:function(){return Fs.call(this)[e](!1)}})}});var js=T((Np,Hs)=>{"use strict";Hs.exports=Ye;var Ws=Zn();(Ye.prototype=Object.create(Ws.prototype)).constructor=Ye;var $s=Ze();function Ye(r){Ws.call(this,r)}Ye._configure=function(){$s.Buffer&&(Ye.prototype._slice=$s.Buffer.prototype.slice)};Ye.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};Ye._configure()});var oi=T((Dp,Ks)=>{"use strict";Ks.exports=S;var ae=Ze(),Yn,Sr=ae.LongBits,qs=ae.base64,Vs=ae.utf8;function Ht(r,e,t){this.fn=r,this.len=e,this.next=void 0,this.val=t}function ti(){}function Pf(r){this.head=r.head,this.tail=r.tail,this.len=r.len,this.next=r.states}function S(){this.len=0,this.head=new Ht(ti,0,0),this.tail=this.head,this.states=null}var Gs=function(){return ae.Buffer?function(){return(S.create=function(){return new Yn})()}:function(){return new S}};S.create=Gs();S.alloc=function(e){return new ae.Array(e)};ae.Array!==Array&&(S.alloc=ae.pool(S.alloc,ae.Array.prototype.subarray));S.prototype._push=function(e,t,n){return this.tail=this.tail.next=new Ht(e,t,n),this.len+=t,this};function ri(r,e,t){e[t]=r&255}function Nf(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}function ni(r,e){this.len=r,this.next=void 0,this.val=e}ni.prototype=Object.create(Ht.prototype);ni.prototype.fn=Nf;S.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new ni((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};S.prototype.int32=function(e){return e<0?this._push(ii,10,Sr.fromNumber(e)):this.uint32(e)};S.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function ii(r,e,t){for(;r.hi;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}S.prototype.uint64=function(e){var t=Sr.from(e);return this._push(ii,t.length(),t)};S.prototype.int64=S.prototype.uint64;S.prototype.sint64=function(e){var t=Sr.from(e).zzEncode();return this._push(ii,t.length(),t)};S.prototype.bool=function(e){return this._push(ri,1,e?1:0)};function ei(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}S.prototype.fixed32=function(e){return this._push(ei,4,e>>>0)};S.prototype.sfixed32=S.prototype.fixed32;S.prototype.fixed64=function(e){var t=Sr.from(e);return this._push(ei,4,t.lo)._push(ei,4,t.hi)};S.prototype.sfixed64=S.prototype.fixed64;S.prototype.float=function(e){return this._push(ae.float.writeFloatLE,4,e)};S.prototype.double=function(e){return this._push(ae.float.writeDoubleLE,8,e)};var Df=ae.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var i=0;i<e.length;++i)t[n+i]=e[i]};S.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(ri,1,0);if(ae.isString(e)){var n=S.alloc(t=qs.length(e));qs.decode(e,n,0),e=n}return this.uint32(t)._push(Df,t,e)};S.prototype.string=function(e){var t=Vs.length(e);return t?this.uint32(t)._push(Vs.write,t,e):this._push(ri,1,0)};S.prototype.fork=function(){return this.states=new Pf(this),this.head=this.tail=new Ht(ti,0,0),this.len=0,this};S.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Ht(ti,0,0),this.len=0),this};S.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this};S.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t};S._configure=function(r){Yn=r,S.create=Gs(),Yn._configure()}});var Js=T((Ip,Xs)=>{"use strict";Xs.exports=we;var Qs=oi();(we.prototype=Object.create(Qs.prototype)).constructor=we;var Ue=Ze();function we(){Qs.call(this)}we._configure=function(){we.alloc=Ue._Buffer_allocUnsafe,we.writeBytesBuffer=Ue.Buffer&&Ue.Buffer.prototype instanceof Uint8Array&&Ue.Buffer.prototype.set.name==="set"?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var i=0;i<e.length;)t[n++]=e[i++]}};we.prototype.bytes=function(e){Ue.isString(e)&&(e=Ue._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(we.writeBytesBuffer,t,e),this};function If(r,e,t){r.length<40?Ue.utf8.write(r,e,t):e.utf8Write?e.utf8Write(r,t):e.write(r,t)}we.prototype.string=function(e){var t=Ue.Buffer.byteLength(e);return this.uint32(t),t&&this._push(If,t,e),this};we._configure()});var Ur=T((Qm,da)=>{"use strict";function ha(r,e){for(let t in e)Object.defineProperty(r,t,{value:e[t],enumerable:!0,configurable:!0});return r}function Xf(r,e,t){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return ha(r,t)}catch{t.message=r.message,t.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),ha(new i,t)}}da.exports=Xf});var wa=T((hy,ga)=>{"use strict";ga.exports=function(){return Date.now()}});var _a=T((dy,ba)=>{"use strict";var Rr=wa(),gi=class{constructor(e,t,n){let i=this;this._started=Rr(),this._rescheduled=0,this._scheduled=t,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(Rr()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,e.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,t)}reschedule(e){e||(e=this._scheduled);let t=Rr();t+e-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(e)):this._triggered?this._schedule(e):(this._started=t,this._rescheduled=e)}_schedule(e){this._triggered=!1,this._started=Rr(),this._rescheduled=0,this._scheduled=e,this._timer=setTimeout(this._timerWrapper,e)}clear(){clearTimeout(this._timer)}};function nh(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let r;if(arguments.length>0){r=new Array(arguments.length-2);for(var e=0;e<r.length;e++)r[e]=arguments[e+2]}return new gi(arguments[0],arguments[1],r)}ba.exports=nh});var ka=T((py,xa)=>{"use strict";var{AbortController:ih}=globalThis,va=_a(),Vt=class extends ih{constructor(e){super(),this._ms=e,this._timer=va(()=>this.abort(),e),Object.setPrototypeOf(this,Vt.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=va(()=>this.abort(),this._ms)}};xa.exports={TimeoutController:Vt}});var Gr=T((Wy,xi)=>{"use strict";var Et=typeof Reflect=="object"?Reflect:null,Ca=Et&&typeof Et.apply=="function"?Et.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},qr;Et&&typeof Et.ownKeys=="function"?qr=Et.ownKeys:Object.getOwnPropertySymbols?qr=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:qr=function(e){return Object.getOwnPropertyNames(e)};function dh(r){console&&console.warn&&console.warn(r)}var Pa=Number.isNaN||function(e){return e!==e};function L(){L.init.call(this)}xi.exports=L;xi.exports.once=gh;L.EventEmitter=L;L.prototype._events=void 0;L.prototype._eventsCount=0;L.prototype._maxListeners=void 0;var La=10;function Vr(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(L,"defaultMaxListeners",{enumerable:!0,get:function(){return La},set:function(r){if(typeof r!="number"||r<0||Pa(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");La=r}});L.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};L.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Pa(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Na(r){return r._maxListeners===void 0?L.defaultMaxListeners:r._maxListeners}L.prototype.getMaxListeners=function(){return Na(this)};L.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(c===void 0)return!1;if(typeof c=="function")Ca(c,this,t);else for(var u=c.length,l=Fa(c,u),n=0;n<u;++n)Ca(l[n],this,t);return!0};function Da(r,e,t,n){var i,o,s;if(Vr(t),o=r._events,o===void 0?(o=r._events=Object.create(null),r._eventsCount=0):(o.newListener!==void 0&&(r.emit("newListener",e,t.listener?t.listener:t),o=r._events),s=o[e]),s===void 0)s=o[e]=t,++r._eventsCount;else if(typeof s=="function"?s=o[e]=n?[t,s]:[s,t]:n?s.unshift(t):s.push(t),i=Na(r),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=e,a.count=s.length,dh(a)}return r}L.prototype.addListener=function(e,t){return Da(this,e,t,!1)};L.prototype.on=L.prototype.addListener;L.prototype.prependListener=function(e,t){return Da(this,e,t,!0)};function ph(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ia(r,e,t){var n={fired:!1,wrapFn:void 0,target:r,type:e,listener:t},i=ph.bind(n);return i.listener=t,n.wrapFn=i,i}L.prototype.once=function(e,t){return Vr(t),this.on(e,Ia(this,e,t)),this};L.prototype.prependOnceListener=function(e,t){return Vr(t),this.prependListener(e,Ia(this,e,t)),this};L.prototype.removeListener=function(e,t){var n,i,o,s,a;if(Vr(t),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===t||n[s].listener===t){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():mh(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||t)}return this};L.prototype.off=L.prototype.removeListener;L.prototype.removeAllListeners=function(e){var t,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],typeof t=="function")this.removeListener(e,t);else if(t!==void 0)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this};function Ma(r,e,t){var n=r._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?yh(i):Fa(i,i.length)}L.prototype.listeners=function(e){return Ma(this,e,!0)};L.prototype.rawListeners=function(e){return Ma(this,e,!1)};L.listenerCount=function(r,e){return typeof r.listenerCount=="function"?r.listenerCount(e):Ua.call(r,e)};L.prototype.listenerCount=Ua;function Ua(r){var e=this._events;if(e!==void 0){var t=e[r];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}L.prototype.eventNames=function(){return this._eventsCount>0?qr(this._events):[]};function Fa(r,e){for(var t=new Array(e),n=0;n<e;++n)t[n]=r[n];return t}function mh(r,e){for(;e+1<r.length;e++)r[e]=r[e+1];r.pop()}function yh(r){for(var e=new Array(r.length),t=0;t<e.length;++t)e[t]=r[t].listener||r[t];return e}function gh(r,e){return new Promise(function(t,n){function i(s){r.removeListener(e,o),n(s)}function o(){typeof r.removeListener=="function"&&r.removeListener("error",i),t([].slice.call(arguments))}Oa(r,e,o,{once:!0}),e!=="error"&&wh(r,i,{once:!0})})}function wh(r,e,t){typeof r.on=="function"&&Oa(r,"error",e,t)}function Oa(r,e,t,n){if(typeof r.on=="function")n.once?r.once(e,t):r.on(e,t);else if(typeof r.addEventListener=="function")r.addEventListener(e,function i(o){n.once&&r.removeEventListener(e,i),t(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof r)}});var Ga=T((qa,Va)=>{"use strict";var Dh=Math.exp;qa=Va.exports=function(e){if(typeof e!="number")throw new Error("must provide a timespan to the moving average constructor");if(e<=0)throw new Error("must provide a timespan > 0 to the moving average constructor");let t,n=0,i=0,o=0,s,a={};function c(u,l){return 1-Dh(-(u-l)/e)}return a.push=function(l,h){if(s){let d=c(l,s),x=h-t,y=d*x;t=d*h+(1-d)*t,n=(1-d)*(n+x*y),i=Math.sqrt(n),o=t+d*x}else t=h;s=l},a.movingAverage=function(){return t},a.variance=function(){return n},a.deviation=function(){return i},a.forecast=function(){return o},a}});var Za=T((wg,Ii)=>{function Ja(r){let e=new globalThis.AbortController;function t(){e.abort();for(let n of r)!n||!n.removeEventListener||n.removeEventListener("abort",t)}for(let n of r)if(!(!n||!n.addEventListener)){if(n.aborted){t();break}n.addEventListener("abort",t)}return e.signal}Ii.exports=Ja;Ii.exports.anySignal=Ja});var nc=T((Gg,Fi)=>{"use strict";var Oh=Object.prototype.hasOwnProperty,q="~";function er(){}Object.create&&(er.prototype=Object.create(null),new er().__proto__||(q=!1));function Rh(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function rc(r,e,t,n,i){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new Rh(t,n||r,i),s=q?q+e:e;return r._events[s]?r._events[s].fn?r._events[s]=[r._events[s],o]:r._events[s].push(o):(r._events[s]=o,r._eventsCount++),r}function Yr(r,e){--r._eventsCount===0?r._events=new er:delete r._events[e]}function H(){this._events=new er,this._eventsCount=0}H.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)Oh.call(t,n)&&e.push(q?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};H.prototype.listeners=function(e){var t=q?q+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};H.prototype.listenerCount=function(e){var t=q?q+e:e,n=this._events[t];return n?n.fn?1:n.length:0};H.prototype.emit=function(e,t,n,i,o,s){var a=q?q+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,h;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,o),!0;case 6:return c.fn.call(c.context,t,n,i,o,s),!0}for(h=1,l=new Array(u-1);h<u;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var d=c.length,x;for(h=0;h<d;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),u){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,n);break;case 4:c[h].fn.call(c[h].context,t,n,i);break;default:if(!l)for(x=1,l=new Array(u-1);x<u;x++)l[x-1]=arguments[x];c[h].fn.apply(c[h].context,l)}}return!0};H.prototype.on=function(e,t,n){return rc(this,e,t,n,!1)};H.prototype.once=function(e,t,n){return rc(this,e,t,n,!0)};H.prototype.removeListener=function(e,t,n,i){var o=q?q+e:e;if(!this._events[o])return this;if(!t)return Yr(this,o),this;var s=this._events[o];if(s.fn)s.fn===t&&(!i||s.once)&&(!n||s.context===n)&&Yr(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==t||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:Yr(this,o)}return this};H.prototype.removeAllListeners=function(e){var t;return e?(t=q?q+e:e,this._events[t]&&Yr(this,t)):(this._events=new er,this._eventsCount=0),this};H.prototype.off=H.prototype.removeListener;H.prototype.addListener=H.prototype.on;H.prefixed=q;H.EventEmitter=H;typeof Fi<"u"&&(Fi.exports=H)});var Pd={};V(Pd,{createHelia:()=>Ld});var Nn={};V(Nn,{identity:()=>Pn});var Dd=new Uint8Array(0);var bo=(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},xe=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")};var _o=r=>new TextEncoder().encode(r),vo=r=>new TextDecoder().decode(r);var Yu=To,ko=128,el=127,tl=~el,rl=Math.pow(2,31);function To(r,e,t){e=e||[],t=t||0;for(var n=t;r>=rl;)e[t++]=r&255|ko,r/=128;for(;r&tl;)e[t++]=r&255|ko,r>>>=7;return e[t]=r|0,To.bytes=t-n+1,e}var nl=Ln,il=128,Eo=127;function Ln(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Ln.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&Eo)<<i:(s&Eo)*Math.pow(2,i),i+=7}while(s>=il);return Ln.bytes=o-n,t}var ol=Math.pow(2,7),sl=Math.pow(2,14),al=Math.pow(2,21),cl=Math.pow(2,28),ul=Math.pow(2,35),ll=Math.pow(2,42),fl=Math.pow(2,49),hl=Math.pow(2,56),dl=Math.pow(2,63),pl=function(r){return r<ol?1:r<sl?2:r<al?3:r<cl?4:r<ul?5:r<ll?6:r<fl?7:r<hl?8:r<dl?9:10},ml={encode:Yu,decode:nl,encodingLength:pl},yl=ml,Ut=yl;var Ft=(r,e=0)=>[Ut.decode(r,e),Ut.decode.bytes],ft=(r,e,t=0)=>(Ut.encode(r,e,t),e),ht=r=>Ut.encodingLength(r);var Ve=(r,e)=>{let t=e.byteLength,n=ht(r),i=n+ht(t),o=new Uint8Array(i+t);return ft(r,o,0),ft(t,o,n),o.set(e,i),new dt(r,t,e,o)},Ot=r=>{let e=xe(r),[t,n]=Ft(e),[i,o]=Ft(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new dt(t,i,s,e)},So=(r,e)=>{if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&bo(r.bytes,t.bytes)}},dt=class{constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};var Ao=0,gl="identity",Bo=xe,wl=r=>Ve(Ao,Bo(r)),Pn={code:Ao,name:gl,encode:Bo,digest:wl};var Un={};V(Un,{sha256:()=>Ge,sha512:()=>Mn});var In=({name:r,code:e,encode:t})=>new Dn(r,e,t),Dn=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Ve(this.code,t):t.then(n=>Ve(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Lo=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Ge=In({name:"sha2-256",code:18,encode:Lo("SHA-256")}),Mn=In({name:"sha2-512",code:19,encode:Lo("SHA-512")});var $n={};V($n,{base58btc:()=>E,base58flickr:()=>El});function bl(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 i=0;i<r.length;i++){var o=r.charAt(i),s=o.charCodeAt(0);if(t[s]!==255)throw new TypeError(o+" is ambiguous");t[s]=i}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function h(y){if(y instanceof Uint8Array||(ArrayBuffer.isView(y)?y=new Uint8Array(y.buffer,y.byteOffset,y.byteLength):Array.isArray(y)&&(y=Uint8Array.from(y))),!(y instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(y.length===0)return"";for(var g=0,k=0,P=0,U=y.length;P!==U&&y[P]===0;)P++,g++;for(var ne=(U-P)*l+1>>>0,$=new Uint8Array(ne);P!==U;){for(var le=y[P],ie=0,K=ne-1;(le!==0||ie<k)&&K!==-1;K--,ie++)le+=256*$[K]>>>0,$[K]=le%a>>>0,le=le/a>>>0;if(le!==0)throw new Error("Non-zero carry");k=ie,P++}for(var oe=ne-k;oe!==ne&&$[oe]===0;)oe++;for(var lt=c.repeat(g);oe<ne;++oe)lt+=r.charAt($[oe]);return lt}function d(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;var g=0;if(y[g]!==" "){for(var k=0,P=0;y[g]===c;)k++,g++;for(var U=(y.length-g)*u+1>>>0,ne=new Uint8Array(U);y[g];){var $=t[y.charCodeAt(g)];if($===255)return;for(var le=0,ie=U-1;($!==0||le<P)&&ie!==-1;ie--,le++)$+=a*ne[ie]>>>0,ne[ie]=$%256>>>0,$=$/256>>>0;if($!==0)throw new Error("Non-zero carry");P=le,g++}if(y[g]!==" "){for(var K=U-P;K!==U&&ne[K]===0;)K++;for(var oe=new Uint8Array(k+(U-K)),lt=k;K!==U;)oe[lt++]=ne[K++];return oe}}}function x(y){var g=d(y);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:d,decode:x}}var _l=bl,vl=_l,Po=vl;var Fn=class{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")}},On=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.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 No(this,e)}},Rn=class{constructor(e){this.decoders=e}or(e){return No(this,e)}decode(e){let t=e[0],n=this.decoders[t];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`)}},No=(r,e)=>new Rn({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),zn=class{constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new Fn(e,t,n),this.decoder=new On(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},mt=({name:r,prefix:e,encode:t,decode:n})=>new zn(r,e,t,n),De=({prefix:r,name:e,alphabet:t})=>{let{encode:n,decode:i}=Po(t,e);return mt({prefix:r,name:e,encode:n,decode:o=>xe(i(o))})},xl=(r,e,t,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*t/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let h=i[r[l]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|h,a+=t,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},kl=(r,e,t)=>{let n=e[e.length-1]==="=",i=(1<<t)-1,o="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>t;)s-=t,o+=e[i&a>>s];if(s&&(o+=e[i&a<<t-s]),n)for(;o.length*t&7;)o+="=";return o},D=({name:r,prefix:e,bitsPerChar:t,alphabet:n})=>mt({prefix:e,name:r,encode(i){return kl(i,n,t)},decode(i){return xl(i,n,t,r)}});var E=De({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),El=De({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Wn={};V(Wn,{base32:()=>j,base32hex:()=>Bl,base32hexpad:()=>Ll,base32hexpadupper:()=>Pl,base32hexupper:()=>Cl,base32pad:()=>Sl,base32padupper:()=>Al,base32upper:()=>Tl,base32z:()=>Nl});var j=D({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Tl=D({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Sl=D({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Al=D({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Bl=D({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Cl=D({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ll=D({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Pl=D({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Nl=D({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Do=(r,e)=>{let{bytes:t,version:n}=r;switch(n){case 0:return Il(t,Hn(r),e||E.encoder);default:return Ml(t,Hn(r),e||j.encoder)}};var Io=new WeakMap,Hn=r=>{let e=Io.get(r);if(e==null){let t=new Map;return Io.set(r,t),t}return e},v=class{constructor(e,t,n,i){this.code=t,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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!==Rt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Ul)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return v.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=Ve(e,t);return v.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 v.equals(this,e)}static equals(e,t){let n=t;return n&&e.code===n.code&&e.version===n.version&&So(e.multihash,n.multihash)}toString(e){return Do(this,e)}toJSON(){return{"/":Do(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 t=e;if(t instanceof v)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:i,multihash:o,bytes:s}=t;return new v(n,i,o,s||Mo(n,i,o.bytes))}else if(t[Fl]===!0){let{version:n,multihash:i,code:o}=t,s=Ot(i);return v.create(n,o,s)}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!==Rt)throw new Error(`Version 0 CID must use dag-pb (code: ${Rt}) block encoding`);return new v(e,t,n,n.bytes)}case 1:{let i=Mo(e,t,n.bytes);return new v(e,t,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return v.create(0,Rt,e)}static createV1(e,t){return v.create(1,e,t)}static decode(e){let[t,n]=v.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=v.inspectBytes(e),n=t.size-t.multihashSize,i=xe(e.subarray(n,n+t.multihashSize));if(i.byteLength!==t.multihashSize)throw new Error("Incorrect length");let o=i.subarray(t.multihashSize-t.digestSize),s=new dt(t.multihashCode,t.digestSize,o,i);return[t.version===0?v.createV0(s):v.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[h,d]=Ft(e.subarray(t));return t+=d,h},i=n(),o=Rt;if(i===18?(i=0,t=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=t,a=n(),c=n(),u=t+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,t){let[n,i]=Dl(e,t),o=v.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Hn(o).set(n,e),o}},Dl=(r,e)=>{switch(r[0]){case"Q":{let t=e||E;return[E.prefix,t.decode(`${E.prefix}${r}`)]}case E.prefix:{let t=e||E;return[E.prefix,t.decode(r)]}case j.prefix:{let t=e||j;return[j.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},Il=(r,e,t)=>{let{prefix:n}=t;if(n!==E.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let i=e.get(n);if(i==null){let o=t.encode(r).slice(1);return e.set(n,o),o}else return i},Ml=(r,e,t)=>{let{prefix:n}=t,i=e.get(n);if(i==null){let o=t.encode(r);return e.set(n,o),o}else return i},Rt=112,Ul=18,Mo=(r,e,t)=>{let n=ht(r),i=n+ht(e),o=new Uint8Array(i+t.byteLength);return ft(r,o,0),ft(e,o,n),o.set(t,i),o},Fl=Symbol.for("@ipld/js-cid/CID");var ra=F(Qo(),1);var zt=F(os(),1);function ff(r){let e=new Uint8Array(r.reduce((n,i)=>n+zt.default.encodingLength(i),0)),t=0;for(let n of r)e=zt.encode(n,e,t),t+=zt.default.encodingLength(n);return e}var ss=ff;var ye=F(fs(),1);var Gn={};V(Gn,{base64:()=>$t,base64pad:()=>Ef,base64url:()=>Tf,base64urlpad:()=>Sf});var $t=D({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ef=D({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Tf=D({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Sf=D({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ye.default.formatters.b=r=>r==null?"undefined":E.baseEncode(r);ye.default.formatters.t=r=>r==null?"undefined":j.baseEncode(r);ye.default.formatters.m=r=>r==null?"undefined":$t.baseEncode(r);ye.default.formatters.p=r=>r==null?"undefined":r.toString();ye.default.formatters.c=r=>r==null?"undefined":r.toString();ye.default.formatters.k=r=>r==null?"undefined":r.toString();function bt(r){return Object.assign((0,ye.default)(r),{error:(0,ye.default)(`${r}:error`),trace:(0,ye.default)(`${r}:trace`)})}function Qe(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}var Xe=class{constructor(e,t,n){this._refCounter=1,this.cid=e,this.priority=t??1,this.wantType=n}inc(){this._refCounter+=1}dec(){this._refCounter=Math.max(0,this._refCounter-1)}hasRefs(){return this._refCounter>0}get[Symbol.toStringTag](){return`WantlistEntry <key: ${this.cid.toString(E)}, priority: ${this.priority}, refs: ${this._refCounter}>`}equals(e){return this._refCounter===e._refCounter&&this.cid.equals(e.cid)&&this.priority===e.priority&&this.wantType===e.wantType}};var Ie=class{constructor(e,t,n,i,o){this.entry=new Xe(e,t,n),this.cancel=!!i,this.sendDontHave=!!o}get cid(){return this.entry.cid}set cid(e){this.entry.cid=e}get priority(){return this.entry.priority}set priority(e){this.entry.priority=e}get wantType(){return this.entry.wantType}set wantType(e){this.entry.wantType=e}get[Symbol.toStringTag](){return`BitswapMessageEntry ${this.cid.toString(E)} <cancel: ${this.cancel}, priority: ${this.priority}>`}equals(e){return this.cancel===e.cancel&&this.sendDontHave===e.sendDontHave&&this.wantType===e.wantType&&this.entry.equals(e.entry)}};var se=(r,e)=>{let t=["bitswap"];return e!=null&&t.push(e),r!=null&&t.push(`${r.toString().slice(0,8)}`),bt(t.join(":"))};var xr=(r,e)=>{if(r.size!==e.size)return!1;for(let[t,n]of r){let i=e.get(t);if(i===void 0||n instanceof Uint8Array&&i instanceof Uint8Array&&!Qe(n,i)||n instanceof Ie&&i instanceof Ie&&!n.equals(i))return!1}return!0};var si=F(Zn(),1),Zs=F(js(),1),Ys=F(Ze(),1),ai=F(oi(),1),ea=F(Js(),1);function Mf(){Ys.default._configure(),si.default._configure(Zs.default),ai.default._configure(ea.default)}Mf();var ta=["uint64","int64","sint64","fixed64","sfixed64"];function Uf(r){for(let e of ta){if(r[e]==null)continue;let t=r[e];r[e]=function(){return BigInt(t.call(this).toString())}}return r}function ci(r){return Uf(new si.default(r))}function Ff(r){for(let e of ta){if(r[e]==null)continue;let t=r[e];r[e]=function(n){return t.call(this,n.toString())}}return r}function ui(){return Ff(ai.default.create())}function et(r,e){let t=ci(r instanceof Uint8Array?r:r.subarray());return e.decode(t)}function tt(r,e){let t=ui();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var vt;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(vt||(vt={}));function Ar(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function Br(r){function e(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let t=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Ar("enum",vt.VARINT,t,n)}function rt(r,e){return Ar("message",vt.LENGTH_DELIMITED,r,e)}var G;(function(r){let e;(function(a){let c;(function(d){d.Block="Block",d.Have="Have"})(c=a.WantType||(a.WantType={}));let u;(function(d){d[d.Block=0]="Block",d[d.Have=1]="Have"})(u||(u={})),function(d){d.codec=()=>Br(u)}(c=a.WantType||(a.WantType={}));let l;(function(d){let x;d.codec=()=>(x==null&&(x=rt((y,g,k={})=>{k.lengthDelimited!==!1&&g.fork(),y.block!=null&&y.block.byteLength>0&&(g.uint32(10),g.bytes(y.block)),y.priority!=null&&y.priority!==0&&(g.uint32(16),g.int32(y.priority)),y.cancel!=null&&y.cancel!==!1&&(g.uint32(24),g.bool(y.cancel)),y.wantType!=null&&u[y.wantType]!==0&&(g.uint32(32),r.Wantlist.WantType.codec().encode(y.wantType,g)),y.sendDontHave!=null&&y.sendDontHave!==!1&&(g.uint32(40),g.bool(y.sendDontHave)),k.lengthDelimited!==!1&&g.ldelim()},(y,g)=>{let k={block:new Uint8Array(0),priority:0,cancel:!1,wantType:c.Block,sendDontHave:!1},P=g==null?y.len:y.pos+g;for(;y.pos<P;){let U=y.uint32();switch(U>>>3){case 1:k.block=y.bytes();break;case 2:k.priority=y.int32();break;case 3:k.cancel=y.bool();break;case 4:k.wantType=r.Wantlist.WantType.codec().decode(y);break;case 5:k.sendDontHave=y.bool();break;default:y.skipType(U&7);break}}return k})),x),d.encode=y=>tt(y,d.codec()),d.decode=y=>et(y,d.codec())})(l=a.Entry||(a.Entry={}));let h;a.codec=()=>(h==null&&(h=rt((d,x,y={})=>{if(y.lengthDelimited!==!1&&x.fork(),d.entries!=null)for(let g of d.entries)x.uint32(10),r.Wantlist.Entry.codec().encode(g,x);d.full!=null&&d.full!==!1&&(x.uint32(16),x.bool(d.full)),y.lengthDelimited!==!1&&x.ldelim()},(d,x)=>{let y={entries:[],full:!1},g=x==null?d.len:d.pos+x;for(;d.pos<g;){let k=d.uint32();switch(k>>>3){case 1:y.entries.push(r.Wantlist.Entry.codec().decode(d,d.uint32()));break;case 2:y.full=d.bool();break;default:d.skipType(k&7);break}}return y})),h),a.encode=d=>tt(d,a.codec()),a.decode=d=>et(d,a.codec())})(e=r.Wantlist||(r.Wantlist={}));let t;(function(a){let c;a.codec=()=>(c==null&&(c=rt((u,l,h={})=>{h.lengthDelimited!==!1&&l.fork(),u.prefix!=null&&u.prefix.byteLength>0&&(l.uint32(10),l.bytes(u.prefix)),u.data!=null&&u.data.byteLength>0&&(l.uint32(18),l.bytes(u.data)),h.lengthDelimited!==!1&&l.ldelim()},(u,l)=>{let h={prefix:new Uint8Array(0),data:new Uint8Array(0)},d=l==null?u.len:u.pos+l;for(;u.pos<d;){let x=u.uint32();switch(x>>>3){case 1:h.prefix=u.bytes();break;case 2:h.data=u.bytes();break;default:u.skipType(x&7);break}}return h})),c),a.encode=u=>tt(u,a.codec()),a.decode=u=>et(u,a.codec())})(t=r.Block||(r.Block={}));let n;(function(a){a.Have="Have",a.DontHave="DontHave"})(n=r.BlockPresenceType||(r.BlockPresenceType={}));let i;(function(a){a[a.Have=0]="Have",a[a.DontHave=1]="DontHave"})(i||(i={})),function(a){a.codec=()=>Br(i)}(n=r.BlockPresenceType||(r.BlockPresenceType={}));let o;(function(a){let c;a.codec=()=>(c==null&&(c=rt((u,l,h={})=>{h.lengthDelimited!==!1&&l.fork(),u.cid!=null&&u.cid.byteLength>0&&(l.uint32(10),l.bytes(u.cid)),u.type!=null&&i[u.type]!==0&&(l.uint32(16),r.BlockPresenceType.codec().encode(u.type,l)),h.lengthDelimited!==!1&&l.ldelim()},(u,l)=>{let h={cid:new Uint8Array(0),type:n.Have},d=l==null?u.len:u.pos+l;for(;u.pos<d;){let x=u.uint32();switch(x>>>3){case 1:h.cid=u.bytes();break;case 2:h.type=r.BlockPresenceType.codec().decode(u);break;default:u.skipType(x&7);break}}return h})),c),a.encode=u=>tt(u,a.codec()),a.decode=u=>et(u,a.codec())})(o=r.BlockPresence||(r.BlockPresence={}));let s;r.codec=()=>(s==null&&(s=rt((a,c,u={})=>{if(u.lengthDelimited!==!1&&c.fork(),a.wantlist!=null&&(c.uint32(10),r.Wantlist.codec().encode(a.wantlist,c)),a.blocks!=null)for(let l of a.blocks)c.uint32(18),c.bytes(l);if(a.payload!=null)for(let l of a.payload)c.uint32(26),r.Block.codec().encode(l,c);if(a.blockPresences!=null)for(let l of a.blockPresences)c.uint32(34),r.BlockPresence.codec().encode(l,c);a.pendingBytes!=null&&a.pendingBytes!==0&&(c.uint32(40),c.int32(a.pendingBytes)),u.lengthDelimited!==!1&&c.ldelim()},(a,c)=>{let u={blocks:[],payload:[],blockPresences:[],pendingBytes:0},l=c==null?a.len:a.pos+c;for(;a.pos<l;){let h=a.uint32();switch(h>>>3){case 1:u.wantlist=r.Wantlist.codec().decode(a,a.uint32());break;case 2:u.blocks.push(a.bytes());break;case 3:u.payload.push(r.Block.codec().decode(a,a.uint32()));break;case 4:u.blockPresences.push(r.BlockPresence.codec().decode(a,a.uint32()));break;case 5:u.pendingBytes=a.int32();break;default:a.skipType(h&7);break}}return u})),s),r.encode=a=>tt(a,r.codec()),r.decode=a=>et(a,r.codec())})(G||(G={}));var Cr=class extends Error{constructor(e,t,n){super(e),this.code=t,this.name=n?.name??"CodeError",this.props=n??{}}};var Of,B=class{constructor(e){this.full=e,this.wantlist=new Map,this.blocks=new Map,this.blockPresences=new Map,this.pendingBytes=0}get empty(){return this.blocks.size===0&&this.wantlist.size===0&&this.blockPresences.size===0}addEntry(e,t,n,i,o){n==null&&(n=B.WantType.Block);let s=e.toString(E),a=this.wantlist.get(s);a!=null?(a.wantType===n&&(a.priority=t),i===!0&&(a.cancel=!!i),o===!0&&(a.sendDontHave=!!o),n===B.WantType.Block&&a.wantType===B.WantType.Have&&(a.wantType=n)):this.wantlist.set(s,new Ie(e,t,n,i,o))}addBlock(e,t){let n=e.toString(E);this.blocks.set(n,t)}addHave(e){let t=e.toString(E);this.blockPresences.has(t)||this.blockPresences.set(t,B.BlockPresenceType.Have)}addDontHave(e){let t=e.toString(E);this.blockPresences.has(t)||this.blockPresences.set(t,B.BlockPresenceType.DontHave)}cancel(e){let t=e.toString(E);this.wantlist.delete(t),this.addEntry(e,0,B.WantType.Block,!0,!1)}setPendingBytes(e){this.pendingBytes=e}serializeToBitswap100(){return G.encode({wantlist:{entries:Array.from(this.wantlist.values()).map(e=>({block:e.cid.bytes,priority:Number(e.priority),cancel:!!e.cancel,wantType:G.Wantlist.WantType.Block,sendDontHave:!1})),full:!!this.full},blocks:Array.from(this.blocks.values())})}serializeToBitswap110(){let e={wantlist:{entries:Array.from(this.wantlist.values()).map(t=>({block:t.cid.bytes,priority:Number(t.priority),wantType:t.wantType,cancel:!!t.cancel,sendDontHave:!!t.sendDontHave})),full:!!this.full},blockPresences:[],payload:[],pendingBytes:this.pendingBytes,blocks:[]};for(let[t,n]of this.blocks.entries()){let i=v.parse(t),o=i.version,s=i.code,a=i.multihash.code,c=i.multihash.digest.length,u=ss([o,s,a,c]);e.payload.push({prefix:u,data:n})}for(let[t,n]of this.blockPresences)e.blockPresences.push({cid:v.parse(t).bytes,type:n});return this.pendingBytes>0&&(e.pendingBytes=this.pendingBytes),G.encode(e)}equals(e){return!(this.full!==e.full||this.pendingBytes!==e.pendingBytes||!xr(this.wantlist,e.wantlist)||!xr(this.blocks,e.blocks)||!xr(this.blockPresences,e.blockPresences))}get[Symbol.toStringTag](){let e=Array.from(this.wantlist.keys()),t=Array.from(this.blocks.keys());return`BitswapMessage <full: ${this.full}, list: ${e}, blocks: ${t}>`}};Of=B;B.Entry=Ie;B.WantType={Block:G.Wantlist.WantType.Block,Have:G.Wantlist.WantType.Have};B.BlockPresenceType={Have:G.BlockPresenceType.Have,DontHave:G.BlockPresenceType.DontHave};B.deserialize=async(r,e)=>{let t=G.decode(r),n=t.wantlist?.full===!0,i=new B(n);return t.wantlist?.entries.forEach(o=>{if(o.block==null)return;let s=v.decode(o.block);i.addEntry(s,o.priority??0,o.wantType,!!o.cancel,!!o.sendDontHave)}),t.blockPresences.forEach(o=>{if(o.cid==null)return;let s=v.decode(o.cid);o.type===B.BlockPresenceType.Have?i.addHave(s):i.addDontHave(s)}),t.blocks.length>0?(await Promise.all(t.blocks.map(async o=>{let s=await Ge.digest(o),a=v.createV0(s);i.addBlock(a,o)})),i):(t.payload.length>0&&(await Promise.all(t.payload.map(async o=>{if(o.prefix==null||o.data==null)return;let s=(0,ra.default)(o.prefix),a=s[0],c=s[1],u=s[2],l=u===Ge.code?Ge:await e?.getHasher(u);if(l==null)throw new Cr("Unknown hash algorithm","ERR_UNKNOWN_HASH_ALG");let h=await l.digest(o.data),d=v.create(a,c,h);i.addBlock(d,o.data)})),i.setPendingBytes(t.pendingBytes)),i)};B.blockPresenceSize=r=>r.bytes.length+1;var li=class extends Map{constructor(e){super();let{name:t,metrics:n}=e;this.metric=n.registerMetric(t),this.updateComponentMetric()}set(e,t){return super.set(e,t),this.updateComponentMetric(),this}delete(e){let t=super.delete(e);return this.updateComponentMetric(),t}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Fe(r){let{name:e,metrics:t}=r,n;return t!=null?n=new li({name:e,metrics:t}):n=new Map,n}var na={Block:G.Wantlist.WantType.Block,Have:G.Wantlist.WantType.Have},Rf=(r,e)=>Array.prototype.slice.call(e,0).sort((t,n)=>{let i=r(t),o=r(n);return i<o?-1:i>o?1:0}),ke=class{constructor(e,t){this.set=t!=null?Fe({name:"ipfs_bitswap_wantlist",metrics:t.metrics}):new Map,this._stats=e}get length(){return this.set.size}add(e,t,n){let i=e.toString(E),o=this.set.get(i);o!=null?(o.inc(),o.priority=t,o.wantType===na.Have&&n===na.Block&&(o.wantType=n)):(this.set.set(i,new Xe(e,t,n)),this._stats!=null&&this._stats.push(void 0,"wantListSize",1))}remove(e){let t=e.toString(E),n=this.set.get(t);n!=null&&(n.dec(),!n.hasRefs()&&(this.set.delete(t),this._stats!=null&&this._stats.push(void 0,"wantListSize",-1)))}removeForce(e){this.set.has(e)&&this.set.delete(e)}forEach(e){this.set.forEach(e)}entries(){return this.set.entries()}sortedEntries(){return new Map(Rf(e=>e[1].key,Array.from(this.set.entries())))}contains(e){let t=e.toString(E);return this.set.has(t)}get(e){let t=e.toString(E);return this.set.get(t)}};ke.Entry=Xe;var ia=Math.pow(2,31)-1,oa=1e3,sa=1;var aa=zf;function zf(r,e,t){var n=null,i=null,o=function(){n&&(clearTimeout(n),i=null,n=null)},s=function(){var c=i;o(),c&&c()},a=function(){if(!e)return r.apply(this,arguments);var c=this,u=arguments,l=t&&!n;if(o(),i=function(){r.apply(c,u)},n=setTimeout(function(){if(n=null,!l){var h=i;return i=null,h()}},e),l)return i()};return a.cancel=o,a.flush=s,a}var Lr=class{constructor(e,t,n){this.peerId=t,this.network=n,this.refcnt=1,this._entries=[],this._log=se(e,"msgqueue"),this.sendEntries=aa(this.sendEntries.bind(this),sa)}addMessage(e){e.empty||this.send(e)}addEntries(e){this._entries=this._entries.concat(e),this.sendEntries()}sendEntries(){if(this._entries.length===0)return;let e=new B(!1);this._entries.forEach(t=>{t.cancel===!0?e.cancel(t.cid):e.addEntry(t.cid,t.priority)}),this._entries=[],this.addMessage(e)}async send(e){try{await this.network.connectTo(this.peerId)}catch(t){this._log.error("cant connect to peer %p: %s",this.peerId,t.message);return}this._log("sending message to peer %p",this.peerId),this.network.sendMessage(this.peerId,e).catch(t=>{this._log.error("send error",t)})}};var Pr=class{constructor(e,t,n,i){this.peers=Fe({name:"ipfs_bitswap_want_manager_peers",metrics:i.metrics}),this.wantlist=new ke(n,i),this.network=t,this._peerId=e,this._log=se(e,"want")}_addEntries(e,t,n){let i=e.map((o,s)=>new B.Entry(o,ia-s,B.WantType.Block,t));i.forEach(o=>{o.cancel?n===!0?this.wantlist.removeForce(o.cid.toString(E)):this.wantlist.remove(o.cid):(this._log("adding to wantlist"),this.wantlist.add(o.cid,o.priority))});for(let o of this.peers.values())o.addEntries(i)}_startPeerHandler(e){let t=this.peers.get(e.toString());if(t!=null){t.refcnt++;return}t=new Lr(this._peerId,e,this.network);let n=new B(!0);for(let i of this.wantlist.entries())n.addEntry(i[1].cid,i[1].priority);return t.addMessage(n),this.peers.set(e.toString(),t),t}_stopPeerHandler(e){let t=this.peers.get(e.toString());t!=null&&(t.refcnt--,!(t.refcnt>0)&&this.peers.delete(e.toString()))}wantBlocks(e,t={}){this._addEntries(e,!1),t.signal?.addEventListener("abort",()=>{this.cancelWants(e)})}unwantBlocks(e){this._log("unwant blocks: %s",e.length),this._addEntries(e,!0,!0)}cancelWants(e){this._log("cancel wants: %s",e.length),this._addEntries(e,!0)}connectedPeers(){return Array.from(this.peers.keys())}connected(e){this._startPeerHandler(e)}disconnected(e){this._stopPeerHandler(e)}start(){}stop(){this.peers.forEach(e=>{this.disconnected(e.peerId)})}};function nt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Ee(r=0){return globalThis.Buffer?.alloc!=null?nt(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function Te(r=0){return globalThis.Buffer?.allocUnsafe!=null?nt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function hi(r,e){e==null&&(e=r.reduce((i,o)=>i+o.length,0));let t=Te(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return nt(t)}var ua=Symbol.for("@achingbrain/uint8arraylist");function ca(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let i=t+n.byteLength;if(e<i)return{buf:n,index:e-t};t=i}throw new RangeError("index is out of bounds")}function Nr(r){return!!r?.[ua]}var be=class{constructor(...e){Object.defineProperty(this,ua,{value:!0}),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(Nr(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(Nr(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=ca(this.bufs,e);return t.buf[t.index]}set(e,t){let n=ca(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(Nr(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:i}=this._subList(e,t);return hi(n,i)}subarray(e,t){let{bufs:n,length:i}=this._subList(e,t);return n.length===1?n[0]:hi(n,i)}sublist(e,t){let{bufs:n,length:i}=this._subList(e,t),o=new be;return o.length=i,o.bufs=n,o}_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=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=t>a&&t<=c;if(u&&l){if(e===a&&t===c){n.push(s);break}let h=e-a;n.push(s.subarray(h,h+(t-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){if(t===c){n.push(s);break}n.push(s.subarray(0,t-a));break}n.push(s)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!Nr(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 i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let h=0;h<o;h++)s[h]=-1;for(let h=0;h<i;h++)s[n[h]]=h;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let h=t;h<=c;h+=l){l=0;for(let d=u;d>=0;d--){let x=this.get(h+d);if(n[d]!==x){l=Math.max(1,d-a[x]);break}}if(l===0)return h}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=Te(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 i=Ee(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,t,n),this.write(i,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 i=Ee(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,t,n),this.write(i,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 i=Ee(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,t,n),this.write(i,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=Te(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 i=Ee(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,t,n),this.write(i,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 i=Ee(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,t,n),this.write(i,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 i=Ee(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,t,n),this.write(i,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 i=Ee(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,t,n),this.write(i,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 i=Ee(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,t,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof be)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!Qe(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new be;return n.bufs=e,t==null&&(t=e.reduce((i,o)=>i+o.byteLength,0)),n.length=t,n}};function Dr(r){return r instanceof Uint8Array?{get(e){return r[e]},set(e,t){r[e]=t}}:{get(e){return r.get(e)},set(e,t){r.set(e,t)}}}var la=4294967296,X=class{constructor(e=0,t=0){this.hi=e,this.lo=t}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),t=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new X(n,t)}zzEncode(){let e=this.hi>>31,t=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new X(t,n)}toBytes(e,t=0){let n=Dr(e);for(;this.hi>0;)n.set(t++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(t++,this.lo&127|128),this.lo=this.lo>>>7;n.set(t++,this.lo)}static fromBigInt(e){if(e===0n)return new X;let t=e<0;t&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return t&&(n=~n>>>0,i=~i>>>0,++i>la&&(i=0,++n>la&&(n=0))),new X(n,i)}static fromNumber(e){if(e===0)return new X;let t=e<0;t&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new X(i,n)}static fromBytes(e,t=0){let n=Dr(e),i=new X,o=0;if(e.length-t>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(t)&127)<<o*7)>>>0,n.get(t++)<128)return i;if(i.lo=(i.lo|(n.get(t)&127)<<28)>>>0,i.hi=(i.hi|(n.get(t)&127)>>4)>>>0,n.get(t++)<128)return i;o=0}else for(;o<4;++o){if(t>=e.length)throw RangeError(`index out of range: ${t} > ${e.length}`);if(i.lo=(i.lo|(n.get(t)&127)<<o*7)>>>0,n.get(t++)<128)return i}if(e.length-t>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(t)&127)<<o*7+3)>>>0,n.get(t++)<128)return i}else if(t<e.byteLength)for(;o<5;++o){if(t>=e.length)throw RangeError(`index out of range: ${t} > ${e.length}`);if(i.hi=(i.hi|(n.get(t)&127)<<o*7+3)>>>0,n.get(t++)<128)return i}throw RangeError("invalid varint encoding")}};var $f=Math.pow(2,7),Wf=Math.pow(2,14),Hf=Math.pow(2,21),jf=Math.pow(2,28),qf=Math.pow(2,35),Vf=Math.pow(2,42),Gf=Math.pow(2,49),Kf=Math.pow(2,56),Qf=Math.pow(2,63),it={encodingLength(r){return r<$f?1:r<Wf?2:r<Hf?3:r<jf?4:r<qf?5:r<Vf?6:r<Gf?7:r<Kf?8:r<Qf?9:10},encode(r,e,t=0){if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=Te(it.encodingLength(r))),X.fromNumber(r).toBytes(e,t),e},decode(r,e=0){return X.fromBytes(r,e).toNumber(!0)}};function fa(r){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}var Ir=r=>{let e=it.encodingLength(r),t=fa(e);return it.encode(r,t),Ir.bytes=e,t};Ir.bytes=0;function Mr(r){r=r??{};let e=r.lengthEncoder??Ir;return async function*(n){for await(let i of n){let o=e(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}}}Mr.single=(r,e)=>{e=e??{};let t=e.lengthEncoder??Ir;return new be(t(r.byteLength),r)};var jt=F(Ur(),1),Jf=8,Zf=1024*1024*4,ot;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(ot||(ot={}));var di=r=>{let e=it.decode(r);return di.bytes=it.encodingLength(e),e};di.bytes=0;function qt(r){return async function*(t){let n=new be,i=ot.LENGTH,o=-1,s=r?.lengthDecoder??di,a=r?.maxLengthLength??Jf,c=r?.maxDataLength??Zf;for await(let u of t)for(n.append(u);n.byteLength>0;){if(i===ot.LENGTH)try{if(o=s(n),o<0)throw(0,jt.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>c)throw(0,jt.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=s.bytes;n.consume(l),r?.onLength!=null&&r.onLength(o),i=ot.DATA}catch(l){if(l instanceof RangeError){if(n.byteLength>a)throw(0,jt.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(i===ot.DATA){if(n.byteLength<o)break;let l=n.sublist(0,o);n.consume(o),r?.onData!=null&&r.onData(l),yield l,i=ot.LENGTH}}if(n.byteLength>0)throw(0,jt.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}qt.fromReader=(r,e)=>{let t=1,n=async function*(){for(;;)try{let{done:o,value:s}=await r.next(t);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{t=1}}();return qt({...e??{},onLength:o=>{t=o}})(n)};var Fr=class{constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},xt=class{constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Fr(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new Fr(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};function Oe(r={}){return eh(t=>{let n=t.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function eh(r,e){e=e??{};let t=e.onEnd,n=new xt,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((g,k)=>{o=P=>{o=null,n.push(P);try{g(r(n))}catch(U){k(U)}return i}}):r(n),c=g=>o!=null?o(g):(n.push(g),i),u=g=>(n=new xt,o!=null?o({error:g}):(n.push({error:g}),i)),l=g=>{if(s)return i;if(e?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:g})},h=g=>s?i:(s=!0,g!=null?u(g):c({done:!0})),d=()=>(n=new xt,h(),{done:!0}),x=g=>(h(g),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:x,push:l,end:h,get readableLength(){return n.size}},t==null)return i;let y=i;return i={[Symbol.asyncIterator](){return this},next(){return y.next()},throw(g){return y.throw(g),t!=null&&(t(g),t=void 0),{done:!0}},return(){return y.return(),t!=null&&(t(),t=void 0),{done:!0}},push:l,end(g){return y.end(g),t!=null&&(t(g),t=void 0),i},get readableLength(){return y.readableLength}},i}async function*kt(...r){let e=Oe({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async t=>{for await(let n of t)e.push(n)})),e.end()}catch(t){e.end(t)}}),yield*e}var th=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},pa=r=>r!=null&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),pi=r=>r!=null&&typeof r.sink=="function"&&pa(r.source),rh=r=>e=>{let t=r.sink(e);if(t.then!=null){let n=Oe({objectMode:!0});return t.then(()=>{n.end()},o=>{n.end(o)}),kt(n,async function*(){yield*r.source,n.end()}())}return r.source};function Or(r,...e){if(pi(r)){let n=r;r=()=>n.source}else if(pa(r)){let n=r;r=()=>n}let t=[r,...e];if(t.length>1&&pi(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let n=1;n<t.length-1;n++)pi(t[n])&&(t[n]=rh(t[n]));return th(...t)}var mi=Symbol.for("@libp2p/topology");var ma=()=>{},yi=class{constructor(e){this.min=e.min??0,this.max=e.max??1/0,this.peers=new Set,this.onConnect=e.onConnect??ma,this.onDisconnect=e.onDisconnect??ma}get[Symbol.toStringTag](){return mi.toString()}get[mi](){return!0}async setRegistrar(e){this.registrar=e}disconnect(e){this.onDisconnect(e)}};function ya(r){return new yi(r)}var Sa=F(ka(),1);var Gt=class extends Error{constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function Ea(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function Ta(r,e,t){let n=t??{},i=Ea(r);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:h}=n;throw new Gt(l,h)}let u=new Promise((l,h)=>{s=()=>{let{abortMessage:d,abortCode:x}=n;h(new Gt(d,x))}});c=await Promise.race([u,i.next()]),s=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&await n.onAbort(r),typeof i.return=="function")try{let h=i.return();h instanceof Promise&&h.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(h){n.onReturnError!=null&&n.onReturnError(h)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return o()}var wi="/ipfs/bitswap/1.0.0",bi="/ipfs/bitswap/1.1.0",_i="/ipfs/bitswap/1.2.0",sh=32,ah=128,ch=3e4,zr=class{constructor(e,t,n,i={}){this._log=se(e.peerId,"network"),this._libp2p=e,this._bitswap=t,this._protocols=[wi],i.b100Only!==!0&&(this._protocols.unshift(bi),this._protocols.unshift(_i)),this._stats=n,this._running=!1,this._onPeerConnect=this._onPeerConnect.bind(this),this._onPeerDisconnect=this._onPeerDisconnect.bind(this),this._onConnection=this._onConnection.bind(this),this._hashLoader=i.hashLoader??{async getHasher(){throw new Error("Not implemented")}},this._maxInboundStreams=i.maxInboundStreams??sh,this._maxOutboundStreams=i.maxOutboundStreams??ah,this._incomingStreamTimeout=i.incomingStreamTimeout??ch}async start(){this._running=!0,await this._libp2p.handle(this._protocols,this._onConnection,{maxInboundStreams:this._maxInboundStreams,maxOutboundStreams:this._maxOutboundStreams});let e=ya({onConnect:this._onPeerConnect,onDisconnect:this._onPeerDisconnect});this._registrarIds=[];for(let t of this._protocols)this._registrarIds.push(await this._libp2p.register(t,e));this._libp2p.getConnections().forEach(t=>{this._onPeerConnect(t.remotePeer)})}async stop(){if(this._running=!1,await this._libp2p.unhandle(this._protocols),this._registrarIds!=null){for(let e of this._registrarIds)this._libp2p.unregister(e);this._registrarIds=[]}}_onConnection(e){if(!this._running)return;let{stream:t,connection:n}=e,i=new Sa.TimeoutController(this._incomingStreamTimeout);Promise.resolve().then(async()=>{this._log("incoming new bitswap %s connection from %p",t.stat.protocol,n.remotePeer),await Or(Ta(t.source,i.signal),qt(),async o=>{for await(let s of o){try{let a=await B.deserialize(s.subarray(),this._hashLoader);await this._bitswap._receiveMessage(n.remotePeer,a)}catch(a){this._bitswap._receiveError(a);break}i.reset()}})}).catch(o=>{this._log(o),t.abort(o)}).finally(()=>{i.clear(),t.close()})}_onPeerConnect(e){this._bitswap._onPeerConnected(e)}_onPeerDisconnect(e){this._bitswap._onPeerDisconnected(e)}findProviders(e,t={}){return this._libp2p.contentRouting.findProviders(e,t)}async findAndConnect(e,t){let n=[],i=0;for await(let o of this.findProviders(e,t))if(this._log(`connecting to provider ${o.id}`),n.push(this.connectTo(o.id,t).catch(s=>{this._log.error(s)})),i++,i===3)break;await Promise.all(n)}async provide(e,t){await this._libp2p.contentRouting.provide(e,t)}async sendMessage(e,t){if(!this._running)throw new Error("network isn't running");let n=e.toString();this._log("sendMessage to %s",n,t);let o=await(await this._libp2p.dial(e)).newStream([_i,bi,wi]);await uh(o,t,this._log),this._updateSentStats(e,t.blocks)}async connectTo(e,t){if(!this._running)throw new Error("network isn't running");return await this._libp2p.dial(e,t)}_updateSentStats(e,t){let n=e.toString();if(this._stats!=null){for(let i of t.values())this._stats.push(n,"dataSent",i.length);this._stats.push(n,"blocksSent",t.size)}}};async function uh(r,e,t){try{let n;switch(r.stat.protocol){case wi:n=e.serializeToBitswap100();break;case bi:case _i:n=e.serializeToBitswap110();break;default:throw new Error(`Unknown protocol: ${r.stat.protocol}`)}await Or([n],Mr(),r)}catch(n){t(n)}finally{r.close()}}var $r=class{constructor(e){this.partner=e,this.wantlist=new ke,this.exchangeCount=0,this.accounting={bytesSent:0,bytesRecv:0}}sentBytes(e){this.exchangeCount++,this.lastExchange=new Date().getTime(),this.accounting.bytesSent+=e}receivedBytes(e){this.exchangeCount++,this.lastExchange=new Date().getTime(),this.accounting.bytesRecv+=e}wants(e,t,n){this.wantlist.add(e,t,n)}cancelWant(e){this.wantlist.remove(e)}wantlistContains(e){return this.wantlist.get(e)}debtRatio(){return this.accounting.bytesSent/(this.accounting.bytesRecv+1)}};var Kt=class extends Map{constructor(e,t){super(),this._cmp=t??this._defaultSort,this._keys=[];for(let[n,i]of e??[])this.set(n,i)}update(e){if(e<0||e>=this._keys.length)return;let t=this._keys[e];this._keys.splice(e,1);let n=this._find(t);this._keys.splice(n,0,t)}set(e,t){if(this.has(e)){let i=this.indexOf(e);this._keys.splice(i,1)}super.set(e,t);let n=this._find(e);return this._keys.splice(n,0,e),this}clear(){super.clear(),this._keys=[]}delete(e){if(!this.has(e))return!1;let t=this.indexOf(e);return this._keys.splice(t,1),super.delete(e)}indexOf(e){if(!this.has(e))return-1;let t=this._find(e);if(this._keys[t]===e)return t;for(let n=1;n<this._keys.length;n++){if(this._keys[t+n]===e)return t+n;if(this._keys[t-n]===e)return t-n}return-1}_find(e){let t=0,n=this._keys.length;for(;t<n;){let i=t+n>>>1,o=this._kCmp(this._keys[i],e);if(o<0)t=i+1;else if(o>0)n=i;else return i}return t}*keys(){for(let e of this._keys)yield e}*values(){for(let e of this._keys)yield this.get(e)}*entries(){for(let e of this._keys)yield[e,this.get(e)]}*[Symbol.iterator](){yield*this.entries()}forEach(e,t=this){if(e!=null)for(let n of this._keys){let i=this.get(n);if(i==null)throw new Error("Value cannot be undefined");e.apply(t,[[n,i]])}}_defaultSort(e,t){return e[0]<t[0]?-1:t[0]<e[0]?1:0}_kCmp(e,t){return this._cmp([e,this.get(e)],[t,this.get(t)])}};var lh={hasNewInfo(){return!1},merge(){}},Wr=class{constructor(e=lh){this._taskMerger=e,this._byPeer=new Kt([],Hr.compare)}pushTasks(e,t){let n=this._byPeer.get(e.toString());n==null&&(n=new Hr(e,this._taskMerger)),n.pushTasks(t),this._byPeer.set(e.toString(),n)}popTasks(e){let t=this._head();if(t===void 0)return{tasks:[],pendingSize:0};let{tasks:n,pendingSize:i}=t.popTasks(e);if(n.length===0)return{tasks:n,pendingSize:i};let o=t.peerId;return t.isIdle()?this._byPeer.delete(o.toString()):this._byPeer.update(0),{peerId:o,tasks:n,pendingSize:i}}_head(){if(this._byPeer.size!==0)for(let[,e]of this._byPeer)return e}remove(e,t){this._byPeer.get(t.toString())?.remove(e)}tasksDone(e,t){let n=this._byPeer.get(e.toString());if(n==null)return;let i=this._byPeer.indexOf(e.toString());for(let o of t)n.taskDone(o);this._byPeer.update(i)}},Hr=class{constructor(e,t){this.peerId=e,this._taskMerger=t,this._activeTotalSize=0,this._pending=new vi,this._active=new Set}pushTasks(e){for(let t of e)this._pushTask(t)}_pushTask(e){if(!this._taskHasMoreInfoThanActiveTasks(e))return;let t=this._pending.get(e.topic);if(t!=null){e.priority>t.priority&&this._pending.updatePriority(e.topic,e.priority),this._taskMerger.merge(e,t);return}this._pending.add(e)}_taskHasMoreInfoThanActiveTasks(e){let t=[];for(let n of this._active)n.topic===e.topic&&t.push(n);return t.length===0?!0:this._taskMerger.hasNewInfo(e,t)}popTasks(e){let t=0,n=[],i=this._pending.tasks();for(let o=0;o<i.length&&t<e;o++){let s=i[o];n.push(s),t+=s.size,this._pending.delete(s.topic),this._activeTotalSize+=s.size,this._active.add(s)}return{tasks:n,pendingSize:this._pending.totalSize}}taskDone(e){this._active.has(e)&&(this._activeTotalSize-=e.size,this._active.delete(e))}remove(e){this._pending.delete(e)}isIdle(){return this._pending.length===0&&this._active.size===0}static compare(e,t){return e[1]._pending.length===0?1:t[1]._pending.length===0?-1:e[1]._activeTotalSize===t[1]._activeTotalSize?t[1]._pending.length-e[1]._pending.length:e[1]._activeTotalSize-t[1]._activeTotalSize}},vi=class{constructor(){this._tasks=new Kt([],this._compare)}get length(){return this._tasks.size}get totalSize(){return[...this._tasks.values()].reduce((e,t)=>e+t.task.size,0)}get(e){return this._tasks?.get(e)?.task}add(e){this._tasks.set(e.topic,{created:Date.now(),task:e})}delete(e){this._tasks.delete(e)}tasks(){return[...this._tasks.values()].map(e=>e.task)}updatePriority(e,t){let n=this._tasks.get(e);if(n==null)return;let i=this._tasks.indexOf(e);n.task.priority=t,this._tasks.update(i)}_compare(e,t){return e[1].task.priority===t[1].task.priority?e[1].created-t[1].created:t[1].task.priority-e[1].task.priority}};var Aa={hasNewInfo(r,e){let t=!1,n=!1;for(let i of e)i.data.haveBlock&&(t=!0),i.data.isWantBlock&&(n=!0);return!!(!n&&r.data.isWantBlock||!t&&r.data.haveBlock)},merge(r,e){let t=r.data,n=e.data;!n.haveBlock&&t.haveBlock&&(n.haveBlock=t.haveBlock,n.blockSize=t.blockSize),!n.isWantBlock&&t.isWantBlock&&(n.isWantBlock=!0,(!n.haveBlock||t.haveBlock)&&(n.haveBlock=t.haveBlock,e.size=r.size)),n.isWantBlock&&n.haveBlock&&(e.size=n.blockSize)}};var Ba=B.WantType,fh=16*1024,hh=1024,jr=class{constructor(e,t,n,i,o,s={}){this._log=se(e,"engine"),this.blockstore=t,this.network=n,this._stats=i,this._opts=this._processOpts(s),this.ledgerMap=Fe({name:"ipfs_bitswap_ledger_map",metrics:o.metrics}),this._running=!1,this._requestQueue=new Wr(Aa)}_processOpts(e){return{maxSizeReplaceHasWithBlock:hh,targetMessageSize:fh,...e}}_scheduleProcessTasks(){setTimeout(()=>{this._processTasks().catch(e=>{this._log.error("error processing stats",e)})})}async _processTasks(){if(!this._running)return;let{peerId:e,tasks:t,pendingSize:n}=this._requestQueue.popTasks(this._opts.targetMessageSize);if(t.length===0)return;let i=new B(!1);i.setPendingBytes(n);let o=[],s=new Map;for(let c of t){let u=v.parse(c.topic);c.data.haveBlock?c.data.isWantBlock?(o.push(u),s.set(c.topic,c.data)):i.addHave(u):i.addDontHave(u)}let a=await this._getBlocks(o);for(let[c,u]of s){let l=v.parse(c),h=a.get(c);h!=null?i.addBlock(l,h):u.sendDontHave&&i.addDontHave(l)}if(i.empty){e!=null&&this._requestQueue.tasksDone(e,t),this._scheduleProcessTasks();return}try{e!=null&&await this.network.sendMessage(e,i);for(let[c,u]of a.entries())e!=null&&this.messageSent(e,v.parse(c),u)}catch(c){this._log.error(c)}e!=null&&this._requestQueue.tasksDone(e,t),this._scheduleProcessTasks()}wantlistForPeer(e){let t=e.toString(),n=this.ledgerMap.get(t);return n!=null?n.wantlist.sortedEntries():new Map}ledgerForPeer(e){let t=e.toString(),n=this.ledgerMap.get(t);if(n!=null)return{peer:n.partner,value:n.debtRatio(),sent:n.accounting.bytesSent,recv:n.accounting.bytesRecv,exchanged:n.exchangeCount}}peers(){return Array.from(this.ledgerMap.values()).map(e=>e.partner)}receivedBlocks(e){if(e.length!==0){for(let t of this.ledgerMap.values())for(let n of e){let i=t.wantlistContains(n.cid);if(i==null)continue;let o=n.data.length,s=this._sendAsBlock(i.wantType,o),a=o;s||(a=B.blockPresenceSize(i.cid)),this._requestQueue.pushTasks(t.partner,[{topic:i.cid.toString(E),priority:i.priority,size:a,data:{blockSize:o,isWantBlock:s,haveBlock:!0,sendDontHave:!1}}])}this._scheduleProcessTasks()}}async messageReceived(e,t){let n=this._findOrCreate(e);if(t.empty)return;if(t.full&&(n.wantlist=new ke),this._updateBlockAccounting(t.blocks,n),t.wantlist.size===0){this._scheduleProcessTasks();return}let i=[],o=[];t.wantlist.forEach(s=>{s.cancel?(n.cancelWant(s.cid),i.push(s.cid)):(n.wants(s.cid,s.priority,s.wantType),o.push(s))}),this._cancelWants(e,i),await this._addWants(e,o),this._scheduleProcessTasks()}_cancelWants(e,t){for(let n of t)this._requestQueue.remove(n.toString(E),e)}async _addWants(e,t){let n=await this._getBlockSizes(t.map(o=>o.cid)),i=[];for(let o of t){let s=o.cid.toString(E),a=n.get(s);if(a==null)o.sendDontHave&&i.push({topic:s,priority:o.priority,size:B.blockPresenceSize(o.cid),data:{isWantBlock:o.wantType===Ba.Block,blockSize:0,haveBlock:!1,sendDontHave:o.sendDontHave}});else{let c=this._sendAsBlock(o.wantType,a),u=a;c||(u=B.blockPresenceSize(o.cid)),i.push({topic:s,priority:o.priority,size:u,data:{isWantBlock:c,blockSize:a,haveBlock:!0,sendDontHave:o.sendDontHave}})}this._requestQueue.pushTasks(e,i)}}_sendAsBlock(e,t){return e===Ba.Block||t<=this._opts.maxSizeReplaceHasWithBlock}async _getBlockSizes(e){let t=await this._getBlocks(e);return new Map([...t].map(([n,i])=>[n,i.length]))}async _getBlocks(e){let t=new Map;return await Promise.all(e.map(async n=>{try{let i=await this.blockstore.get(n);t.set(n.toString(E),i)}catch(i){i.code!=="ERR_NOT_FOUND"&&this._log.error("failed to query blockstore for %s: %s",n,i)}})),t}_updateBlockAccounting(e,t){for(let n of e.values())this._log("got block (%s bytes)",n.length),t.receivedBytes(n.length)}messageSent(e,t,n){let i=this._findOrCreate(e);i.sentBytes(n.length),i.wantlist.remove(t)}numBytesSentTo(e){return this._findOrCreate(e).accounting.bytesSent}numBytesReceivedFrom(e){return this._findOrCreate(e).accounting.bytesRecv}peerDisconnected(e){this.ledgerMap.delete(e.toString())}_findOrCreate(e){let t=e.toString(),n=this.ledgerMap.get(t);if(n!=null)return n;let i=new $r(e);return this.ledgerMap.set(t,i),this._stats!=null&&this._stats.push(t,"peerCount",1),i}start(){this._running=!0}stop(){this._running=!1}};var ja=F(Gr(),1);var ki={};V(ki,{identity:()=>bh});var bh=mt({prefix:"\0",name:"identity",encode:r=>vo(r),decode:r=>_o(r)});var Ei={};V(Ei,{base2:()=>_h});var _h=D({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ti={};V(Ti,{base8:()=>vh});var vh=D({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Si={};V(Si,{base10:()=>xh});var xh=De({prefix:"9",name:"base10",alphabet:"0123456789"});var Ai={};V(Ai,{base16:()=>kh,base16upper:()=>Eh});var kh=D({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Eh=D({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Bi={};V(Bi,{base36:()=>Qt,base36upper:()=>Th});var Qt=De({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Th=De({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ci={};V(Ci,{base256emoji:()=>Lh});var Ra=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}"),Sh=Ra.reduce((r,e,t)=>(r[t]=e,r),[]),Ah=Ra.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Bh(r){return r.reduce((e,t)=>(e+=Sh[t],e),"")}function Ch(r){let e=[];for(let t of r){let n=Ah[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var Lh=mt({prefix:"\u{1F680}",name:"base256emoji",encode:Bh,decode:Ch});var Xt=85;var Zy=new TextEncoder,Yy=new TextDecoder;var Pi={...ki,...Ei,...Ti,...Si,...Ai,...Wn,...Bi,...$n,...Gn,...Ci},ig={...Un,...Nn};function $a(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var za=$a("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ni=$a("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=Te(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Nh={utf8:za,"utf-8":za,hex:Pi.base16,latin1:Ni,ascii:Ni,binary:Ni,...Pi},Kr=Nh;function st(r,e="utf8"){let t=Kr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}var Wa=r=>`unwant:${st(r.multihash.bytes,"base64")}`,Ha=r=>`block:${st(r.multihash.bytes,"base64")}`,Qr=class extends ja.EventEmitter{constructor(e){super(),this.setMaxListeners(oa),this._log=se(e,"notif")}hasBlock(e,t){let n=Ha(e);this._log(n),this.emit(n,t)}async wantBlock(e,t={}){if(e==null)throw new Error("Not a valid cid");let n=Ha(e),i=Wa(e);return this._log(`wantBlock:${e}`),await new Promise((o,s)=>{let a=()=>{this.removeListener(n,c),s(new Error(`Block for ${e} unwanted`))},c=u=>{this.removeListener(i,a),o(u)};this.once(i,a),this.once(n,c),t.signal?.addEventListener("abort",()=>{this.removeListener(n,c),this.removeListener(i,a),s(new Error(`Want for ${e} aborted`))})})}unwantBlock(e){let t=Wa(e);this._log(t),this.emit(t)}};var Xa=F(Gr(),1);var Ka=F(Gr(),1),Di=F(Ga(),1),Jt=class extends Ka.EventEmitter{constructor(e,t){super(),this._options=t,this._queue=[],this._stats={},this._frequencyLastTime=Date.now(),this._frequencyAccumulators={},this._movingAverages={},this._update=this._update.bind(this),e.forEach(n=>{this._stats[n]=BigInt(0),this._movingAverages[n]={},this._options.movingAverageIntervals.forEach(i=>{(this._movingAverages[n][i]=(0,Di.default)(i)).push(this._frequencyLastTime,0)})}),this._enabled=this._options.enabled}enable(){this._enabled=!0}disable(){this._enabled=!1}stop(){this._timeout!=null&&clearTimeout(this._timeout)}get snapshot(){return Object.assign({},this._stats)}get movingAverages(){return Object.assign({},this._movingAverages)}push(e,t){this._enabled&&(this._queue.push([e,t,Date.now()]),this._resetComputeTimeout())}_resetComputeTimeout(){this._timeout!=null&&clearTimeout(this._timeout),this._timeout=setTimeout(this._update,this._nextTimeout())}_nextTimeout(){let e=this._queue.length/this._options.computeThrottleMaxQueueSize;return Math.max(this._options.computeThrottleTimeout*(1-e),0)}_update(){if(this._timeout=void 0,this._queue.length>0){let e;for(;this._queue.length>0;){let t=e=this._queue.shift();t!=null&&this._applyOp(t)}e!=null&&this._updateFrequency(e[2]),this.emit("update",this._stats)}}_updateFrequency(e){let t=e-this._frequencyLastTime;t>0&&Object.keys(this._stats).forEach(n=>{this._updateFrequencyFor(n,t,e)}),this._frequencyLastTime=e}_updateFrequencyFor(e,t,n){let i=this._frequencyAccumulators[e]??0;this._frequencyAccumulators[e]=0;let o=i/t*1e3,s=this._movingAverages[e];s==null&&(s=this._movingAverages[e]={}),this._options.movingAverageIntervals.forEach(a=>{let c=s[a];c==null&&(c=s[a]=(0,Di.default)(a)),c.push(n,o)})}_applyOp(e){let t=e[0],n=e[1];if(typeof n!="number")throw new Error(`invalid increment number: ${n}`);Object.prototype.hasOwnProperty.call(this._stats,t)||(this._stats[t]=BigInt(0)),this._stats[t]=BigInt(this._stats[t])+BigInt(n),this._frequencyAccumulators[t]==null&&(this._frequencyAccumulators[t]=0),this._frequencyAccumulators[t]+=n}};var Qa={enabled:!1,computeThrottleTimeout:1e3,computeThrottleMaxQueueSize:1e3,movingAverageIntervals:[60*1e3,5*60*1e3,15*60*1e3]},Xr=class extends Xa.EventEmitter{constructor(e,t=[],n=Qa){super();let i=Object.assign({},Qa,n);if(typeof i.computeThrottleTimeout!="number")throw new Error("need computeThrottleTimeout");if(typeof i.computeThrottleMaxQueueSize!="number")throw new Error("need computeThrottleMaxQueueSize");this._initialCounters=t,this._options=i,this._enabled=this._options.enabled,this._global=new Jt(t,i),this._global.on("update",o=>this.emit("update",o)),this._peers=Fe({name:"ipfs_bitswap_stats_peers",metrics:e.metrics})}enable(){this._enabled=!0,this._options.enabled=!0,this._global.enable()}disable(){this._enabled=!1,this._options.enabled=!1,this._global.disable()}stop(){this._enabled=!1,this._global.stop();for(let e of this._peers)e[1].stop()}get snapshot(){return this._global.snapshot}get movingAverages(){return this._global.movingAverages}forPeer(e){let t=e.toString();return this._peers.get(t)}push(e,t,n){if(this._enabled&&(this._global.push(t,n),e!=null)){let i=this._peers.get(e);i==null&&(i=new Jt(this._initialCounters,this._options),this._peers.set(e,i)),i.push(t,n)}}disconnected(e){let t=e.toString(),n=this._peers.get(t);n!=null&&(n.stop(),this._peers.delete(t))}};var ec=F(Za(),1);async function _e(r){for await(let e of r);}async function*R(r,e){for await(let t of r)await e(t)&&(yield t)}async function*Re(r,e){let t=0;if(!(e<1)){for await(let n of r)if(yield n,t++,t===e)return}}async function Zt(r){let e=[];for await(let t of r)e.push(t);return e}var Ya=(r,e)=>async function*(){yield*(await Zt(r)).sort(e)}(),Se=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(e,t,n){return Promise.reject(new Error(".put is not implemented"))}get(e,t){return Promise.reject(new Error(".get is not implemented"))}has(e,t){return Promise.reject(new Error(".has is not implemented"))}delete(e,t){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,t={}){for await(let{key:n,value:i}of e)await this.put(n,i,t),yield{key:n,value:i}}async*getMany(e,t={}){for await(let n of e)yield this.get(n,t)}async*deleteMany(e,t={}){for await(let n of e)await this.delete(n,t),yield n}batch(){let e=[],t=[];return{put(n,i){e.push({key:n,value:i})},delete(n){t.push(n)},commit:async n=>{await _e(this.putMany(e,n)),e=[],await _e(this.deleteMany(t,n)),t=[]}}}async*_all(e,t){throw new Error("._all is not implemented")}async*_allKeys(e,t){throw new Error("._allKeys is not implemented")}query(e,t){let n=this._all(e,t);if(e.prefix!=null&&(n=R(n,i=>i.key.toString().startsWith(e.prefix||""))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>R(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Ya(i,o),n)),e.offset!=null){let i=0;n=R(n,()=>i++>=(e.offset||0))}return e.limit!=null&&(n=Re(n,e.limit)),n}queryKeys(e,t){let n=this._allKeys(e,t);if(e.prefix!=null&&(n=R(n,i=>i.toString().startsWith(e.prefix||""))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>R(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Ya(i,o),n)),e.offset!=null){let i=0;n=R(n,()=>i++>=e.offset)}return e.limit!=null&&(n=Re(n,e.limit)),n}};var Ih={async getHasher(){throw new Error("Not implemented")}},Mh={maxInboundStreams:32,maxOutboundStreams:128,incomingStreamTimeout:3e4,hashLoader:Ih,statsEnabled:!1,statsComputeThrottleTimeout:1e3,statsComputeThrottleMaxQueueSize:1e3},Uh=["blocksReceived","dataReceived","dupBlksReceived","dupDataReceived","blocksSent","dataSent","providesBufferLength","wantListLength","peerCount"],Jr=class extends Se{constructor(e,t,n={}){super(),this._libp2p=e,this._log=se(this.peerId),this._options=Object.assign({},Mh,n),this._stats=new Xr(e,Uh,{enabled:this._options.statsEnabled,computeThrottleTimeout:this._options.statsComputeThrottleTimeout,computeThrottleMaxQueueSize:this._options.statsComputeThrottleMaxQueueSize}),this.network=new zr(e,this,this._stats,{hashLoader:n.hashLoader,maxInboundStreams:n.maxInboundStreams,maxOutboundStreams:n.maxOutboundStreams,incomingStreamTimeout:n.incomingStreamTimeout}),this.blockstore=t,this.engine=new jr(this.peerId,t,this.network,this._stats,e),this.wm=new Pr(this.peerId,this.network,this._stats,e),this.notifications=new Qr(this.peerId),this.started=!1}isStarted(){return this.started}get peerId(){return this._libp2p.peerId}async _receiveMessage(e,t){try{await this.engine.messageReceived(e,t)}catch{this._log("failed to receive message",t)}if(t.blocks.size===0)return;let n=[];for(let[i,o]of t.blocks.entries()){let s=v.parse(i);n.push({wasWanted:this.wm.wantlist.contains(s),cid:s,data:o})}this.wm.cancelWants(n.filter(({wasWanted:i})=>i).map(({cid:i})=>i)),await Promise.all(n.map(async({cid:i,wasWanted:o,data:s})=>{await this._handleReceivedBlock(e,i,s,o)}))}async _handleReceivedBlock(e,t,n,i){this._log("received block");let o=await this.blockstore.has(t);this._updateReceiveCounters(e.toString(),t,n,o),i&&await this.put(t,n)}_updateReceiveCounters(e,t,n,i){this._stats.push(e,"blocksReceived",1),this._stats.push(e,"dataReceived",n.length),i&&(this._stats.push(e,"dupBlksReceived",1),this._stats.push(e,"dupDataReceived",n.length))}_receiveError(e){this._log.error("ReceiveError",e)}_onPeerConnected(e){this.wm.connected(e)}_onPeerDisconnected(e){this.wm.disconnected(e),this.engine.peerDisconnected(e),this._stats.disconnected(e)}enableStats(){this._stats.enable()}disableStats(){this._stats.disable()}wantlistForPeer(e,t){return this.engine.wantlistForPeer(e)}ledgerForPeer(e){return this.engine.ledgerForPeer(e)}async get(e,t={}){let n=async(c,u)=>(this.wm.wantBlocks([c],u),await this.notifications.wantBlock(c,u)),i=!1,o=async(c,u)=>{try{return await this.blockstore.get(c,u)}catch(l){if(l.code!=="ERR_NOT_FOUND")throw l;return i||(i=!0,this.network.findAndConnect(c,u).catch(h=>{this._log.error(h)})),await n(c,u)}},s=new AbortController,a=t.signal!=null?(0,ec.anySignal)([t.signal,s.signal]):s.signal;try{return await Promise.race([this.notifications.wantBlock(e,{signal:a}),o(e,{signal:a})])}finally{s.abort()}}async*getMany(e,t={}){for await(let n of e)yield this.get(n,t)}unwant(e){let t=Array.isArray(e)?e:[e];this.wm.unwantBlocks(t),t.forEach(n=>{this.notifications.unwantBlock(n)})}cancelWants(e){this.wm.cancelWants(Array.isArray(e)?e:[e])}async put(e,t,n){await this.blockstore.put(e,t),this._sendHaveBlockNotifications(e,t)}async*putMany(e,t){for await(let{key:n,value:i}of this.blockstore.putMany(e,t))this._sendHaveBlockNotifications(n,i),yield{key:n,value:i}}_sendHaveBlockNotifications(e,t){this.notifications.hasBlock(e,t),this.engine.receivedBlocks([{cid:e,data:t}]),this.network.provide(e).catch(n=>{this._log.error("Failed to provide: %s",n.message)})}getWantlist(){return this.wm.wantlist.entries()}peers(){return this.engine.peers()}stat(){return this._stats}async start(){this.wm.start(),await this.network.start(),this.engine.start(),this.started=!0}async stop(){this._stats.stop(),this.wm.stop(),await this.network.stop(),this.engine.stop(),this.started=!1}unwrap(){return this.blockstore}async has(e){return await this.blockstore.has(e)}};var tc=(r,e,t={})=>new Jr(r,e,t);var Zr={};V(Zr,{abortedError:()=>Fh,notFoundError:()=>Ui});var Mi=F(Ur(),1);function Ui(r){return r=r||new Error("Not Found"),(0,Mi.default)(r,"ERR_NOT_FOUND")}function Fh(r){return r=r||new Error("Aborted"),(0,Mi.default)(r,"ERR_ABORTED")}var Yt=class extends Se{constructor(){super(),this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(e,t){this.data[j.encode(e.multihash.bytes)]=t}async get(e){if(!await this.has(e))throw Ui();return this.data[j.encode(e.multihash.bytes)]}async has(e){return this.data[j.encode(e.multihash.bytes)]!==void 0}async delete(e){delete this.data[j.encode(e.multihash.bytes)]}async*_all(){yield*Object.entries(this.data).map(([e,t])=>({key:v.createV1(Xt,Ot(j.decode(e))),value:t}))}async*_allKeys(){yield*Object.entries(this.data).map(([e])=>v.createV1(Xt,Ot(j.decode(e))))}};var Hg={...Zr};var hc=F(nc(),1);var tr=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Oi=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},ic=r=>globalThis.DOMException===void 0?new Oi(r):new DOMException(r),oc=r=>{let e=r.reason===void 0?ic("This operation was aborted."):r.reason;return e instanceof Error?e:ic(e)};function Ri(r,e,t,n){let i,o=new Promise((s,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(r);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(oc(c)),c.addEventListener("abort",()=>{a(oc(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof t=="function"){try{s(t())}catch(l){a(l)}return}let c=typeof t=="string"?t:`Promise timed out after ${e} milliseconds`,u=t instanceof Error?t:new tr(c);typeof r.cancel=="function"&&r.cancel(),a(u)},e),(async()=>{try{s(await r)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function zi(r,e,t){let n=0,i=r.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;t(r[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var at=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Ae,rr=class{constructor(){Ae.set(this,[])}enqueue(e,t){t={priority:0,...t};let n={priority:t.priority,run:e};if(this.size&&at(this,Ae,"f")[this.size-1].priority>=t.priority){at(this,Ae,"f").push(n);return}let i=zi(at(this,Ae,"f"),n,(o,s)=>s.priority-o.priority);at(this,Ae,"f").splice(i,0,n)}dequeue(){let e=at(this,Ae,"f").shift();return e?.run}filter(e){return at(this,Ae,"f").filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return at(this,Ae,"f").length}};Ae=new WeakMap;var N=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},b=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},M,ir,or,$e,sn,sr,en,de,nr,J,tn,Z,ar,ze,rn,sc,ac,lc,cc,uc,nn,$i,Wi,an,fc,on,cn=class extends Error{},Be=class extends hc.default{constructor(e){var t,n,i,o;if(super(),M.add(this),ir.set(this,void 0),or.set(this,void 0),$e.set(this,0),sn.set(this,void 0),sr.set(this,void 0),en.set(this,0),de.set(this,void 0),nr.set(this,void 0),J.set(this,void 0),tn.set(this,void 0),Z.set(this,0),ar.set(this,void 0),ze.set(this,void 0),rn.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:rr,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(t=e.intervalCap)===null||t===void 0?void 0:t.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);N(this,ir,e.carryoverConcurrencyCount,"f"),N(this,or,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),N(this,sn,e.intervalCap,"f"),N(this,sr,e.interval,"f"),N(this,J,new e.queueClass,"f"),N(this,tn,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,N(this,rn,e.throwOnTimeout===!0,"f"),N(this,ze,e.autoStart===!1,"f")}get concurrency(){return b(this,ar,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);N(this,ar,e,"f"),b(this,M,"m",an).call(this)}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:b(this,rn,"f"),...t},new Promise((n,i)=>{b(this,J,"f").enqueue(async()=>{var o,s,a;N(this,Z,(s=b(this,Z,"f"),s++,s),"f"),N(this,$e,(a=b(this,$e,"f"),a++,a),"f");try{if(!((o=t.signal)===null||o===void 0)&&o.aborted)throw new cn("The task was aborted.");let c=e({signal:t.signal});t.timeout&&(c=Ri(Promise.resolve(c),t.timeout)),t.signal&&(c=Promise.race([c,b(this,M,"m",fc).call(this,t.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof tr&&!t.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{b(this,M,"m",lc).call(this)}},t),this.emit("add"),b(this,M,"m",nn).call(this)})}async addAll(e,t){return Promise.all(e.map(async n=>this.add(n,t)))}start(){return b(this,ze,"f")?(N(this,ze,!1,"f"),b(this,M,"m",an).call(this),this):this}pause(){N(this,ze,!0,"f")}clear(){N(this,J,new(b(this,tn,"f")),"f")}async onEmpty(){b(this,J,"f").size!==0&&await b(this,M,"m",on).call(this,"empty")}async onSizeLessThan(e){b(this,J,"f").size<e||await b(this,M,"m",on).call(this,"next",()=>b(this,J,"f").size<e)}async onIdle(){b(this,Z,"f")===0&&b(this,J,"f").size===0||await b(this,M,"m",on).call(this,"idle")}get size(){return b(this,J,"f").size}sizeBy(e){return b(this,J,"f").filter(e).length}get pending(){return b(this,Z,"f")}get isPaused(){return b(this,ze,"f")}};ir=new WeakMap,or=new WeakMap,$e=new WeakMap,sn=new WeakMap,sr=new WeakMap,en=new WeakMap,de=new WeakMap,nr=new WeakMap,J=new WeakMap,tn=new WeakMap,Z=new WeakMap,ar=new WeakMap,ze=new WeakMap,rn=new WeakMap,M=new WeakSet,sc=function(){return b(this,or,"f")||b(this,$e,"f")<b(this,sn,"f")},ac=function(){return b(this,Z,"f")<b(this,ar,"f")},lc=function(){var e;N(this,Z,(e=b(this,Z,"f"),e--,e),"f"),b(this,M,"m",nn).call(this),this.emit("next")},cc=function(){b(this,M,"m",Wi).call(this),b(this,M,"m",$i).call(this),N(this,nr,void 0,"f")},uc=function(){let e=Date.now();if(b(this,de,"f")===void 0){let t=b(this,en,"f")-e;if(t<0)N(this,$e,b(this,ir,"f")?b(this,Z,"f"):0,"f");else return b(this,nr,"f")===void 0&&N(this,nr,setTimeout(()=>{b(this,M,"m",cc).call(this)},t),"f"),!0}return!1},nn=function(){if(b(this,J,"f").size===0)return b(this,de,"f")&&clearInterval(b(this,de,"f")),N(this,de,void 0,"f"),this.emit("empty"),b(this,Z,"f")===0&&this.emit("idle"),!1;if(!b(this,ze,"f")){let e=!b(this,M,"a",uc);if(b(this,M,"a",sc)&&b(this,M,"a",ac)){let t=b(this,J,"f").dequeue();return t?(this.emit("active"),t(),e&&b(this,M,"m",$i).call(this),!0):!1}}return!1},$i=function(){b(this,or,"f")||b(this,de,"f")!==void 0||(N(this,de,setInterval(()=>{b(this,M,"m",Wi).call(this)},b(this,sr,"f")),"f"),N(this,en,Date.now()+b(this,sr,"f"),"f"))},Wi=function(){b(this,$e,"f")===0&&b(this,Z,"f")===0&&b(this,de,"f")&&(clearInterval(b(this,de,"f")),N(this,de,void 0,"f")),N(this,$e,b(this,ir,"f")?b(this,Z,"f"):0,"f"),b(this,M,"m",an).call(this)},an=function(){for(;b(this,M,"m",nn).call(this););},fc=async function(e){return new Promise((t,n)=>{e.addEventListener("abort",()=>{n(new cn("The task was aborted."))},{once:!0})})},on=async function(e,t){return new Promise(n=>{let i=()=>{t&&!t()||(this.off(e,i),n())};this.on(e,i)})};var Hi=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},ji=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},dc=r=>globalThis.DOMException===void 0?new ji(r):new DOMException(r),pc=r=>{let e=r.reason===void 0?dc("This operation was aborted."):r.reason;return e instanceof Error?e:dc(e)};function qi(r,e){let{milliseconds:t,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,a=new Promise((c,u)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){c(r);return}if(e.signal){let{signal:h}=e;h.aborted&&u(pc(h)),h.addEventListener("abort",()=>{u(pc(h))})}let l=new Hi;s=o.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(h){u(h)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?c():i instanceof Error?u(i):(l.message=i??`Promise timed out after ${t} milliseconds`,u(l))},t),(async()=>{try{c(await r)}catch(h){u(h)}finally{o.clearTimeout.call(void 0,s)}})()});return a.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},a}var mc=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");var Vi="lock:worker:request-read",Gi="lock:worker:release-read",Ki="lock:master:grant-read",Qi="lock:worker:request-write",Xi="lock:worker:release-write",Ji="lock:master:grant-write";var We={},Tt=r=>{r.addEventListener("message",e=>{Tt.dispatchEvent("message",r,e)}),r.port!=null&&r.port.addEventListener("message",e=>{Tt.dispatchEvent("message",r,e)})};Tt.addEventListener=(r,e)=>{We[r]==null&&(We[r]=[]),We[r].push(e)};Tt.removeEventListener=(r,e)=>{We[r]!=null&&(We[r]=We[r].filter(t=>t===e))};Tt.dispatchEvent=function(r,e,t){We[r]!=null&&We[r].forEach(n=>n(e,t))};var Zi=Tt;var yc=(r,e,t,n,i)=>(o,s)=>{if(s.data.type!==t)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};r.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let h={type:l.data.type,name:l.data.name,identifier:l.data.identifier};h.type===n&&h.identifier===a.identifier&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},gc=(r,e,t,n)=>async()=>{let i=mc();return globalThis.postMessage({type:e,identifier:i,name:r}),await new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===t&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:r})}))};globalThis.addEventListener("message",s)})},zh={singleProcess:!1},wc=r=>{if(r=Object.assign({},zh,r),!!globalThis.document||r.singleProcess){let t=new EventTarget;return Zi.addEventListener("message",yc(t,"requestReadLock",Vi,Gi,Ki)),Zi.addEventListener("message",yc(t,"requestWriteLock",Qi,Xi,Ji)),t}return{isWorker:!0,readLock:t=>gc(t,Vi,Ki,Gi),writeLock:t=>gc(t,Qi,Ji,Xi)}};var ct={},He;async function Yi(r,e){let t,n=new Promise(i=>{t=i});return r.add(async()=>await qi((async()=>await new Promise(i=>{t(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var $h=(r,e)=>{if(He.isWorker===!0)return{readLock:He.readLock(r,e),writeLock:He.writeLock(r,e)};let t=new Be({concurrency:1}),n;return{async readLock(){if(n!=null)return await Yi(n,e);n=new Be({concurrency:e.concurrency,autoStart:!1});let i=n,o=Yi(n,e);return t.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Yi(t,e)}}},Wh={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function eo(r){let e=Object.assign({},Wh,r);return He==null&&(He=wc(e),He.isWorker!==!0&&(He.addEventListener("requestReadLock",t=>{ct[t.data.name]!=null&&ct[t.data.name].readLock().then(async n=>await t.data.handler().finally(()=>n()))}),He.addEventListener("requestWriteLock",async t=>{ct[t.data.name]!=null&&ct[t.data.name].writeLock().then(async n=>await t.data.handler().finally(()=>n()))}))),ct[e.name]==null&&(ct[e.name]=$h(e.name,e)),ct[e.name]}var un=class extends Se{constructor(e,t,n){super(),this.child=e,this.bitswap=n,this.pins=t,this.lock=eo()}async open(){await this.child.open()}async close(){await this.child.close()}unwrap(){return this.child}async put(e,t,n={}){let i=await this.lock.readLock();try{this.bitswap?.isStarted()===!0?await this.bitswap.put(e,t,n):await this.child.put(e,t,n)}finally{i()}}async*putMany(e,t={}){let n=await this.lock.readLock();try{let i=R(e,async({key:s})=>!await this.child.has(s));yield*(this.bitswap?.isStarted()===!0?this.bitswap:this.child).putMany(i,t)}finally{n()}}async get(e,t={}){let n=await this.lock.readLock();try{return!await this.has(e)&&this.bitswap?.isStarted()===!0?await this.bitswap?.get(e,t):await this.child.get(e,t)}finally{n()}}async*getMany(e,t={}){let n=await this.lock.readLock();try{let i=Oe({objectMode:!0}),o=Oe({objectMode:!0});Promise.resolve().then(async()=>{for await(let a of e)!await this.has(a)&&this.bitswap?.isStarted()===!0?i.push(a):o.push(a);i.end(),o.end()}).catch(a=>{i.throw(a)});let s=[this.child.getMany(o,t)];this.bitswap?.isStarted()===!0&&s.push(this.bitswap.getMany(i,t)),yield*kt(...s)}finally{n()}}async delete(e,t={}){let n=await this.lock.writeLock();try{if(await this.pins.isPinned(e))throw new Error("CID was pinned");await this.child.delete(e,t)}finally{n()}}async*deleteMany(e,t={}){let n=await this.lock.writeLock();try{let i=this;yield*this.child.deleteMany(async function*(){for await(let o of e){if(await i.pins.isPinned(o))throw new Error("CID was pinned");yield o}}(),t)}finally{n()}}async has(e,t={}){let n=await this.lock.readLock();try{return await this.child.has(e,t)}finally{n()}}async*query(e,t={}){let n=await this.lock.readLock();try{yield*this.child.query(e,t)}finally{n()}}async*queryKeys(e,t={}){let n=await this.lock.readLock();try{yield*this.child.queryKeys(e,t)}finally{n()}}};var bc=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");function ln(r,e="utf8"){let t=Kr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?nt(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}var Ce="/",_c=new TextEncoder().encode(Ce),fn=_c[0],C=class{constructor(e,t){if(typeof e=="string")this._buf=ln(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(t==null&&(t=!0),t&&this.clean(),this._buf.byteLength===0||this._buf[0]!==fn)throw new Error("Invalid key")}toString(e="utf8"){return st(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new C(e.join(Ce))}static random(){return new C(bc().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new C(e):typeof e.uint8Array=="function"?new C(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=_c),this._buf[0]!==fn){let e=new Uint8Array(this._buf.byteLength+1);e.fill(fn,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===fn;)this._buf=this._buf.subarray(0,-1)}less(e){let t=this.list(),n=e.list();for(let i=0;i<t.length;i++){if(n.length<i+1)return!1;let o=t[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return t.length<n.length}reverse(){return C.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Ce).slice(1)}type(){return Hh(this.baseNamespace())}name(){return jh(this.baseNamespace())}instance(e){return new C(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Ce)||(e+=Ce),e+=this.type(),new C(e)}parent(){let e=this.list();return e.length===1?new C(Ce):new C(e.slice(0,-1).join(Ce))}child(e){return this.toString()===Ce?e:e.toString()===Ce?this:new C(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return C.withNamespaces([...this.namespaces(),...qh(e.map(t=>t.namespaces()))])}};function Hh(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function jh(r){let e=r.split(":");return e[e.length-1]}function qh(r){return[].concat(...r)}var Vh=["string","number","bigint","symbol"],Gh=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function vc(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let e=typeof r;if(Vh.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(r))return"Array";if(Kh(r))return"Buffer";let t=Qh(r);return t||"Object"}function Kh(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function Qh(r){let e=Object.prototype.toString.call(r).slice(8,-1);if(Gh.includes(e))return e}var f=class{constructor(e,t,n){this.major=e,this.majorEncoded=e<<5,this.name=t,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};f.uint=new f(0,"uint",!0);f.negint=new f(1,"negint",!0);f.bytes=new f(2,"bytes",!0);f.string=new f(3,"string",!0);f.array=new f(4,"array",!1);f.map=new f(5,"map",!1);f.tag=new f(6,"tag",!1);f.float=new f(7,"float",!0);f.false=new f(7,"false",!0);f.true=new f(7,"true",!0);f.null=new f(7,"null",!0);f.undefined=new f(7,"undefined",!0);f.break=new f(7,"break",!0);var p=class{constructor(e,t,n){this.type=e,this.value=t,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var St=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Xh=new TextDecoder,Jh=new TextEncoder;function hn(r){return St&&globalThis.Buffer.isBuffer(r)}function cr(r){return r instanceof Uint8Array?hn(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Tc=St?(r,e,t)=>t-e>64?globalThis.Buffer.from(r.subarray(e,t)).toString("utf8"):kc(r,e,t):(r,e,t)=>t-e>64?Xh.decode(r.subarray(e,t)):kc(r,e,t),dn=St?r=>r.length>64?globalThis.Buffer.from(r):xc(r):r=>r.length>64?Jh.encode(r):xc(r),ve=r=>Uint8Array.from(r),At=St?(r,e,t)=>hn(r)?new Uint8Array(r.subarray(e,t)):r.slice(e,t):(r,e,t)=>r.slice(e,t),Sc=St?(r,e)=>(r=r.map(t=>t instanceof Uint8Array?t:globalThis.Buffer.from(t)),cr(globalThis.Buffer.concat(r,e))):(r,e)=>{let t=new Uint8Array(e),n=0;for(let i of r)n+i.length>t.length&&(i=i.subarray(0,t.length-n)),t.set(i,n),n+=i.length;return t},Ac=St?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function Bc(r,e){if(hn(r)&&hn(e))return r.compare(e);for(let t=0;t<r.length;t++)if(r[t]!==e[t])return r[t]<e[t]?-1:1;return 0}function xc(r,e=1/0){let t,n=r.length,i=null,o=[];for(let s=0;s<n;++s){if(t=r.charCodeAt(s),t>55295&&t<57344){if(!i){if(t>56319){(e-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=t;continue}if(t<56320){(e-=3)>-1&&o.push(239,191,189),i=t;continue}t=(i-55296<<10|t-56320)+65536}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,t<128){if((e-=1)<0)break;o.push(t)}else if(t<2048){if((e-=2)<0)break;o.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;o.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;o.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return o}function kc(r,e,t){let n=[];for(;e<t;){let i=r[e],o=null,s=i>239?4:i>223?3:i>191?2:1;if(e+s<=t){let a,c,u,l;switch(s){case 1:i<128&&(o=i);break;case 2:a=r[e+1],(a&192)===128&&(l=(i&31)<<6|a&63,l>127&&(o=l));break;case 3:a=r[e+1],c=r[e+2],(a&192)===128&&(c&192)===128&&(l=(i&15)<<12|(a&63)<<6|c&63,l>2047&&(l<55296||l>57343)&&(o=l));break;case 4:a=r[e+1],c=r[e+2],u=r[e+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(l=(i&15)<<18|(a&63)<<12|(c&63)<<6|u&63,l>65535&&l<1114112&&(o=l))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),e+=s}return to(n)}var Ec=4096;function to(r){let e=r.length;if(e<=Ec)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=Ec));return t}var Zh=256,ur=class{constructor(e=Zh){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let t=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let i=t.length-(this.maxCursor-this.cursor)-1;t.set(e,i)}else{if(t){let i=t.length-(this.maxCursor-this.cursor)-1;i<t.length&&(this.chunks[this.chunks.length-1]=t.subarray(0,i),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(t=Ac(this.chunkSize),this.chunks.push(t),this.maxCursor+=t.length,this._initReuseChunk===null&&(this._initReuseChunk=t),t.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let t;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(t=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):t=At(n,0,this.cursor)}else t=Sc(this.chunks,this.cursor);return e&&this.reset(),t}};var w="CBOR decode error:",Bt="CBOR encode error:",lr=[];lr[23]=1;lr[24]=2;lr[25]=3;lr[26]=5;lr[27]=9;function Le(r,e,t){if(r.length-e<t)throw new Error(`${w} not enough data for type`)}var z=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Y(r,e,t){Le(r,e,1);let n=r[e];if(t.strict===!0&&n<z[0])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);return n}function ee(r,e,t){Le(r,e,2);let n=r[e]<<8|r[e+1];if(t.strict===!0&&n<z[1])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);return n}function te(r,e,t){Le(r,e,4);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];if(t.strict===!0&&n<z[2])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);return n}function re(r,e,t){Le(r,e,8);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3],i=r[e+4]*16777216+(r[e+5]<<16)+(r[e+6]<<8)+r[e+7],o=(BigInt(n)<<BigInt(32))+BigInt(i);if(t.strict===!0&&o<z[3])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);if(o<=Number.MAX_SAFE_INTEGER)return Number(o);if(t.allowBigInt===!0)return o;throw new Error(`${w} integers outside of the safe integer range are not supported`)}function Cc(r,e,t,n){return new p(f.uint,Y(r,e+1,n),2)}function Lc(r,e,t,n){return new p(f.uint,ee(r,e+1,n),3)}function Pc(r,e,t,n){return new p(f.uint,te(r,e+1,n),5)}function Nc(r,e,t,n){return new p(f.uint,re(r,e+1,n),9)}function ce(r,e){return W(r,0,e.value)}function W(r,e,t){if(t<z[0]){let n=Number(t);r.push([e|n])}else if(t<z[1]){let n=Number(t);r.push([e|24,n])}else if(t<z[2]){let n=Number(t);r.push([e|25,n>>>8,n&255])}else if(t<z[3]){let n=Number(t);r.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(t);if(n<z[4]){let i=[e|27,0,0,0,0,0,0,0],o=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));i[8]=o&255,o=o>>8,i[7]=o&255,o=o>>8,i[6]=o&255,o=o>>8,i[5]=o&255,i[4]=s&255,s=s>>8,i[3]=s&255,s=s>>8,i[2]=s&255,s=s>>8,i[1]=s&255,r.push(i)}else throw new Error(`${w} encountered BigInt larger than allowable range`)}}ce.encodedSize=function(e){return W.encodedSize(e.value)};W.encodedSize=function(e){return e<z[0]?1:e<z[1]?2:e<z[2]?3:e<z[3]?5:9};ce.compareTokens=function(e,t){return e.value<t.value?-1:e.value>t.value?1:0};function Dc(r,e,t,n){return new p(f.negint,-1-Y(r,e+1,n),2)}function Ic(r,e,t,n){return new p(f.negint,-1-ee(r,e+1,n),3)}function Mc(r,e,t,n){return new p(f.negint,-1-te(r,e+1,n),5)}var ro=BigInt(-1),Uc=BigInt(1);function Fc(r,e,t,n){let i=re(r,e+1,n);if(typeof i!="bigint"){let o=-1-i;if(o>=Number.MIN_SAFE_INTEGER)return new p(f.negint,o,9)}if(n.allowBigInt!==!0)throw new Error(`${w} integers outside of the safe integer range are not supported`);return new p(f.negint,ro-BigInt(i),9)}function pn(r,e){let t=e.value,n=typeof t=="bigint"?t*ro-Uc:t*-1-1;W(r,e.type.majorEncoded,n)}pn.encodedSize=function(e){let t=e.value,n=typeof t=="bigint"?t*ro-Uc:t*-1-1;return n<z[0]?1:n<z[1]?2:n<z[2]?3:n<z[3]?5:9};pn.compareTokens=function(e,t){return e.value<t.value?1:e.value>t.value?-1:0};function fr(r,e,t,n){Le(r,e,t+n);let i=At(r,e+t,e+t+n);return new p(f.bytes,i,t+n)}function Oc(r,e,t,n){return fr(r,e,1,t)}function Rc(r,e,t,n){return fr(r,e,2,Y(r,e+1,n))}function zc(r,e,t,n){return fr(r,e,3,ee(r,e+1,n))}function $c(r,e,t,n){return fr(r,e,5,te(r,e+1,n))}function Wc(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer bytes lengths not supported`);return fr(r,e,9,i)}function mn(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===f.string?dn(r.value):r.value),r.encodedBytes}function Ct(r,e){let t=mn(e);W(r,e.type.majorEncoded,t.length),r.push(t)}Ct.encodedSize=function(e){let t=mn(e);return W.encodedSize(t.length)+t.length};Ct.compareTokens=function(e,t){return ed(mn(e),mn(t))};function ed(r,e){return r.length<e.length?-1:r.length>e.length?1:Bc(r,e)}function hr(r,e,t,n,i){let o=t+n;Le(r,e,o);let s=new p(f.string,Tc(r,e+t,e+o),o);return i.retainStringBytes===!0&&(s.byteValue=At(r,e+t,e+o)),s}function Hc(r,e,t,n){return hr(r,e,1,t,n)}function jc(r,e,t,n){return hr(r,e,2,Y(r,e+1,n),n)}function qc(r,e,t,n){return hr(r,e,3,ee(r,e+1,n),n)}function Vc(r,e,t,n){return hr(r,e,5,te(r,e+1,n),n)}function Gc(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer string lengths not supported`);return hr(r,e,9,i,n)}var Kc=Ct;function Lt(r,e,t,n){return new p(f.array,n,t)}function Qc(r,e,t,n){return Lt(r,e,1,t)}function Xc(r,e,t,n){return Lt(r,e,2,Y(r,e+1,n))}function Jc(r,e,t,n){return Lt(r,e,3,ee(r,e+1,n))}function Zc(r,e,t,n){return Lt(r,e,5,te(r,e+1,n))}function Yc(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer array lengths not supported`);return Lt(r,e,9,i)}function eu(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${w} indefinite length items not allowed`);return Lt(r,e,1,1/0)}function yn(r,e){W(r,f.array.majorEncoded,e.value)}yn.compareTokens=ce.compareTokens;yn.encodedSize=function(e){return W.encodedSize(e.value)};function Pt(r,e,t,n){return new p(f.map,n,t)}function tu(r,e,t,n){return Pt(r,e,1,t)}function ru(r,e,t,n){return Pt(r,e,2,Y(r,e+1,n))}function nu(r,e,t,n){return Pt(r,e,3,ee(r,e+1,n))}function iu(r,e,t,n){return Pt(r,e,5,te(r,e+1,n))}function ou(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer map lengths not supported`);return Pt(r,e,9,i)}function su(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${w} indefinite length items not allowed`);return Pt(r,e,1,1/0)}function gn(r,e){W(r,f.map.majorEncoded,e.value)}gn.compareTokens=ce.compareTokens;gn.encodedSize=function(e){return W.encodedSize(e.value)};function au(r,e,t,n){return new p(f.tag,t,1)}function cu(r,e,t,n){return new p(f.tag,Y(r,e+1,n),2)}function uu(r,e,t,n){return new p(f.tag,ee(r,e+1,n),3)}function lu(r,e,t,n){return new p(f.tag,te(r,e+1,n),5)}function fu(r,e,t,n){return new p(f.tag,re(r,e+1,n),9)}function wn(r,e){W(r,f.tag.majorEncoded,e.value)}wn.compareTokens=ce.compareTokens;wn.encodedSize=function(e){return W.encodedSize(e.value)};var sd=20,ad=21,cd=22,ud=23;function hu(r,e,t,n){if(n.allowUndefined===!1)throw new Error(`${w} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new p(f.null,null,1):new p(f.undefined,void 0,1)}function du(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${w} indefinite length items not allowed`);return new p(f.break,void 0,1)}function no(r,e,t){if(t){if(t.allowNaN===!1&&Number.isNaN(r))throw new Error(`${w} NaN values are not supported`);if(t.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${w} Infinity values are not supported`)}return new p(f.float,r,e)}function pu(r,e,t,n){return no(io(r,e+1),3,n)}function mu(r,e,t,n){return no(oo(r,e+1),5,n)}function yu(r,e,t,n){return no(_u(r,e+1),9,n)}function bn(r,e,t){let n=e.value;if(n===!1)r.push([f.float.majorEncoded|sd]);else if(n===!0)r.push([f.float.majorEncoded|ad]);else if(n===null)r.push([f.float.majorEncoded|cd]);else if(n===void 0)r.push([f.float.majorEncoded|ud]);else{let i,o=!1;(!t||t.float64!==!0)&&(wu(n),i=io(pe,1),n===i||Number.isNaN(n)?(pe[0]=249,r.push(pe.slice(0,3)),o=!0):(bu(n),i=oo(pe,1),n===i&&(pe[0]=250,r.push(pe.slice(0,5)),o=!0))),o||(ld(n),i=_u(pe,1),pe[0]=251,r.push(pe.slice(0,9)))}}bn.encodedSize=function(e,t){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!t||t.float64!==!0){wu(n);let i=io(pe,1);if(n===i||Number.isNaN(n))return 3;if(bu(n),i=oo(pe,1),n===i)return 5}return 9};var gu=new ArrayBuffer(9),ue=new DataView(gu,1),pe=new Uint8Array(gu,0);function wu(r){if(r===1/0)ue.setUint16(0,31744,!1);else if(r===-1/0)ue.setUint16(0,64512,!1);else if(Number.isNaN(r))ue.setUint16(0,32256,!1);else{ue.setFloat32(0,r);let e=ue.getUint32(0),t=(e&2139095040)>>23,n=e&8388607;if(t===255)ue.setUint16(0,31744,!1);else if(t===0)ue.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let i=t-127;i<-24?ue.setUint16(0,0):i<-14?ue.setUint16(0,(e&2147483648)>>16|1<<24+i,!1):ue.setUint16(0,(e&2147483648)>>16|i+15<<10|n>>13,!1)}}}function io(r,e){if(r.length-e<2)throw new Error(`${w} not enough data for float16`);let t=(r[e]<<8)+r[e+1];if(t===31744)return 1/0;if(t===64512)return-1/0;if(t===32256)return NaN;let n=t>>10&31,i=t&1023,o;return n===0?o=i*2**-24:n!==31?o=(i+1024)*2**(n-25):o=i===0?1/0:NaN,t&32768?-o:o}function bu(r){ue.setFloat32(0,r,!1)}function oo(r,e){if(r.length-e<4)throw new Error(`${w} not enough data for float32`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,4).getFloat32(0,!1)}function ld(r){ue.setFloat64(0,r,!1)}function _u(r,e){if(r.length-e<8)throw new Error(`${w} not enough data for float64`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,8).getFloat64(0,!1)}bn.compareTokens=ce.compareTokens;function A(r,e,t){throw new Error(`${w} encountered invalid minor (${t}) for major ${r[e]>>>5}`)}function _n(r){return()=>{throw new Error(`${w} ${r}`)}}var m=[];for(let r=0;r<=23;r++)m[r]=A;m[24]=Cc;m[25]=Lc;m[26]=Pc;m[27]=Nc;m[28]=A;m[29]=A;m[30]=A;m[31]=A;for(let r=32;r<=55;r++)m[r]=A;m[56]=Dc;m[57]=Ic;m[58]=Mc;m[59]=Fc;m[60]=A;m[61]=A;m[62]=A;m[63]=A;for(let r=64;r<=87;r++)m[r]=Oc;m[88]=Rc;m[89]=zc;m[90]=$c;m[91]=Wc;m[92]=A;m[93]=A;m[94]=A;m[95]=_n("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)m[r]=Hc;m[120]=jc;m[121]=qc;m[122]=Vc;m[123]=Gc;m[124]=A;m[125]=A;m[126]=A;m[127]=_n("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)m[r]=Qc;m[152]=Xc;m[153]=Jc;m[154]=Zc;m[155]=Yc;m[156]=A;m[157]=A;m[158]=A;m[159]=eu;for(let r=160;r<=183;r++)m[r]=tu;m[184]=ru;m[185]=nu;m[186]=iu;m[187]=ou;m[188]=A;m[189]=A;m[190]=A;m[191]=su;for(let r=192;r<=215;r++)m[r]=au;m[216]=cu;m[217]=uu;m[218]=lu;m[219]=fu;m[220]=A;m[221]=A;m[222]=A;m[223]=A;for(let r=224;r<=243;r++)m[r]=_n("simple values are not supported");m[244]=A;m[245]=A;m[246]=A;m[247]=hu;m[248]=_n("simple values are not supported");m[249]=pu;m[250]=mu;m[251]=yu;m[252]=A;m[253]=A;m[254]=A;m[255]=du;var me=[];for(let r=0;r<24;r++)me[r]=new p(f.uint,r,1);for(let r=-1;r>=-24;r--)me[31-r]=new p(f.negint,r,1);me[64]=new p(f.bytes,new Uint8Array(0),1);me[96]=new p(f.string,"",1);me[128]=new p(f.array,0,1);me[160]=new p(f.map,0,1);me[244]=new p(f.false,!1,1);me[245]=new p(f.true,!0,1);me[246]=new p(f.null,null,1);function vu(r){switch(r.type){case f.false:return ve([244]);case f.true:return ve([245]);case f.null:return ve([246]);case f.bytes:return r.value.length?void 0:ve([64]);case f.string:return r.value===""?ve([96]):void 0;case f.array:return r.value===0?ve([128]):void 0;case f.map:return r.value===0?ve([160]):void 0;case f.uint:return r.value<24?ve([Number(r.value)]):void 0;case f.negint:if(r.value>=-24)return ve([31-Number(r.value)])}}var hd={float64:!1,mapSorter:md,quickEncodeToken:vu};function dd(){let r=[];return r[f.uint.major]=ce,r[f.negint.major]=pn,r[f.bytes.major]=Ct,r[f.string.major]=Kc,r[f.array.major]=yn,r[f.map.major]=gn,r[f.tag.major]=wn,r[f.float.major]=bn,r}var xu=dd(),so=new ur,Nt=class{constructor(e,t){this.obj=e,this.parent=t}includes(e){let t=this;do if(t.obj===e)return!0;while(t=t.parent);return!1}static createCheck(e,t){if(e&&e.includes(t))throw new Error(`${Bt} object contains circular references`);return new Nt(t,e)}},je={null:new p(f.null,null),undefined:new p(f.undefined,void 0),true:new p(f.true,!0),false:new p(f.false,!1),emptyArray:new p(f.array,0),emptyMap:new p(f.map,0)},qe={number(r,e,t,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new p(f.float,r):r>=0?new p(f.uint,r):new p(f.negint,r)},bigint(r,e,t,n){return r>=BigInt(0)?new p(f.uint,r):new p(f.negint,r)},Uint8Array(r,e,t,n){return new p(f.bytes,r)},string(r,e,t,n){return new p(f.string,r)},boolean(r,e,t,n){return r?je.true:je.false},null(r,e,t,n){return je.null},undefined(r,e,t,n){return je.undefined},ArrayBuffer(r,e,t,n){return new p(f.bytes,new Uint8Array(r))},DataView(r,e,t,n){return new p(f.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,e,t,n){if(!r.length)return t.addBreakTokens===!0?[je.emptyArray,new p(f.break)]:je.emptyArray;n=Nt.createCheck(n,r);let i=[],o=0;for(let s of r)i[o++]=vn(s,t,n);return t.addBreakTokens?[new p(f.array,r.length),i,new p(f.break)]:[new p(f.array,r.length),i]},Object(r,e,t,n){let i=e!=="Object",o=i?r.keys():Object.keys(r),s=i?r.size:o.length;if(!s)return t.addBreakTokens===!0?[je.emptyMap,new p(f.break)]:je.emptyMap;n=Nt.createCheck(n,r);let a=[],c=0;for(let u of o)a[c++]=[vn(u,t,n),vn(i?r.get(u):r[u],t,n)];return pd(a,t),t.addBreakTokens?[new p(f.map,s),a,new p(f.break)]:[new p(f.map,s),a]}};qe.Map=qe.Object;qe.Buffer=qe.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))qe[`${r}Array`]=qe.DataView;function vn(r,e={},t){let n=vc(r),i=e&&e.typeEncoders&&e.typeEncoders[n]||qe[n];if(typeof i=="function"){let s=i(r,n,e,t);if(s!=null)return s}let o=qe[n];if(!o)throw new Error(`${Bt} unsupported type: ${n}`);return o(r,n,e,t)}function pd(r,e){e.mapSorter&&r.sort(e.mapSorter)}function md(r,e){let t=Array.isArray(r[0])?r[0][0]:r[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(t.type!==n.type)return t.type.compare(n.type);let i=t.type.major,o=xu[i].compareTokens(t,n);return o===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),o}function ku(r,e,t,n){if(Array.isArray(e))for(let i of e)ku(r,i,t,n);else t[e.type.major](r,e,n)}function Eu(r,e,t){let n=vn(r,t);if(!Array.isArray(n)&&t.quickEncodeToken){let i=t.quickEncodeToken(n);if(i)return i;let o=e[n.type.major];if(o.encodedSize){let s=o.encodedSize(n,t),a=new ur(s);if(o(a,n,t),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return cr(a.chunks[0])}}return so.reset(),ku(so,n,e,t),so.toBytes(!0)}function xn(r,e){return e=Object.assign({},hd,e),Eu(r,xu,e)}var yd={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},ao=class{constructor(e,t={}){this.pos=0,this.data=e,this.options=t}done(){return this.pos>=this.data.length}next(){let e=this.data[this.pos],t=me[e];if(t===void 0){let n=m[e];if(!n)throw new Error(`${w} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let i=e&31;t=n(this.data,this.pos,i,this.options)}return this.pos+=t.encodedLength,t}},dr=Symbol.for("DONE"),kn=Symbol.for("BREAK");function gd(r,e,t){let n=[];for(let i=0;i<r.value;i++){let o=pr(e,t);if(o===kn){if(r.value===1/0)break;throw new Error(`${w} got unexpected break to lengthed array`)}if(o===dr)throw new Error(`${w} found array but not enough entries (got ${i}, expected ${r.value})`);n[i]=o}return n}function wd(r,e,t){let n=t.useMaps===!0,i=n?void 0:{},o=n?new Map:void 0;for(let s=0;s<r.value;s++){let a=pr(e,t);if(a===kn){if(r.value===1/0)break;throw new Error(`${w} got unexpected break to lengthed map`)}if(a===dr)throw new Error(`${w} found map but not enough entries (got ${s} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${w} non-string keys not supported (got ${typeof a})`);if(t.rejectDuplicateMapKeys===!0&&(n&&o.has(a)||!n&&a in i))throw new Error(`${w} found repeat map key "${a}"`);let c=pr(e,t);if(c===dr)throw new Error(`${w} found map but not enough entries (got ${s} [no value], expected ${r.value})`);n?o.set(a,c):i[a]=c}return n?o:i}function pr(r,e){if(r.done())return dr;let t=r.next();if(t.type===f.break)return kn;if(t.type.terminal)return t.value;if(t.type===f.array)return gd(t,r,e);if(t.type===f.map)return wd(t,r,e);if(t.type===f.tag){if(e.tags&&typeof e.tags[t.value]=="function"){let n=pr(r,e);return e.tags[t.value](n)}throw new Error(`${w} tag not supported (${t.value})`)}throw new Error("unsupported")}function Pe(r,e){if(!(r instanceof Uint8Array))throw new Error(`${w} data to decode must be a Uint8Array`);e=Object.assign({},yd,e);let t=e.tokenizer||new ao(r,e),n=pr(t,e);if(n===dr)throw new Error(`${w} did not find any content to decode`);if(n===kn)throw new Error(`${w} got unexpected break`);if(!t.done())throw new Error(`${w} too many terminals, data makes no sense`);return n}function co(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var bd=new TextDecoder;function uo(r,e){let t=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=r.length)throw new Error("protobuf: unexpected end of data");let i=r[e++];if(t+=n<28?(i&127)<<n:(i&127)*2**n,i<128)break}return[t,e]}function En(r,e){let t;[t,e]=uo(r,e);let n=e+t;if(t<0||n<0)throw new Error("protobuf: invalid length");if(n>r.length)throw new Error("protobuf: unexpected end of data");return[r.subarray(e,n),n]}function Su(r,e){let t;return[t,e]=uo(r,e),[t&7,t>>3,e]}function _d(r){let e={},t=r.length,n=0;for(;n<t;){let i,o;if([i,o,n]=Su(r,n),o===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(i!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Hash`);if(e.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[e.Hash,n]=En(r,n)}else if(o===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(i!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let s;[s,n]=En(r,n),e.Name=bd.decode(s)}else if(o===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(i!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Tsize`);[e.Tsize,n]=uo(r,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${o}`)}if(n>t)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function Au(r){let e=r.length,t=0,n,i=!1,o;for(;t<e;){let a,c;if([a,c,t]=Su(r,t),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(c===1){if(o)throw new Error("protobuf: (PBNode) duplicate Data section");[o,t]=En(r,t),n&&(i=!0)}else if(c===2){if(i)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let u;[u,t]=En(r,t),n.push(_d(u))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${c}`)}if(t>e)throw new Error("protobuf: (PBNode) unexpected end of data");let s={};return o&&(s.Data=o),s.Links=n||[],s}var Bb=new TextEncoder,Cb=2**32,Lb=2**31;var Db=new TextEncoder;var Bu=112;function Cu(r){let e=Au(r),t={};return e.Data&&(t.Data=e.Data),e.Links&&(t.Links=e.Links.map(n=>{let i={};try{i.Hash=v.decode(n.Hash)}catch{}if(!i.Hash)throw new Error("Invalid Hash field found in link, expected CID");return n.Name!==void 0&&(i.Name=n.Name),n.Tsize!==void 0&&(i.Tsize=n.Tsize),i})),t}var Lu=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let t=this.inRecursive[this.inRecursive.length-1];t&&(t.type===f.array&&(t.elements++,t.elements!==1&&e.push([44])),t.type===f.map&&(t.elements++,t.elements!==1&&(t.elements%2===1?e.push([44]):e.push([58]))))}[f.uint.major](e,t){this.prefix(e);let n=String(t.value),i=[];for(let o=0;o<n.length;o++)i[o]=n.charCodeAt(o);e.push(i)}[f.negint.major](e,t){this[f.uint.major](e,t)}[f.bytes.major](e,t){throw new Error(`${Bt} unsupported type: Uint8Array`)}[f.string.major](e,t){this.prefix(e);let n=dn(JSON.stringify(t.value));e.push(n.length>32?cr(n):n)}[f.array.major](e,t){this.prefix(e),this.inRecursive.push({type:f.array,elements:0}),e.push([91])}[f.map.major](e,t){this.prefix(e),this.inRecursive.push({type:f.map,elements:0}),e.push([123])}[f.tag.major](e,t){}[f.float.major](e,t){if(t.type.name==="break"){let s=this.inRecursive.pop();if(s){if(s.type===f.array)e.push([93]);else if(s.type===f.map)e.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(t.value===void 0)throw new Error(`${Bt} unsupported type: undefined`);if(this.prefix(e),t.type.name==="true"){e.push([116,114,117,101]);return}else if(t.type.name==="false"){e.push([102,97,108,115,101]);return}else if(t.type.name==="null"){e.push([110,117,108,108]);return}let n=String(t.value),i=[],o=!1;for(let s=0;s<n.length;s++)i[s]=n.charCodeAt(s),!o&&(i[s]===46||i[s]===101||i[s]===69)&&(o=!0);o||(i.push(46),i.push(48)),e.push(i)}};var Dt=class{constructor(e,t={}){this.pos=0,this.data=e,this.options=t,this.modeStack=["value"],this.lastToken=""}done(){return this.pos>=this.data.length}ch(){return this.data[this.pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let e=this.ch();for(;e===32||e===9||e===13||e===10;)e=this.data[++this.pos]}expect(e){if(this.data.length-this.pos<e.length)throw new Error(`${w} unexpected end of input at position ${this.pos}`);for(let t=0;t<e.length;t++)if(this.data[this.pos++]!==e[t])throw new Error(`${w} unexpected token at position ${this.pos}, expected to find '${String.fromCharCode(...e)}'`)}parseNumber(){let e=this.pos,t=!1,n=!1,i=a=>{for(;!this.done();){let c=this.ch();if(a.includes(c))this.pos++;else break}};if(this.ch()===45&&(t=!0,this.pos++),this.ch()===48)if(this.pos++,this.ch()===46)this.pos++,n=!0;else return new p(f.uint,0,this.pos-e);if(i([48,49,50,51,52,53,54,55,56,57]),t&&this.pos===e+1)throw new Error(`${w} unexpected token at position ${this.pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${w} unexpected token at position ${this.pos}`);n=!0,this.pos++,i([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this.pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this.pos++,i([48,49,50,51,52,53,54,55,56,57]));let o=String.fromCharCode.apply(null,this.data.subarray(e,this.pos)),s=parseFloat(o);return n?new p(f.float,s,this.pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(s)?new p(s>=0?f.uint:f.negint,s,this.pos-e):new p(s>=0?f.uint:f.negint,BigInt(o),this.pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${w} unexpected character at position ${this.pos}; this shouldn't happen`);this.pos++;for(let o=this.pos,s=0;o<this.data.length&&s<65536;o++,s++){let a=this.data[o];if(a===92||a<32||a>=128)break;if(a===34){let c=String.fromCharCode.apply(null,this.data.subarray(this.pos,o));return this.pos=o+1,new p(f.string,c,s)}}let e=this.pos,t=[],n=()=>{if(this.pos+4>=this.data.length)throw new Error(`${w} unexpected end of unicode escape sequence at position ${this.pos}`);let o=0;for(let s=0;s<4;s++){let a=this.ch();if(a>=48&&a<=57)a-=48;else if(a>=97&&a<=102)a=a-97+10;else if(a>=65&&a<=70)a=a-65+10;else throw new Error(`${w} unexpected unicode escape character at position ${this.pos}`);o=o*16+a,this.pos++}return o},i=()=>{let o=this.ch(),s=null,a=o>239?4:o>223?3:o>191?2:1;if(this.pos+a>this.data.length)throw new Error(`${w} unexpected unicode sequence at position ${this.pos}`);let c,u,l,h;switch(a){case 1:o<128&&(s=o);break;case 2:c=this.data[this.pos+1],(c&192)===128&&(h=(o&31)<<6|c&63,h>127&&(s=h));break;case 3:c=this.data[this.pos+1],u=this.data[this.pos+2],(c&192)===128&&(u&192)===128&&(h=(o&15)<<12|(c&63)<<6|u&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:c=this.data[this.pos+1],u=this.data[this.pos+2],l=this.data[this.pos+3],(c&192)===128&&(u&192)===128&&(l&192)===128&&(h=(o&15)<<18|(c&63)<<12|(u&63)<<6|l&63,h>65535&&h<1114112&&(s=h))}s===null?(s=65533,a=1):s>65535&&(s-=65536,t.push(s>>>10&1023|55296),s=56320|s&1023),t.push(s),this.pos+=a};for(;!this.done();){let o=this.ch(),s;switch(o){case 92:if(this.pos++,this.done())throw new Error(`${w} unexpected string termination at position ${this.pos}`);switch(s=this.ch(),this.pos++,s){case 34:case 39:case 92:case 47:t.push(s);break;case 98:t.push(8);break;case 116:t.push(9);break;case 110:t.push(10);break;case 102:t.push(12);break;case 114:t.push(13);break;case 117:t.push(n());break;default:throw new Error(`${w} unexpected string escape character at position ${this.pos}`)}break;case 34:return this.pos++,new p(f.string,to(t),this.pos-e);default:if(o<32)throw new Error(`${w} invalid control character at position ${this.pos}`);o<128?(t.push(o),this.pos++):i()}}throw new Error(`${w} unexpected end of string at position ${this.pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this.pos++,new p(f.map,1/0,1);case 91:return this.modeStack.push("array-start"),this.pos++,new p(f.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new p(f.null,null,4);case 102:return this.expect([102,97,108,115,101]),new p(f.false,!1,5);case 116:return this.expect([116,114,117,101]),new p(f.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${w} unexpected character at position ${this.pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this.pos++,this.skipWhitespace(),new p(f.break,void 0,1);if(this.ch()!==44)throw new Error(`${w} unexpected character at position ${this.pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this.pos++,this.skipWhitespace(),new p(f.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this.pos++,this.skipWhitespace(),new p(f.break,void 0,1);if(this.ch()!==44)throw new Error(`${w} unexpected character at position ${this.pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this.pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this.pos++,this.skipWhitespace(),new p(f.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${w} unexpected character at position ${this.pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("obj-value"),e}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${w} unexpected parse state at position ${this.pos}; this shouldn't happen`)}}};function lo(r,e){return e=Object.assign({tokenizer:new Dt(r,e)},e),Pe(r,e)}var Pu={codec:Bu,async*walk(r){yield*Cu(r).Links.map(t=>t.Hash)}},Nu={codec:Xt,async*walk(){}},Du=42,Iu={codec:113,async*walk(r){let e=[],t=[];t[Du]=n=>{if(n[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");let i=v.decode(n.subarray(1));return e.push(i),i},Pe(r,{tags:t}),yield*e}},fo=class extends Dt{constructor(e,t){super(e,t),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let e=this._next();if(e.type===f.map){let t=this._next();if(t.type===f.string&&t.value==="/"){let n=this._next();if(n.type===f.string){if(this._next().type!==f.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new p(f.tag,42,0)}if(n.type===f.map){let i=this._next();if(i.type===f.string&&i.value==="bytes"){let o=this._next();if(o.type===f.string){for(let a=0;a<2;a++)if(this._next().type!==f.break)throw new Error("Invalid encoded Bytes form");let s=$t.decode(`m${o.value}`);return new p(f.bytes,s,o.value.length)}this.tokenBuffer.push(o)}this.tokenBuffer.push(i)}this.tokenBuffer.push(n)}this.tokenBuffer.push(t)}return e}},Mu={codec:297,async*walk(r){let e=[],t=[];t[Du]=n=>{let i=v.parse(n);return e.push(i),i},lo(r,{tags:t,tokenizer:new fo(r,{tags:t,allowIndefinite:!0,allowUndefined:!0,allowNaN:!0,allowInfinity:!0,allowBigInt:!0,strict:!1,rejectDuplicateMapKeys:!1})}),yield*e}};var Tn=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},It,ho,Uu,kd=[Nu,Pu,Iu,Mu],Ru="/pin/",zu="/pinned-block/",po=Qt,Fu=1;function Ou(r){return r.version===0&&(r=r.toV1()),new C(`${Ru}${r.toString(po)}`)}var Sn=class{constructor(e,t,n){It.add(this),this.datastore=e,this.blockstore=t,this.dagWalkers={},[...kd,...n].forEach(i=>{this.dagWalkers[i.codec]=i})}async add(e,t={}){let n=Ou(e);if(await this.datastore.has(n))throw new Error("Already pinned");let i=Math.round(t.depth??1/0);if(i<0)throw new Error("Depth must be greater than or equal to 0");let o=new Be({concurrency:Fu});o.add(async()=>{await Tn(this,It,"m",ho).call(this,e,o,c=>{c.pinnedBy.find(u=>Qe(u,e.bytes))==null&&(c.pinCount++,c.pinnedBy.push(e.bytes))},{...t,depth:i})});let s=co();o.on("error",c=>{o.clear(),s.reject(c)}),await Promise.race([o.onIdle(),s.promise]);let a={depth:i,metadata:t.metadata??{}};return await this.datastore.put(n,xn(a),t),{cid:e,...a}}async rm(e,t={}){let n=Ou(e),i=await this.datastore.get(n,t),o=Pe(i);await this.datastore.delete(n,t);let s=new Be({concurrency:Fu});return s.add(async()=>{await Tn(this,It,"m",ho).call(this,e,s,a=>{a.pinCount--,a.pinnedBy=a.pinnedBy.filter(c=>Qe(c,e.bytes))},{...t,depth:o.depth})}),await s.onIdle(),{cid:e,...o}}async*ls(e={}){for await(let{key:t,value:n}of this.datastore.query({prefix:Ru+(e.cid!=null?`${e.cid.toString(Qt)}`:"")},e)){let i=v.parse(t.toString().substring(5),Qt),o=Pe(n);yield{cid:i,...o}}}async isPinned(e,t={}){let n=new C(`${zu}${po.encode(e.multihash.bytes)}`);return await this.datastore.has(n,t)}};It=new WeakSet,ho=async function r(e,t,n,i){if(i.depth===-1)return;let o=this.dagWalkers[e.code];if(o==null)throw new Error(`No dag walker found for cid codec ${e.code}`);let s=await this.blockstore.get(e);await Tn(this,It,"m",Uu).call(this,e,n,i);for await(let a of o.walk(s))t.add(async()=>{await Tn(this,It,"m",r).call(this,a,t,n,{...i,depth:i.depth-1})})},Uu=async function(e,t,n){let i=new C(`${zu}${po.encode(e.multihash.bytes)}`),o={pinCount:0,pinnedBy:[]};try{o=Pe(await this.datastore.get(i,n))}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(t(o),o.pinCount===0&&await this.datastore.has(i)){await this.datastore.delete(i);return}await this.datastore.put(i,xn(o),n)};var mo=new C("/version"),$u=1;async function Wu(r){if(!await r.has(mo)){await r.put(mo,ln(`${$u}`));return}let e=await r.get(mo),t=st(e);if(parseInt(t,10)!==$u)throw new Error("Unknown datastore version, a datastore migration may be required")}var mr=class extends Event{constructor(e,t){super(e),this.detail=t}};var Hu=F(Ur(),1);function An(r){return r=r||new Error("Not Found"),(0,Hu.default)(r,"ERR_NOT_FOUND")}var ju="SHARDING",qu="_README";var Bn=(r,e)=>async function*(){yield*(await Zt(r)).sort(e)}();var Ne=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(e,t,n){return Promise.reject(new Error(".put is not implemented"))}get(e,t){return Promise.reject(new Error(".get is not implemented"))}has(e,t){return Promise.reject(new Error(".has is not implemented"))}delete(e,t){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,t={}){for await(let{key:n,value:i}of e)await this.put(n,i,t),yield{key:n,value:i}}async*getMany(e,t={}){for await(let n of e)yield this.get(n,t)}async*deleteMany(e,t={}){for await(let n of e)await this.delete(n,t),yield n}batch(){let e=[],t=[];return{put(n,i){e.push({key:n,value:i})},delete(n){t.push(n)},commit:async n=>{await _e(this.putMany(e,n)),e=[],await _e(this.deleteMany(t,n)),t=[]}}}async*_all(e,t){throw new Error("._all is not implemented")}async*_allKeys(e,t){throw new Error("._allKeys is not implemented")}query(e,t){let n=this._all(e,t);if(e.prefix!=null&&(n=R(n,i=>i.key.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>R(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Bn(i,o),n)),e.offset!=null){let i=0;n=R(n,()=>i++>=e.offset)}return e.limit!=null&&(n=Re(n,e.limit)),n}queryKeys(e,t){let n=this._allKeys(e,t);if(e.prefix!=null&&(n=R(n,i=>i.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>R(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Bn(i,o),n)),e.offset!=null){let i=0;n=R(n,()=>i++>=e.offset)}return e.limit!=null&&(n=Re(n,e.limit)),n}};var gr=class extends Ne{constructor(){super(),this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(e,t){this.data[e.toString()]=t}async get(e){if(!await this.has(e))throw An();return this.data[e.toString()]}async has(e){return this.data[e.toString()]!==void 0}async delete(e){delete this.data[e.toString()]}async*_all(){yield*Object.entries(this.data).map(([e,t])=>({key:new C(e),value:t}))}async*_allKeys(){yield*Object.entries(this.data).map(([e])=>new C(e))}};var V0=new C(ju),G0=new C(qu);var o1=bt("datastore:core:tiered");var Cd=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},yo=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Mt,go=bt("helia"),Cn=class{constructor(e){Mt.set(this,void 0);let t=[Ge,Mn,Pn,...e.hashers??[]],n=e.datastore??new gr,i=e.blockstore??new Yt,o=e.libp2p??new Proxy({},{get(s,a){let c=()=>{};if(["start","stop"].includes(a.toString()))return c;if(a==="isProxy")return!0;throw new Error("Please configure Helia with a libp2p instance")},set(){throw new Error("Please configure Helia with a libp2p instance")}});this.pins=new Sn(n,i,e.dagWalkers??[]),e.libp2p!=null&&Cd(this,Mt,tc(o,i,{hashLoader:{getHasher:async s=>{let a=t.find(c=>c.code===s||c.name===s);if(a!=null)return await Promise.resolve(a);throw new Error(`Could not load hasher for code/name "${s}"`)}}}),"f"),this.libp2p=o,this.blockstore=new un(i,this.pins,yo(this,Mt,"f")),this.datastore=n}async start(){await Wu(this.datastore),yo(this,Mt,"f")?.start(),await this.libp2p.start()}async stop(){yo(this,Mt,"f")?.stop(),await this.libp2p.stop()}async gc(e={}){let t=await this.blockstore.lock.writeLock();try{let n=this,i=this.blockstore.unwrap();go("gc start"),await _e(i.deleteMany(async function*(){for await(let o of i.queryKeys({}))try{if(await n.pins.isPinned(o,e))continue;yield o,e.onProgress?.(new mr("helia:gc:deleted",o))}catch(s){go.error("Error during gc",s),e.onProgress?.(new mr("helia:gc:error",s))}}()))}finally{t()}go("gc finished")}};Mt=new WeakMap;async function Ld(r={}){let e=new Cn(r);return r.start!==!1&&await e.start(),e}return Zu(Pd);})();
2
+ "use strict";var Helia=(()=>{var Gu=Object.create;var yr=Object.defineProperty;var Qu=Object.getOwnPropertyDescriptor;var Ku=Object.getOwnPropertyNames;var Xu=Object.getPrototypeOf,Ju=Object.prototype.hasOwnProperty;var T=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),V=(r,e)=>{for(var t in e)yr(r,t,{get:e[t],enumerable:!0})},_o=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ku(e))!Ju.call(r,i)&&i!==t&&yr(r,i,{get:()=>e[i],enumerable:!(n=Qu(e,i))||n.enumerable});return r};var O=(r,e,t)=>(t=r!=null?Gu(Xu(r)):{},_o(e||!r||!r.__esModule?yr(t,"default",{value:r,enumerable:!0}):t,r)),Zu=r=>_o(yr({},"__esModule",{value:!0}),r);var $o=T((Yd,zo)=>{zo.exports=Ro;var Oo=128,Ol=127,Rl=~Ol,zl=Math.pow(2,31);function Ro(r,e,t){e=e||[],t=t||0;for(var n=t;r>=zl;)e[t++]=r&255|Oo,r/=128;for(;r&Rl;)e[t++]=r&255|Oo,r>>>=7;return e[t]=r|0,Ro.bytes=t-n+1,e}});var qo=T((ep,Ho)=>{Ho.exports=jn;var $l=128,Wo=127;function jn(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw jn.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&Wo)<<i:(s&Wo)*Math.pow(2,i),i+=7}while(s>=$l);return jn.bytes=o-n,t}});var jo=T((tp,Vo)=>{var Wl=Math.pow(2,7),Hl=Math.pow(2,14),ql=Math.pow(2,21),Vl=Math.pow(2,28),jl=Math.pow(2,35),Gl=Math.pow(2,42),Ql=Math.pow(2,49),Kl=Math.pow(2,56),Xl=Math.pow(2,63);Vo.exports=function(r){return r<Wl?1:r<Hl?2:r<ql?3:r<Vl?4:r<jl?5:r<Gl?6:r<Ql?7:r<Kl?8:r<Xl?9:10}});var Qo=T((rp,Go)=>{Go.exports={encode:$o(),decode:qo(),encodingLength:jo()}});var Jo=T((np,Xo)=>{"use strict";var Ko=Qo();Xo.exports=r=>{if(!(r instanceof Uint8Array))throw new Error("arg needs to be a Uint8Array");let e=[];for(;r.length>0;){let t=Ko.decode(r);e.push(t),r=r.slice(Ko.decode.bytes)}return e}});var es=T((ip,Yo)=>{Yo.exports=Gn;var Zo=128,Jl=127,Zl=~Jl,Yl=Math.pow(2,31);function Gn(r,e,t){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw Gn.bytes=0,new RangeError("Could not encode varint");e=e||[],t=t||0;for(var n=t;r>=Yl;)e[t++]=r&255|Zo,r/=128;for(;r&Zl;)e[t++]=r&255|Zo,r>>>=7;return e[t]=r|0,Gn.bytes=t-n+1,e}});var ns=T((op,rs)=>{rs.exports=Qn;var ef=128,ts=127;function Qn(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a||i>49)throw Qn.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&ts)<<i:(s&ts)*Math.pow(2,i),i+=7}while(s>=ef);return Qn.bytes=o-n,t}});var os=T((sp,is)=>{var tf=Math.pow(2,7),rf=Math.pow(2,14),nf=Math.pow(2,21),of=Math.pow(2,28),sf=Math.pow(2,35),af=Math.pow(2,42),cf=Math.pow(2,49),uf=Math.pow(2,56),lf=Math.pow(2,63);is.exports=function(r){return r<tf?1:r<rf?2:r<nf?3:r<of?4:r<sf?5:r<af?6:r<cf?7:r<uf?8:r<lf?9:10}});var as=T((ap,ss)=>{ss.exports={encode:es(),decode:ns(),encodingLength:os()}});var ls=T((up,us)=>{var yt=1e3,gt=yt*60,wt=gt*60,Ge=wt*24,hf=Ge*7,df=Ge*365.25;us.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return pf(r);if(t==="number"&&isFinite(r))return e.long?yf(r):mf(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function pf(r){if(r=String(r),!(r.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(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*df;case"weeks":case"week":case"w":return t*hf;case"days":case"day":case"d":return t*Ge;case"hours":case"hour":case"hrs":case"hr":case"h":return t*wt;case"minutes":case"minute":case"mins":case"min":case"m":return t*gt;case"seconds":case"second":case"secs":case"sec":case"s":return t*yt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function mf(r){var e=Math.abs(r);return e>=Ge?Math.round(r/Ge)+"d":e>=wt?Math.round(r/wt)+"h":e>=gt?Math.round(r/gt)+"m":e>=yt?Math.round(r/yt)+"s":r+"ms"}function yf(r){var e=Math.abs(r);return e>=Ge?br(r,e,Ge,"day"):e>=wt?br(r,e,wt,"hour"):e>=gt?br(r,e,gt,"minute"):e>=yt?br(r,e,yt,"second"):r+" ms"}function br(r,e,t,n){var i=e>=t*1.5;return Math.round(r/t)+" "+n+(i?"s":"")}});var hs=T((lp,fs)=>{function gf(r){t.debug=t,t.default=t,t.coerce=c,t.disable=o,t.enable=i,t.enabled=s,t.humanize=ls(),t.destroy=u,Object.keys(r).forEach(l=>{t[l]=r[l]}),t.names=[],t.skips=[],t.formatters={};function e(l){let h=0;for(let d=0;d<l.length;d++)h=(h<<5)-h+l.charCodeAt(d),h|=0;return t.colors[Math.abs(h)%t.colors.length]}t.selectColor=e;function t(l){let h,d=null,v,y;function g(...k){if(!g.enabled)return;let N=g,U=Number(new Date),ne=U-(h||U);N.diff=ne,N.prev=h,N.curr=U,h=U,k[0]=t.coerce(k[0]),typeof k[0]!="string"&&k.unshift("%O");let $=0;k[0]=k[0].replace(/%([a-zA-Z%])/g,(ie,Q)=>{if(ie==="%%")return"%";$++;let oe=t.formatters[Q];if(typeof oe=="function"){let lt=k[$];ie=oe.call(N,lt),k.splice($,1),$--}return ie}),t.formatArgs.call(N,k),(N.log||t.log).apply(N,k)}return g.namespace=l,g.useColors=t.useColors(),g.color=t.selectColor(l),g.extend=n,g.destroy=t.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(v!==t.namespaces&&(v=t.namespaces,y=t.enabled(l)),y),set:k=>{d=k}}),typeof t.init=="function"&&t.init(g),g}function n(l,h){let d=t(this.namespace+(typeof h>"u"?":":h)+l);return d.log=this.log,d}function i(l){t.save(l),t.namespaces=l,t.names=[],t.skips=[];let h,d=(typeof l=="string"?l:"").split(/[\s,]+/),v=d.length;for(h=0;h<v;h++)d[h]&&(l=d[h].replace(/\*/g,".*?"),l[0]==="-"?t.skips.push(new RegExp("^"+l.slice(1)+"$")):t.names.push(new RegExp("^"+l+"$")))}function o(){let l=[...t.names.map(a),...t.skips.map(a).map(h=>"-"+h)].join(",");return t.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let h,d;for(h=0,d=t.skips.length;h<d;h++)if(t.skips[h].test(l))return!1;for(h=0,d=t.names.length;h<d;h++)if(t.names[h].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){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 t.enable(t.load()),t}fs.exports=gf});var ds=T((K,_r)=>{K.formatArgs=bf;K.save=_f;K.load=vf;K.useColors=wf;K.storage=xf();K.destroy=(()=>{let r=!1;return()=>{r||(r=!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`."))}})();K.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 wf(){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 bf(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+_r.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(n=t))}),r.splice(n,0,e)}K.log=console.debug||console.log||(()=>{});function _f(r){try{r?K.storage.setItem("debug",r):K.storage.removeItem("debug")}catch{}}function vf(){let r;try{r=K.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function xf(){try{return localStorage}catch{}}_r.exports=hs()(K);var{formatters:kf}=_r.exports;kf.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ms=T((Sp,ps)=>{"use strict";ps.exports=Af;function Af(r,e){for(var t=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)t[n++]=arguments[i++];return new Promise(function(a,c){t[n]=function(l){if(o)if(o=!1,l)c(l);else{for(var h=new Array(arguments.length-1),d=0;d<h.length;)h[d++]=arguments[d];a.apply(null,h)}};try{r.apply(e||null,t)}catch(u){o&&(o=!1,c(u))}})}});var bs=T(ws=>{"use strict";var xr=ws;xr.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&e.charAt(t)==="=";)++n;return Math.ceil(e.length*3)/4-n};var _t=new Array(64),gs=new Array(123);for(fe=0;fe<64;)gs[_t[fe]=fe<26?fe+65:fe<52?fe+71:fe<62?fe-4:fe-59|43]=fe++;var fe;xr.encode=function(e,t,n){for(var i=null,o=[],s=0,a=0,c;t<n;){var u=e[t++];switch(a){case 0:o[s++]=_t[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=_t[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=_t[c|u>>6],o[s++]=_t[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=_t[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var ys="invalid encoding";xr.decode=function(e,t,n){for(var i=n,o=0,s,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&o>1)break;if((c=gs[c])===void 0)throw Error(ys);switch(o){case 0:s=c,o=1;break;case 1:t[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:t[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:t[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(ys);return n-i};xr.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var vs=T((Bp,_s)=>{"use strict";_s.exports=kr;function kr(){this._listeners={}}kr.prototype.on=function(e,t,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:n||this}),this};kr.prototype.off=function(e,t){if(e===void 0)this._listeners={};else if(t===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===t?n.splice(i,1):++i;return this};kr.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<t.length;)t[i].fn.apply(t[i++].ctx,n)}return this}});var Bs=T((Cp,As)=>{"use strict";As.exports=xs(xs);function xs(r){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),t=new Uint8Array(e.buffer),n=t[3]===128;function i(c,u,l){e[0]=c,u[l]=t[0],u[l+1]=t[1],u[l+2]=t[2],u[l+3]=t[3]}function o(c,u,l){e[0]=c,u[l]=t[3],u[l+1]=t[2],u[l+2]=t[1],u[l+3]=t[0]}r.writeFloatLE=n?i:o,r.writeFloatBE=n?o:i;function s(c,u){return t[0]=c[u],t[1]=c[u+1],t[2]=c[u+2],t[3]=c[u+3],e[0]}function a(c,u){return t[3]=c[u],t[2]=c[u+1],t[1]=c[u+2],t[0]=c[u+3],e[0]}r.readFloatLE=n?s:a,r.readFloatBE=n?a:s}():function(){function e(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}r.writeFloatLE=e.bind(null,ks),r.writeFloatBE=e.bind(null,Es);function t(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}r.readFloatLE=t.bind(null,Ts),r.readFloatBE=t.bind(null,Ss)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),t=new Uint8Array(e.buffer),n=t[7]===128;function i(c,u,l){e[0]=c,u[l]=t[0],u[l+1]=t[1],u[l+2]=t[2],u[l+3]=t[3],u[l+4]=t[4],u[l+5]=t[5],u[l+6]=t[6],u[l+7]=t[7]}function o(c,u,l){e[0]=c,u[l]=t[7],u[l+1]=t[6],u[l+2]=t[5],u[l+3]=t[4],u[l+4]=t[3],u[l+5]=t[2],u[l+6]=t[1],u[l+7]=t[0]}r.writeDoubleLE=n?i:o,r.writeDoubleBE=n?o:i;function s(c,u){return t[0]=c[u],t[1]=c[u+1],t[2]=c[u+2],t[3]=c[u+3],t[4]=c[u+4],t[5]=c[u+5],t[6]=c[u+6],t[7]=c[u+7],e[0]}function a(c,u){return t[7]=c[u],t[6]=c[u+1],t[5]=c[u+2],t[4]=c[u+3],t[3]=c[u+4],t[2]=c[u+5],t[1]=c[u+6],t[0]=c[u+7],e[0]}r.readDoubleLE=n?s:a,r.readDoubleBE=n?a:s}():function(){function e(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+o);else{var h=Math.floor(Math.log(s)/Math.LN2);h===1024&&(h=1023),l=s*Math.pow(2,-h),n(l*4503599627370496>>>0,a,c+i),n((u<<31|h+1023<<20|l*1048576&1048575)>>>0,a,c+o)}}}r.writeDoubleLE=e.bind(null,ks,0,4),r.writeDoubleBE=e.bind(null,Es,4,0);function t(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),l=(u>>31)*2+1,h=u>>>20&2047,d=4294967296*(u&1048575)+c;return h===2047?d?NaN:l*(1/0):h===0?l*5e-324*d:l*Math.pow(2,h-1075)*(d+4503599627370496)}r.readDoubleLE=t.bind(null,Ts,0,4),r.readDoubleBE=t.bind(null,Ss,4,0)}(),r}function ks(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function Es(r,e,t){e[t]=r>>>24,e[t+1]=r>>>16&255,e[t+2]=r>>>8&255,e[t+3]=r&255}function Ts(r,e){return(r[e]|r[e+1]<<8|r[e+2]<<16|r[e+3]<<24)>>>0}function Ss(r,e){return(r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3])>>>0}});var Cs=T((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(r){}return null}});var Ps=T(Ls=>{"use strict";var Xn=Ls;Xn.length=function(e){for(var t=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?t+=1:n<2048?t+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,t+=4):t+=3;return t};Xn.read=function(e,t,n){var i=n-t;if(i<1)return"";for(var o=null,s=[],a=0,c;t<n;)c=e[t++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|e[t++]&63:c>239&&c<365?(c=((c&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(e[t++]&63)<<6|e[t++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};Xn.write=function(e,t,n){for(var i=n,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?t[n++]=o:o<2048?(t[n++]=o>>6|192,t[n++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,t[n++]=o>>18|240,t[n++]=o>>12&63|128,t[n++]=o>>6&63|128,t[n++]=o&63|128):(t[n++]=o>>12|224,t[n++]=o>>6&63|128,t[n++]=o&63|128);return n-i}});var Ds=T((Pp,Ns)=>{"use strict";Ns.exports=Bf;function Bf(r,e,t){var n=t||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return r(c);s+c>n&&(o=r(n),s=0);var u=e.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var Ms=T((Np,Is)=>{"use strict";Is.exports=R;var zt=Je();function R(r,e){this.lo=r>>>0,this.hi=e>>>0}var Xe=R.zero=new R(0,0);Xe.toNumber=function(){return 0};Xe.zzEncode=Xe.zzDecode=function(){return this};Xe.length=function(){return 1};var Cf=R.zeroHash="\0\0\0\0\0\0\0\0";R.fromNumber=function(e){if(e===0)return Xe;var t=e<0;t&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new R(n,i)};R.from=function(e){if(typeof e=="number")return R.fromNumber(e);if(zt.isString(e))if(zt.Long)e=zt.Long.fromString(e);else return R.fromNumber(parseInt(e,10));return e.low||e.high?new R(e.low>>>0,e.high>>>0):Xe};R.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=~this.lo+1>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296};R.prototype.toLong=function(e){return zt.Long?new zt.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Fe=String.prototype.charCodeAt;R.fromHash=function(e){return e===Cf?Xe:new R((Fe.call(e,0)|Fe.call(e,1)<<8|Fe.call(e,2)<<16|Fe.call(e,3)<<24)>>>0,(Fe.call(e,4)|Fe.call(e,5)<<8|Fe.call(e,6)<<16|Fe.call(e,7)<<24)>>>0)};R.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};R.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};R.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};R.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}});var Je=T(Jn=>{"use strict";var _=Jn;_.asPromise=ms();_.base64=bs();_.EventEmitter=vs();_.float=Bs();_.inquire=Cs();_.utf8=Ps();_.pool=Ds();_.LongBits=Ms();_.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);_.global=_.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Jn;_.emptyArray=Object.freeze?Object.freeze([]):[];_.emptyObject=Object.freeze?Object.freeze({}):{};_.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};_.isString=function(e){return typeof e=="string"||e instanceof String};_.isObject=function(e){return e&&typeof e=="object"};_.isset=_.isSet=function(e,t){var n=e[t];return n!=null&&e.hasOwnProperty(t)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};_.Buffer=function(){try{var r=_.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}();_._Buffer_from=null;_._Buffer_allocUnsafe=null;_.newBuffer=function(e){return typeof e=="number"?_.Buffer?_._Buffer_allocUnsafe(e):new _.Array(e):_.Buffer?_._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};_.Array=typeof Uint8Array<"u"?Uint8Array:Array;_.Long=_.global.dcodeIO&&_.global.dcodeIO.Long||_.global.Long||_.inquire("long");_.key2Re=/^true|false|0|1$/;_.key32Re=/^-?(?:0|[1-9][0-9]*)$/;_.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;_.longToHash=function(e){return e?_.LongBits.from(e).toHash():_.LongBits.zeroHash};_.longFromHash=function(e,t){var n=_.LongBits.fromHash(e);return _.Long?_.Long.fromBits(n.lo,n.hi,t):n.toNumber(!!t)};function Fs(r,e,t){for(var n=Object.keys(e),i=0;i<n.length;++i)(r[n[i]]===void 0||!t)&&(r[n[i]]=e[n[i]]);return r}_.merge=Fs;_.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function Us(r){function e(t,n){if(!(this instanceof e))return new e(t,n);Object.defineProperty(this,"message",{get:function(){return t}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&Fs(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}_.newError=Us;_.ProtocolError=Us("ProtocolError");_.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(t[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};_.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}};_.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};_._configure=function(){var r=_.Buffer;if(!r){_._Buffer_from=_._Buffer_allocUnsafe=null;return}_._Buffer_from=r.from!==Uint8Array.from&&r.from||function(t,n){return new r(t,n)},_._Buffer_allocUnsafe=r.allocUnsafe||function(t){return new r(t)}}});var ei=T((Ip,Ws)=>{"use strict";Ws.exports=M;var we=Je(),Yn,zs=we.LongBits,Lf=we.utf8;function he(r,e){return RangeError("index out of range: "+r.pos+" + "+(e||1)+" > "+r.len)}function M(r){this.buf=r,this.pos=0,this.len=r.length}var Os=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new M(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new M(e);throw Error("illegal buffer")},$s=function(){return we.Buffer?function(t){return(M.create=function(i){return we.Buffer.isBuffer(i)?new Yn(i):Os(i)})(t)}:Os};M.create=$s();M.prototype._slice=we.Array.prototype.subarray||we.Array.prototype.slice;M.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,he(this,10);return e}}();M.prototype.int32=function(){return this.uint32()|0};M.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Zn(){var r=new zs(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(r.lo=(r.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return r;if(r.lo=(r.lo|(this.buf[this.pos]&127)<<28)>>>0,r.hi=(r.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return r;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw he(this);if(r.lo=(r.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return r}return r.lo=(r.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,r}if(this.len-this.pos>4){for(;e<5;++e)if(r.hi=(r.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return r}else for(;e<5;++e){if(this.pos>=this.len)throw he(this);if(r.hi=(r.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return r}throw Error("invalid varint encoding")}M.prototype.bool=function(){return this.uint32()!==0};function Er(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}M.prototype.fixed32=function(){if(this.pos+4>this.len)throw he(this,4);return Er(this.buf,this.pos+=4)};M.prototype.sfixed32=function(){if(this.pos+4>this.len)throw he(this,4);return Er(this.buf,this.pos+=4)|0};function Rs(){if(this.pos+8>this.len)throw he(this,8);return new zs(Er(this.buf,this.pos+=4),Er(this.buf,this.pos+=4))}M.prototype.float=function(){if(this.pos+4>this.len)throw he(this,4);var e=we.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};M.prototype.double=function(){if(this.pos+8>this.len)throw he(this,4);var e=we.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};M.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw he(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)};M.prototype.string=function(){var e=this.bytes();return Lf.read(e,0,e.length)};M.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw he(this,e);this.pos+=e}else do if(this.pos>=this.len)throw he(this);while(this.buf[this.pos++]&128);return this};M.prototype.skipType=function(r){switch(r){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(r=this.uint32()&7)!==4;)this.skipType(r);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+r+" at offset "+this.pos)}return this};M._configure=function(r){Yn=r,M.create=$s(),Yn._configure();var e=we.Long?"toLong":"toNumber";we.merge(M.prototype,{int64:function(){return Zn.call(this)[e](!1)},uint64:function(){return Zn.call(this)[e](!0)},sint64:function(){return Zn.call(this).zzDecode()[e](!1)},fixed64:function(){return Rs.call(this)[e](!0)},sfixed64:function(){return Rs.call(this)[e](!1)}})}});var js=T((Mp,Vs)=>{"use strict";Vs.exports=Ze;var qs=ei();(Ze.prototype=Object.create(qs.prototype)).constructor=Ze;var Hs=Je();function Ze(r){qs.call(this,r)}Ze._configure=function(){Hs.Buffer&&(Ze.prototype._slice=Hs.Buffer.prototype.slice)};Ze.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};Ze._configure()});var ai=T((Fp,Xs)=>{"use strict";Xs.exports=S;var ae=Je(),ti,Tr=ae.LongBits,Gs=ae.base64,Qs=ae.utf8;function $t(r,e,t){this.fn=r,this.len=e,this.next=void 0,this.val=t}function ni(){}function Pf(r){this.head=r.head,this.tail=r.tail,this.len=r.len,this.next=r.states}function S(){this.len=0,this.head=new $t(ni,0,0),this.tail=this.head,this.states=null}var Ks=function(){return ae.Buffer?function(){return(S.create=function(){return new ti})()}:function(){return new S}};S.create=Ks();S.alloc=function(e){return new ae.Array(e)};ae.Array!==Array&&(S.alloc=ae.pool(S.alloc,ae.Array.prototype.subarray));S.prototype._push=function(e,t,n){return this.tail=this.tail.next=new $t(e,t,n),this.len+=t,this};function ii(r,e,t){e[t]=r&255}function Nf(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}function oi(r,e){this.len=r,this.next=void 0,this.val=e}oi.prototype=Object.create($t.prototype);oi.prototype.fn=Nf;S.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new oi((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};S.prototype.int32=function(e){return e<0?this._push(si,10,Tr.fromNumber(e)):this.uint32(e)};S.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function si(r,e,t){for(;r.hi;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}S.prototype.uint64=function(e){var t=Tr.from(e);return this._push(si,t.length(),t)};S.prototype.int64=S.prototype.uint64;S.prototype.sint64=function(e){var t=Tr.from(e).zzEncode();return this._push(si,t.length(),t)};S.prototype.bool=function(e){return this._push(ii,1,e?1:0)};function ri(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}S.prototype.fixed32=function(e){return this._push(ri,4,e>>>0)};S.prototype.sfixed32=S.prototype.fixed32;S.prototype.fixed64=function(e){var t=Tr.from(e);return this._push(ri,4,t.lo)._push(ri,4,t.hi)};S.prototype.sfixed64=S.prototype.fixed64;S.prototype.float=function(e){return this._push(ae.float.writeFloatLE,4,e)};S.prototype.double=function(e){return this._push(ae.float.writeDoubleLE,8,e)};var Df=ae.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var i=0;i<e.length;++i)t[n+i]=e[i]};S.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(ii,1,0);if(ae.isString(e)){var n=S.alloc(t=Gs.length(e));Gs.decode(e,n,0),e=n}return this.uint32(t)._push(Df,t,e)};S.prototype.string=function(e){var t=Qs.length(e);return t?this.uint32(t)._push(Qs.write,t,e):this._push(ii,1,0)};S.prototype.fork=function(){return this.states=new Pf(this),this.head=this.tail=new $t(ni,0,0),this.len=0,this};S.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new $t(ni,0,0),this.len=0),this};S.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this};S.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t};S._configure=function(r){ti=r,S.create=Ks(),ti._configure()}});var Ys=T((Up,Zs)=>{"use strict";Zs.exports=be;var Js=ai();(be.prototype=Object.create(Js.prototype)).constructor=be;var Ue=Je();function be(){Js.call(this)}be._configure=function(){be.alloc=Ue._Buffer_allocUnsafe,be.writeBytesBuffer=Ue.Buffer&&Ue.Buffer.prototype instanceof Uint8Array&&Ue.Buffer.prototype.set.name==="set"?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var i=0;i<e.length;)t[n++]=e[i++]}};be.prototype.bytes=function(e){Ue.isString(e)&&(e=Ue._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(be.writeBytesBuffer,t,e),this};function If(r,e,t){r.length<40?Ue.utf8.write(r,e,t):e.utf8Write?e.utf8Write(r,t):e.write(r,t)}be.prototype.string=function(e){var t=Ue.Buffer.byteLength(e);return this.uint32(t),t&&this._push(If,t,e),this};be._configure()});var Mr=T((Zm,ma)=>{"use strict";function pa(r,e){for(let t in e)Object.defineProperty(r,t,{value:e[t],enumerable:!0,configurable:!0});return r}function Xf(r,e,t){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return pa(r,t)}catch{t.message=r.message,t.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),pa(new i,t)}}ma.exports=Xf});var _a=T((my,ba)=>{"use strict";ba.exports=function(){return Date.now()}});var xa=T((yy,va)=>{"use strict";var Rr=_a(),bi=class{constructor(e,t,n){let i=this;this._started=Rr(),this._rescheduled=0,this._scheduled=t,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(Rr()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,e.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,t)}reschedule(e){e||(e=this._scheduled);let t=Rr();t+e-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(e)):this._triggered?this._schedule(e):(this._started=t,this._rescheduled=e)}_schedule(e){this._triggered=!1,this._started=Rr(),this._rescheduled=0,this._scheduled=e,this._timer=setTimeout(this._timerWrapper,e)}clear(){clearTimeout(this._timer)}};function nh(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let r;if(arguments.length>0){r=new Array(arguments.length-2);for(var e=0;e<r.length;e++)r[e]=arguments[e+2]}return new bi(arguments[0],arguments[1],r)}va.exports=nh});var Ta=T((gy,Ea)=>{"use strict";var{AbortController:ih}=globalThis,ka=xa(),Vt=class extends ih{constructor(e){super(),this._ms=e,this._timer=ka(()=>this.abort(),e),Object.setPrototypeOf(this,Vt.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=ka(()=>this.abort(),this._ms)}};Ea.exports={TimeoutController:Vt}});var Qr=T((Yy,Ei)=>{"use strict";var kt=typeof Reflect=="object"?Reflect:null,Pa=kt&&typeof kt.apply=="function"?kt.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},jr;kt&&typeof kt.ownKeys=="function"?jr=kt.ownKeys:Object.getOwnPropertySymbols?jr=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:jr=function(e){return Object.getOwnPropertyNames(e)};function hh(r){console&&console.warn&&console.warn(r)}var Da=Number.isNaN||function(e){return e!==e};function L(){L.init.call(this)}Ei.exports=L;Ei.exports.once=yh;L.EventEmitter=L;L.prototype._events=void 0;L.prototype._eventsCount=0;L.prototype._maxListeners=void 0;var Na=10;function Gr(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(L,"defaultMaxListeners",{enumerable:!0,get:function(){return Na},set:function(r){if(typeof r!="number"||r<0||Da(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");Na=r}});L.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};L.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Da(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Ia(r){return r._maxListeners===void 0?L.defaultMaxListeners:r._maxListeners}L.prototype.getMaxListeners=function(){return Ia(this)};L.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(c===void 0)return!1;if(typeof c=="function")Pa(c,this,t);else for(var u=c.length,l=Ra(c,u),n=0;n<u;++n)Pa(l[n],this,t);return!0};function Ma(r,e,t,n){var i,o,s;if(Gr(t),o=r._events,o===void 0?(o=r._events=Object.create(null),r._eventsCount=0):(o.newListener!==void 0&&(r.emit("newListener",e,t.listener?t.listener:t),o=r._events),s=o[e]),s===void 0)s=o[e]=t,++r._eventsCount;else if(typeof s=="function"?s=o[e]=n?[t,s]:[s,t]:n?s.unshift(t):s.push(t),i=Ia(r),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=e,a.count=s.length,hh(a)}return r}L.prototype.addListener=function(e,t){return Ma(this,e,t,!1)};L.prototype.on=L.prototype.addListener;L.prototype.prependListener=function(e,t){return Ma(this,e,t,!0)};function dh(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Fa(r,e,t){var n={fired:!1,wrapFn:void 0,target:r,type:e,listener:t},i=dh.bind(n);return i.listener=t,n.wrapFn=i,i}L.prototype.once=function(e,t){return Gr(t),this.on(e,Fa(this,e,t)),this};L.prototype.prependOnceListener=function(e,t){return Gr(t),this.prependListener(e,Fa(this,e,t)),this};L.prototype.removeListener=function(e,t){var n,i,o,s,a;if(Gr(t),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===t||n[s].listener===t){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():ph(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||t)}return this};L.prototype.off=L.prototype.removeListener;L.prototype.removeAllListeners=function(e){var t,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],typeof t=="function")this.removeListener(e,t);else if(t!==void 0)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this};function Ua(r,e,t){var n=r._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?mh(i):Ra(i,i.length)}L.prototype.listeners=function(e){return Ua(this,e,!0)};L.prototype.rawListeners=function(e){return Ua(this,e,!1)};L.listenerCount=function(r,e){return typeof r.listenerCount=="function"?r.listenerCount(e):Oa.call(r,e)};L.prototype.listenerCount=Oa;function Oa(r){var e=this._events;if(e!==void 0){var t=e[r];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}L.prototype.eventNames=function(){return this._eventsCount>0?jr(this._events):[]};function Ra(r,e){for(var t=new Array(e),n=0;n<e;++n)t[n]=r[n];return t}function ph(r,e){for(;e+1<r.length;e++)r[e]=r[e+1];r.pop()}function mh(r){for(var e=new Array(r.length),t=0;t<e.length;++t)e[t]=r[t].listener||r[t];return e}function yh(r,e){return new Promise(function(t,n){function i(s){r.removeListener(e,o),n(s)}function o(){typeof r.removeListener=="function"&&r.removeListener("error",i),t([].slice.call(arguments))}za(r,e,o,{once:!0}),e!=="error"&&gh(r,i,{once:!0})})}function gh(r,e,t){typeof r.on=="function"&&za(r,"error",e,t)}function za(r,e,t,n){if(typeof r.on=="function")n.once?r.once(e,t):r.on(e,t);else if(typeof r.addEventListener=="function")r.addEventListener(e,function i(o){n.once&&r.removeEventListener(e,i),t(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof r)}});var Ka=T((Ga,Qa)=>{"use strict";var Nh=Math.exp;Ga=Qa.exports=function(e){if(typeof e!="number")throw new Error("must provide a timespan to the moving average constructor");if(e<=0)throw new Error("must provide a timespan > 0 to the moving average constructor");let t,n=0,i=0,o=0,s,a={};function c(u,l){return 1-Nh(-(u-l)/e)}return a.push=function(l,h){if(s){let d=c(l,s),v=h-t,y=d*v;t=d*h+(1-d)*t,n=(1-d)*(n+v*y),i=Math.sqrt(n),o=t+d*v}else t=h;s=l},a.movingAverage=function(){return t},a.variance=function(){return n},a.deviation=function(){return i},a.forecast=function(){return o},a}});var ec=T((Lg,Fi)=>{function Ya(r){let e=new globalThis.AbortController;function t(){e.abort();for(let n of r)!n||!n.removeEventListener||n.removeEventListener("abort",t)}for(let n of r)if(!(!n||!n.addEventListener)){if(n.aborted){t();break}n.addEventListener("abort",t)}return e.signal}Fi.exports=Ya;Fi.exports.anySignal=Ya});var ic=T((Wg,Ui)=>{"use strict";var Fh=Object.prototype.hasOwnProperty,q="~";function Xt(){}Object.create&&(Xt.prototype=Object.create(null),new Xt().__proto__||(q=!1));function Uh(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function nc(r,e,t,n,i){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new Uh(t,n||r,i),s=q?q+e:e;return r._events[s]?r._events[s].fn?r._events[s]=[r._events[s],o]:r._events[s].push(o):(r._events[s]=o,r._eventsCount++),r}function en(r,e){--r._eventsCount===0?r._events=new Xt:delete r._events[e]}function H(){this._events=new Xt,this._eventsCount=0}H.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)Fh.call(t,n)&&e.push(q?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};H.prototype.listeners=function(e){var t=q?q+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};H.prototype.listenerCount=function(e){var t=q?q+e:e,n=this._events[t];return n?n.fn?1:n.length:0};H.prototype.emit=function(e,t,n,i,o,s){var a=q?q+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,h;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,o),!0;case 6:return c.fn.call(c.context,t,n,i,o,s),!0}for(h=1,l=new Array(u-1);h<u;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var d=c.length,v;for(h=0;h<d;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),u){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,n);break;case 4:c[h].fn.call(c[h].context,t,n,i);break;default:if(!l)for(v=1,l=new Array(u-1);v<u;v++)l[v-1]=arguments[v];c[h].fn.apply(c[h].context,l)}}return!0};H.prototype.on=function(e,t,n){return nc(this,e,t,n,!1)};H.prototype.once=function(e,t,n){return nc(this,e,t,n,!0)};H.prototype.removeListener=function(e,t,n,i){var o=q?q+e:e;if(!this._events[o])return this;if(!t)return en(this,o),this;var s=this._events[o];if(s.fn)s.fn===t&&(!i||s.once)&&(!n||s.context===n)&&en(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==t||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:en(this,o)}return this};H.prototype.removeAllListeners=function(e){var t;return e?(t=q?q+e:e,this._events[t]&&en(this,t)):(this._events=new Xt,this._eventsCount=0),this};H.prototype.off=H.prototype.removeListener;H.prototype.addListener=H.prototype.on;H.prefixed=q;H.EventEmitter=H;typeof Ui<"u"&&(Ui.exports=H)});var Id={};V(Id,{createHelia:()=>Dd});var In={};V(In,{identity:()=>Dn});var Fd=new Uint8Array(0);var vo=(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},xe=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")};var xo=r=>new TextEncoder().encode(r),ko=r=>new TextDecoder().decode(r);var Yu=Ao,To=128,el=127,tl=~el,rl=Math.pow(2,31);function Ao(r,e,t){e=e||[],t=t||0;for(var n=t;r>=rl;)e[t++]=r&255|To,r/=128;for(;r&tl;)e[t++]=r&255|To,r>>>=7;return e[t]=r|0,Ao.bytes=t-n+1,e}var nl=Nn,il=128,So=127;function Nn(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Nn.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&So)<<i:(s&So)*Math.pow(2,i),i+=7}while(s>=il);return Nn.bytes=o-n,t}var ol=Math.pow(2,7),sl=Math.pow(2,14),al=Math.pow(2,21),cl=Math.pow(2,28),ul=Math.pow(2,35),ll=Math.pow(2,42),fl=Math.pow(2,49),hl=Math.pow(2,56),dl=Math.pow(2,63),pl=function(r){return r<ol?1:r<sl?2:r<al?3:r<cl?4:r<ul?5:r<ll?6:r<fl?7:r<hl?8:r<dl?9:10},ml={encode:Yu,decode:nl,encodingLength:pl},yl=ml,Mt=yl;var Ft=(r,e=0)=>[Mt.decode(r,e),Mt.decode.bytes],ft=(r,e,t=0)=>(Mt.encode(r,e,t),e),ht=r=>Mt.encodingLength(r);var Ve=(r,e)=>{let t=e.byteLength,n=ht(r),i=n+ht(t),o=new Uint8Array(i+t);return ft(r,o,0),ft(t,o,n),o.set(e,i),new dt(r,t,e,o)},wr=r=>{let e=xe(r),[t,n]=Ft(e),[i,o]=Ft(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new dt(t,i,s,e)},Bo=(r,e)=>{if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&vo(r.bytes,t.bytes)}},dt=class{constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};var Co=0,gl="identity",Lo=xe,wl=r=>Ve(Co,Lo(r)),Dn={code:Co,name:gl,encode:Lo,digest:wl};var On={};V(On,{sha256:()=>je,sha512:()=>Un});var Fn=({name:r,code:e,encode:t})=>new Mn(r,e,t),Mn=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Ve(this.code,t):t.then(n=>Ve(this.code,n))}else throw Error("Unknown type, must be binary type")}};var No=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),je=Fn({name:"sha2-256",code:18,encode:No("SHA-256")}),Un=Fn({name:"sha2-512",code:19,encode:No("SHA-512")});var Hn={};V(Hn,{base58btc:()=>E,base58flickr:()=>El});function bl(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 i=0;i<r.length;i++){var o=r.charAt(i),s=o.charCodeAt(0);if(t[s]!==255)throw new TypeError(o+" is ambiguous");t[s]=i}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function h(y){if(y instanceof Uint8Array||(ArrayBuffer.isView(y)?y=new Uint8Array(y.buffer,y.byteOffset,y.byteLength):Array.isArray(y)&&(y=Uint8Array.from(y))),!(y instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(y.length===0)return"";for(var g=0,k=0,N=0,U=y.length;N!==U&&y[N]===0;)N++,g++;for(var ne=(U-N)*l+1>>>0,$=new Uint8Array(ne);N!==U;){for(var le=y[N],ie=0,Q=ne-1;(le!==0||ie<k)&&Q!==-1;Q--,ie++)le+=256*$[Q]>>>0,$[Q]=le%a>>>0,le=le/a>>>0;if(le!==0)throw new Error("Non-zero carry");k=ie,N++}for(var oe=ne-k;oe!==ne&&$[oe]===0;)oe++;for(var lt=c.repeat(g);oe<ne;++oe)lt+=r.charAt($[oe]);return lt}function d(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;var g=0;if(y[g]!==" "){for(var k=0,N=0;y[g]===c;)k++,g++;for(var U=(y.length-g)*u+1>>>0,ne=new Uint8Array(U);y[g];){var $=t[y.charCodeAt(g)];if($===255)return;for(var le=0,ie=U-1;($!==0||le<N)&&ie!==-1;ie--,le++)$+=a*ne[ie]>>>0,ne[ie]=$%256>>>0,$=$/256>>>0;if($!==0)throw new Error("Non-zero carry");N=le,g++}if(y[g]!==" "){for(var Q=U-N;Q!==U&&ne[Q]===0;)Q++;for(var oe=new Uint8Array(k+(U-Q)),lt=k;Q!==U;)oe[lt++]=ne[Q++];return oe}}}function v(y){var g=d(y);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:d,decode:v}}var _l=bl,vl=_l,Do=vl;var Rn=class{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")}},zn=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.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 Io(this,e)}},$n=class{constructor(e){this.decoders=e}or(e){return Io(this,e)}decode(e){let t=e[0],n=this.decoders[t];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`)}},Io=(r,e)=>new $n({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),Wn=class{constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new Rn(e,t,n),this.decoder=new zn(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},mt=({name:r,prefix:e,encode:t,decode:n})=>new Wn(r,e,t,n),Ie=({prefix:r,name:e,alphabet:t})=>{let{encode:n,decode:i}=Do(t,e);return mt({prefix:r,name:e,encode:n,decode:o=>xe(i(o))})},xl=(r,e,t,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*t/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let h=i[r[l]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|h,a+=t,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},kl=(r,e,t)=>{let n=e[e.length-1]==="=",i=(1<<t)-1,o="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>t;)s-=t,o+=e[i&a>>s];if(s&&(o+=e[i&a<<t-s]),n)for(;o.length*t&7;)o+="=";return o},I=({name:r,prefix:e,bitsPerChar:t,alphabet:n})=>mt({prefix:e,name:r,encode(i){return kl(i,n,t)},decode(i){return xl(i,n,t,r)}});var E=Ie({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),El=Ie({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var qn={};V(qn,{base32:()=>j,base32hex:()=>Bl,base32hexpad:()=>Ll,base32hexpadupper:()=>Pl,base32hexupper:()=>Cl,base32pad:()=>Sl,base32padupper:()=>Al,base32upper:()=>Tl,base32z:()=>Nl});var j=I({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Tl=I({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Sl=I({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Al=I({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Bl=I({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Cl=I({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ll=I({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Pl=I({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Nl=I({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Mo=(r,e)=>{let{bytes:t,version:n}=r;switch(n){case 0:return Il(t,Vn(r),e||E.encoder);default:return Ml(t,Vn(r),e||j.encoder)}};var Fo=new WeakMap,Vn=r=>{let e=Fo.get(r);if(e==null){let t=new Map;return Fo.set(r,t),t}return e},x=class{constructor(e,t,n,i){this.code=t,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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!==Ut)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Fl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return x.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=Ve(e,t);return x.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 x.equals(this,e)}static equals(e,t){let n=t;return n&&e.code===n.code&&e.version===n.version&&Bo(e.multihash,n.multihash)}toString(e){return Mo(this,e)}toJSON(){return{"/":Mo(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 t=e;if(t instanceof x)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:i,multihash:o,bytes:s}=t;return new x(n,i,o,s||Uo(n,i,o.bytes))}else if(t[Ul]===!0){let{version:n,multihash:i,code:o}=t,s=wr(i);return x.create(n,o,s)}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!==Ut)throw new Error(`Version 0 CID must use dag-pb (code: ${Ut}) block encoding`);return new x(e,t,n,n.bytes)}case 1:{let i=Uo(e,t,n.bytes);return new x(e,t,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return x.create(0,Ut,e)}static createV1(e,t){return x.create(1,e,t)}static decode(e){let[t,n]=x.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=x.inspectBytes(e),n=t.size-t.multihashSize,i=xe(e.subarray(n,n+t.multihashSize));if(i.byteLength!==t.multihashSize)throw new Error("Incorrect length");let o=i.subarray(t.multihashSize-t.digestSize),s=new dt(t.multihashCode,t.digestSize,o,i);return[t.version===0?x.createV0(s):x.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[h,d]=Ft(e.subarray(t));return t+=d,h},i=n(),o=Ut;if(i===18?(i=0,t=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=t,a=n(),c=n(),u=t+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,t){let[n,i]=Dl(e,t),o=x.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Vn(o).set(n,e),o}},Dl=(r,e)=>{switch(r[0]){case"Q":{let t=e||E;return[E.prefix,t.decode(`${E.prefix}${r}`)]}case E.prefix:{let t=e||E;return[E.prefix,t.decode(r)]}case j.prefix:{let t=e||j;return[j.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},Il=(r,e,t)=>{let{prefix:n}=t;if(n!==E.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let i=e.get(n);if(i==null){let o=t.encode(r).slice(1);return e.set(n,o),o}else return i},Ml=(r,e,t)=>{let{prefix:n}=t,i=e.get(n);if(i==null){let o=t.encode(r);return e.set(n,o),o}else return i},Ut=112,Fl=18,Uo=(r,e,t)=>{let n=ht(r),i=n+ht(e),o=new Uint8Array(i+t.byteLength);return ft(r,o,0),ft(e,o,n),o.set(t,i),o},Ul=Symbol.for("@ipld/js-cid/CID");var ia=O(Jo(),1);var Ot=O(as(),1);function ff(r){let e=new Uint8Array(r.reduce((n,i)=>n+Ot.default.encodingLength(i),0)),t=0;for(let n of r)e=Ot.encode(n,e,t),t+=Ot.default.encodingLength(n);return e}var cs=ff;var ge=O(ds(),1);var Kn={};V(Kn,{base64:()=>Rt,base64pad:()=>Ef,base64url:()=>Tf,base64urlpad:()=>Sf});var Rt=I({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ef=I({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Tf=I({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Sf=I({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ge.default.formatters.b=r=>r==null?"undefined":E.baseEncode(r);ge.default.formatters.t=r=>r==null?"undefined":j.baseEncode(r);ge.default.formatters.m=r=>r==null?"undefined":Rt.baseEncode(r);ge.default.formatters.p=r=>r==null?"undefined":r.toString();ge.default.formatters.c=r=>r==null?"undefined":r.toString();ge.default.formatters.k=r=>r==null?"undefined":r.toString();function bt(r){return Object.assign((0,ge.default)(r),{error:(0,ge.default)(`${r}:error`),trace:(0,ge.default)(`${r}:trace`)})}function Qe(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}var Ke=class{constructor(e,t,n){this._refCounter=1,this.cid=e,this.priority=t??1,this.wantType=n}inc(){this._refCounter+=1}dec(){this._refCounter=Math.max(0,this._refCounter-1)}hasRefs(){return this._refCounter>0}get[Symbol.toStringTag](){return`WantlistEntry <key: ${this.cid.toString(E)}, priority: ${this.priority}, refs: ${this._refCounter}>`}equals(e){return this._refCounter===e._refCounter&&this.cid.equals(e.cid)&&this.priority===e.priority&&this.wantType===e.wantType}};var Me=class{constructor(e,t,n,i,o){this.entry=new Ke(e,t,n),this.cancel=!!i,this.sendDontHave=!!o}get cid(){return this.entry.cid}set cid(e){this.entry.cid=e}get priority(){return this.entry.priority}set priority(e){this.entry.priority=e}get wantType(){return this.entry.wantType}set wantType(e){this.entry.wantType=e}get[Symbol.toStringTag](){return`BitswapMessageEntry ${this.cid.toString(E)} <cancel: ${this.cancel}, priority: ${this.priority}>`}equals(e){return this.cancel===e.cancel&&this.sendDontHave===e.sendDontHave&&this.wantType===e.wantType&&this.entry.equals(e.entry)}};var se=(r,e)=>{let t=["bitswap"];return e!=null&&t.push(e),r!=null&&t.push(`${r.toString().slice(0,8)}`),bt(t.join(":"))};var vr=(r,e)=>{if(r.size!==e.size)return!1;for(let[t,n]of r){let i=e.get(t);if(i===void 0||n instanceof Uint8Array&&i instanceof Uint8Array&&!Qe(n,i)||n instanceof Me&&i instanceof Me&&!n.equals(i))return!1}return!0};var ci=O(ei(),1),ea=O(js(),1),ta=O(Je(),1),ui=O(ai(),1),ra=O(Ys(),1);function Mf(){ta.default._configure(),ci.default._configure(ea.default),ui.default._configure(ra.default)}Mf();var na=["uint64","int64","sint64","fixed64","sfixed64"];function Ff(r){for(let e of na){if(r[e]==null)continue;let t=r[e];r[e]=function(){return BigInt(t.call(this).toString())}}return r}function li(r){return Ff(new ci.default(r))}function Uf(r){for(let e of na){if(r[e]==null)continue;let t=r[e];r[e]=function(n){return t.call(this,n.toString())}}return r}function fi(){return Uf(ui.default.create())}function Ye(r,e){let t=li(r instanceof Uint8Array?r:r.subarray());return e.decode(t)}function et(r,e){let t=fi();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var vt;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(vt||(vt={}));function Sr(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function Ar(r){function e(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let t=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Sr("enum",vt.VARINT,t,n)}function tt(r,e){return Sr("message",vt.LENGTH_DELIMITED,r,e)}var G;(function(r){let e;(function(a){let c;(function(d){d.Block="Block",d.Have="Have"})(c=a.WantType||(a.WantType={}));let u;(function(d){d[d.Block=0]="Block",d[d.Have=1]="Have"})(u||(u={})),function(d){d.codec=()=>Ar(u)}(c=a.WantType||(a.WantType={}));let l;(function(d){let v;d.codec=()=>(v==null&&(v=tt((y,g,k={})=>{k.lengthDelimited!==!1&&g.fork(),y.block!=null&&y.block.byteLength>0&&(g.uint32(10),g.bytes(y.block)),y.priority!=null&&y.priority!==0&&(g.uint32(16),g.int32(y.priority)),y.cancel!=null&&y.cancel!==!1&&(g.uint32(24),g.bool(y.cancel)),y.wantType!=null&&u[y.wantType]!==0&&(g.uint32(32),r.Wantlist.WantType.codec().encode(y.wantType,g)),y.sendDontHave!=null&&y.sendDontHave!==!1&&(g.uint32(40),g.bool(y.sendDontHave)),k.lengthDelimited!==!1&&g.ldelim()},(y,g)=>{let k={block:new Uint8Array(0),priority:0,cancel:!1,wantType:c.Block,sendDontHave:!1},N=g==null?y.len:y.pos+g;for(;y.pos<N;){let U=y.uint32();switch(U>>>3){case 1:k.block=y.bytes();break;case 2:k.priority=y.int32();break;case 3:k.cancel=y.bool();break;case 4:k.wantType=r.Wantlist.WantType.codec().decode(y);break;case 5:k.sendDontHave=y.bool();break;default:y.skipType(U&7);break}}return k})),v),d.encode=y=>et(y,d.codec()),d.decode=y=>Ye(y,d.codec())})(l=a.Entry||(a.Entry={}));let h;a.codec=()=>(h==null&&(h=tt((d,v,y={})=>{if(y.lengthDelimited!==!1&&v.fork(),d.entries!=null)for(let g of d.entries)v.uint32(10),r.Wantlist.Entry.codec().encode(g,v);d.full!=null&&d.full!==!1&&(v.uint32(16),v.bool(d.full)),y.lengthDelimited!==!1&&v.ldelim()},(d,v)=>{let y={entries:[],full:!1},g=v==null?d.len:d.pos+v;for(;d.pos<g;){let k=d.uint32();switch(k>>>3){case 1:y.entries.push(r.Wantlist.Entry.codec().decode(d,d.uint32()));break;case 2:y.full=d.bool();break;default:d.skipType(k&7);break}}return y})),h),a.encode=d=>et(d,a.codec()),a.decode=d=>Ye(d,a.codec())})(e=r.Wantlist||(r.Wantlist={}));let t;(function(a){let c;a.codec=()=>(c==null&&(c=tt((u,l,h={})=>{h.lengthDelimited!==!1&&l.fork(),u.prefix!=null&&u.prefix.byteLength>0&&(l.uint32(10),l.bytes(u.prefix)),u.data!=null&&u.data.byteLength>0&&(l.uint32(18),l.bytes(u.data)),h.lengthDelimited!==!1&&l.ldelim()},(u,l)=>{let h={prefix:new Uint8Array(0),data:new Uint8Array(0)},d=l==null?u.len:u.pos+l;for(;u.pos<d;){let v=u.uint32();switch(v>>>3){case 1:h.prefix=u.bytes();break;case 2:h.data=u.bytes();break;default:u.skipType(v&7);break}}return h})),c),a.encode=u=>et(u,a.codec()),a.decode=u=>Ye(u,a.codec())})(t=r.Block||(r.Block={}));let n;(function(a){a.Have="Have",a.DontHave="DontHave"})(n=r.BlockPresenceType||(r.BlockPresenceType={}));let i;(function(a){a[a.Have=0]="Have",a[a.DontHave=1]="DontHave"})(i||(i={})),function(a){a.codec=()=>Ar(i)}(n=r.BlockPresenceType||(r.BlockPresenceType={}));let o;(function(a){let c;a.codec=()=>(c==null&&(c=tt((u,l,h={})=>{h.lengthDelimited!==!1&&l.fork(),u.cid!=null&&u.cid.byteLength>0&&(l.uint32(10),l.bytes(u.cid)),u.type!=null&&i[u.type]!==0&&(l.uint32(16),r.BlockPresenceType.codec().encode(u.type,l)),h.lengthDelimited!==!1&&l.ldelim()},(u,l)=>{let h={cid:new Uint8Array(0),type:n.Have},d=l==null?u.len:u.pos+l;for(;u.pos<d;){let v=u.uint32();switch(v>>>3){case 1:h.cid=u.bytes();break;case 2:h.type=r.BlockPresenceType.codec().decode(u);break;default:u.skipType(v&7);break}}return h})),c),a.encode=u=>et(u,a.codec()),a.decode=u=>Ye(u,a.codec())})(o=r.BlockPresence||(r.BlockPresence={}));let s;r.codec=()=>(s==null&&(s=tt((a,c,u={})=>{if(u.lengthDelimited!==!1&&c.fork(),a.wantlist!=null&&(c.uint32(10),r.Wantlist.codec().encode(a.wantlist,c)),a.blocks!=null)for(let l of a.blocks)c.uint32(18),c.bytes(l);if(a.payload!=null)for(let l of a.payload)c.uint32(26),r.Block.codec().encode(l,c);if(a.blockPresences!=null)for(let l of a.blockPresences)c.uint32(34),r.BlockPresence.codec().encode(l,c);a.pendingBytes!=null&&a.pendingBytes!==0&&(c.uint32(40),c.int32(a.pendingBytes)),u.lengthDelimited!==!1&&c.ldelim()},(a,c)=>{let u={blocks:[],payload:[],blockPresences:[],pendingBytes:0},l=c==null?a.len:a.pos+c;for(;a.pos<l;){let h=a.uint32();switch(h>>>3){case 1:u.wantlist=r.Wantlist.codec().decode(a,a.uint32());break;case 2:u.blocks.push(a.bytes());break;case 3:u.payload.push(r.Block.codec().decode(a,a.uint32()));break;case 4:u.blockPresences.push(r.BlockPresence.codec().decode(a,a.uint32()));break;case 5:u.pendingBytes=a.int32();break;default:a.skipType(h&7);break}}return u})),s),r.encode=a=>et(a,r.codec()),r.decode=a=>Ye(a,r.codec())})(G||(G={}));var Br=class extends Error{constructor(e,t,n){super(e),this.code=t,this.name=n?.name??"CodeError",this.props=n??{}}};var Of,B=class{constructor(e){this.full=e,this.wantlist=new Map,this.blocks=new Map,this.blockPresences=new Map,this.pendingBytes=0}get empty(){return this.blocks.size===0&&this.wantlist.size===0&&this.blockPresences.size===0}addEntry(e,t,n,i,o){n==null&&(n=B.WantType.Block);let s=e.toString(E),a=this.wantlist.get(s);a!=null?(a.wantType===n&&(a.priority=t),i===!0&&(a.cancel=!!i),o===!0&&(a.sendDontHave=!!o),n===B.WantType.Block&&a.wantType===B.WantType.Have&&(a.wantType=n)):this.wantlist.set(s,new Me(e,t,n,i,o))}addBlock(e,t){let n=e.toString(E);this.blocks.set(n,t)}addHave(e){let t=e.toString(E);this.blockPresences.has(t)||this.blockPresences.set(t,B.BlockPresenceType.Have)}addDontHave(e){let t=e.toString(E);this.blockPresences.has(t)||this.blockPresences.set(t,B.BlockPresenceType.DontHave)}cancel(e){let t=e.toString(E);this.wantlist.delete(t),this.addEntry(e,0,B.WantType.Block,!0,!1)}setPendingBytes(e){this.pendingBytes=e}serializeToBitswap100(){return G.encode({wantlist:{entries:Array.from(this.wantlist.values()).map(e=>({block:e.cid.bytes,priority:Number(e.priority),cancel:!!e.cancel,wantType:G.Wantlist.WantType.Block,sendDontHave:!1})),full:!!this.full},blocks:Array.from(this.blocks.values())})}serializeToBitswap110(){let e={wantlist:{entries:Array.from(this.wantlist.values()).map(t=>({block:t.cid.bytes,priority:Number(t.priority),wantType:t.wantType,cancel:!!t.cancel,sendDontHave:!!t.sendDontHave})),full:!!this.full},blockPresences:[],payload:[],pendingBytes:this.pendingBytes,blocks:[]};for(let[t,n]of this.blocks.entries()){let i=x.parse(t),o=i.version,s=i.code,a=i.multihash.code,c=i.multihash.digest.length,u=cs([o,s,a,c]);e.payload.push({prefix:u,data:n})}for(let[t,n]of this.blockPresences)e.blockPresences.push({cid:x.parse(t).bytes,type:n});return this.pendingBytes>0&&(e.pendingBytes=this.pendingBytes),G.encode(e)}equals(e){return!(this.full!==e.full||this.pendingBytes!==e.pendingBytes||!vr(this.wantlist,e.wantlist)||!vr(this.blocks,e.blocks)||!vr(this.blockPresences,e.blockPresences))}get[Symbol.toStringTag](){let e=Array.from(this.wantlist.keys()),t=Array.from(this.blocks.keys());return`BitswapMessage <full: ${this.full}, list: ${e}, blocks: ${t}>`}};Of=B;B.Entry=Me;B.WantType={Block:G.Wantlist.WantType.Block,Have:G.Wantlist.WantType.Have};B.BlockPresenceType={Have:G.BlockPresenceType.Have,DontHave:G.BlockPresenceType.DontHave};B.deserialize=async(r,e)=>{let t=G.decode(r),n=t.wantlist?.full===!0,i=new B(n);return t.wantlist?.entries.forEach(o=>{if(o.block==null)return;let s=x.decode(o.block);i.addEntry(s,o.priority??0,o.wantType,!!o.cancel,!!o.sendDontHave)}),t.blockPresences.forEach(o=>{if(o.cid==null)return;let s=x.decode(o.cid);o.type===B.BlockPresenceType.Have?i.addHave(s):i.addDontHave(s)}),t.blocks.length>0?(await Promise.all(t.blocks.map(async o=>{let s=await je.digest(o),a=x.createV0(s);i.addBlock(a,o)})),i):(t.payload.length>0&&(await Promise.all(t.payload.map(async o=>{if(o.prefix==null||o.data==null)return;let s=(0,ia.default)(o.prefix),a=s[0],c=s[1],u=s[2],l=u===je.code?je:await e?.getHasher(u);if(l==null)throw new Br("Unknown hash algorithm","ERR_UNKNOWN_HASH_ALG");let h=await l.digest(o.data),d=x.create(a,c,h);i.addBlock(d,o.data)})),i.setPendingBytes(t.pendingBytes)),i)};B.blockPresenceSize=r=>r.bytes.length+1;var hi=class extends Map{constructor(e){super();let{name:t,metrics:n}=e;this.metric=n.registerMetric(t),this.updateComponentMetric()}set(e,t){return super.set(e,t),this.updateComponentMetric(),this}delete(e){let t=super.delete(e);return this.updateComponentMetric(),t}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Oe(r){let{name:e,metrics:t}=r,n;return t!=null?n=new hi({name:e,metrics:t}):n=new Map,n}var oa={Block:G.Wantlist.WantType.Block,Have:G.Wantlist.WantType.Have},Rf=(r,e)=>Array.prototype.slice.call(e,0).sort((t,n)=>{let i=r(t),o=r(n);return i<o?-1:i>o?1:0}),ke=class{constructor(e,t){this.set=t!=null?Oe({name:"ipfs_bitswap_wantlist",metrics:t.metrics}):new Map,this._stats=e}get length(){return this.set.size}add(e,t,n){let i=e.toString(E),o=this.set.get(i);o!=null?(o.inc(),o.priority=t,o.wantType===oa.Have&&n===oa.Block&&(o.wantType=n)):(this.set.set(i,new Ke(e,t,n)),this._stats!=null&&this._stats.push(void 0,"wantListSize",1))}remove(e){let t=e.toString(E),n=this.set.get(t);n!=null&&(n.dec(),!n.hasRefs()&&(this.set.delete(t),this._stats!=null&&this._stats.push(void 0,"wantListSize",-1)))}removeForce(e){this.set.has(e)&&this.set.delete(e)}forEach(e){this.set.forEach(e)}entries(){return this.set.entries()}sortedEntries(){return new Map(Rf(e=>e[1].key,Array.from(this.set.entries())))}contains(e){let t=e.toString(E);return this.set.has(t)}get(e){let t=e.toString(E);return this.set.get(t)}};ke.Entry=Ke;var sa=Math.pow(2,31)-1,aa=1e3,ca=1;var ua=zf;function zf(r,e,t){var n=null,i=null,o=function(){n&&(clearTimeout(n),i=null,n=null)},s=function(){var c=i;o(),c&&c()},a=function(){if(!e)return r.apply(this,arguments);var c=this,u=arguments,l=t&&!n;if(o(),i=function(){r.apply(c,u)},n=setTimeout(function(){if(n=null,!l){var h=i;return i=null,h()}},e),l)return i()};return a.cancel=o,a.flush=s,a}var Cr=class{constructor(e,t,n){this.peerId=t,this.network=n,this.refcnt=1,this._entries=[],this._log=se(e,"msgqueue"),this.sendEntries=ua(this.sendEntries.bind(this),ca)}addMessage(e,t={}){e.empty||this.send(e,t)}addEntries(e,t={}){this._entries=this._entries.concat(e),this.sendEntries(t)}sendEntries(e={}){if(this._entries.length===0)return;let t=new B(!1);this._entries.forEach(n=>{n.cancel===!0?t.cancel(n.cid):t.addEntry(n.cid,n.priority)}),this._entries=[],this.addMessage(t,e)}async send(e,t={}){try{await this.network.connectTo(this.peerId,t)}catch(n){this._log.error("cant connect to peer %p: %s",this.peerId,n.message);return}this._log("sending message to peer %p",this.peerId),this.network.sendMessage(this.peerId,e,t).catch(n=>{this._log.error("send error",n)})}};var Lr=class{constructor(e,t,n,i){this.peers=Oe({name:"ipfs_bitswap_want_manager_peers",metrics:i.metrics}),this.wantlist=new ke(n,i),this.network=t,this._peerId=e,this._log=se(e,"want")}_addEntries(e,t,n,i={}){let o=e.map((s,a)=>new B.Entry(s,sa-a,B.WantType.Block,t));o.forEach(s=>{s.cancel?n===!0?this.wantlist.removeForce(s.cid.toString(E)):this.wantlist.remove(s.cid):(this._log("adding to wantlist"),this.wantlist.add(s.cid,s.priority))});for(let s of this.peers.values())s.addEntries(o,i)}_startPeerHandler(e){let t=this.peers.get(e.toString());if(t!=null){t.refcnt++;return}t=new Cr(this._peerId,e,this.network);let n=new B(!0);for(let i of this.wantlist.entries())n.addEntry(i[1].cid,i[1].priority);return t.addMessage(n),this.peers.set(e.toString(),t),t}_stopPeerHandler(e){let t=this.peers.get(e.toString());t!=null&&(t.refcnt--,!(t.refcnt>0)&&this.peers.delete(e.toString()))}wantBlocks(e,t={}){this._addEntries(e,!1,!1,t),t.signal?.addEventListener("abort",()=>{this.cancelWants(e)})}unwantBlocks(e){this._log("unwant blocks: %s",e.length),this._addEntries(e,!0,!0)}cancelWants(e){this._log("cancel wants: %s",e.length),this._addEntries(e,!0)}connectedPeers(){return Array.from(this.peers.keys())}connected(e){this._startPeerHandler(e)}disconnected(e){this._stopPeerHandler(e)}start(){}stop(){this.peers.forEach(e=>{this.disconnected(e.peerId)})}};function rt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Ee(r=0){return globalThis.Buffer?.alloc!=null?rt(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function Te(r=0){return globalThis.Buffer?.allocUnsafe!=null?rt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function pi(r,e){e==null&&(e=r.reduce((i,o)=>i+o.length,0));let t=Te(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return rt(t)}var fa=Symbol.for("@achingbrain/uint8arraylist");function la(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let i=t+n.byteLength;if(e<i)return{buf:n,index:e-t};t=i}throw new RangeError("index is out of bounds")}function Pr(r){return!!r?.[fa]}var _e=class{constructor(...e){Object.defineProperty(this,fa,{value:!0}),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(Pr(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(Pr(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=la(this.bufs,e);return t.buf[t.index]}set(e,t){let n=la(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(Pr(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:i}=this._subList(e,t);return pi(n,i)}subarray(e,t){let{bufs:n,length:i}=this._subList(e,t);return n.length===1?n[0]:pi(n,i)}sublist(e,t){let{bufs:n,length:i}=this._subList(e,t),o=new _e;return o.length=i,o.bufs=n,o}_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=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=t>a&&t<=c;if(u&&l){if(e===a&&t===c){n.push(s);break}let h=e-a;n.push(s.subarray(h,h+(t-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){if(t===c){n.push(s);break}n.push(s.subarray(0,t-a));break}n.push(s)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!Pr(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 i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let h=0;h<o;h++)s[h]=-1;for(let h=0;h<i;h++)s[n[h]]=h;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let h=t;h<=c;h+=l){l=0;for(let d=u;d>=0;d--){let v=this.get(h+d);if(n[d]!==v){l=Math.max(1,d-a[v]);break}}if(l===0)return h}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=Te(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 i=Ee(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,t,n),this.write(i,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 i=Ee(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,t,n),this.write(i,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 i=Ee(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,t,n),this.write(i,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=Te(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 i=Ee(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,t,n),this.write(i,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 i=Ee(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,t,n),this.write(i,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 i=Ee(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,t,n),this.write(i,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 i=Ee(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,t,n),this.write(i,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 i=Ee(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,t,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof _e)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!Qe(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new _e;return n.bufs=e,t==null&&(t=e.reduce((i,o)=>i+o.byteLength,0)),n.length=t,n}};function Nr(r){return r instanceof Uint8Array?{get(e){return r[e]},set(e,t){r[e]=t}}:{get(e){return r.get(e)},set(e,t){r.set(e,t)}}}var ha=4294967296,X=class{constructor(e=0,t=0){this.hi=e,this.lo=t}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),t=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new X(n,t)}zzEncode(){let e=this.hi>>31,t=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new X(t,n)}toBytes(e,t=0){let n=Nr(e);for(;this.hi>0;)n.set(t++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(t++,this.lo&127|128),this.lo=this.lo>>>7;n.set(t++,this.lo)}static fromBigInt(e){if(e===0n)return new X;let t=e<0;t&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return t&&(n=~n>>>0,i=~i>>>0,++i>ha&&(i=0,++n>ha&&(n=0))),new X(n,i)}static fromNumber(e){if(e===0)return new X;let t=e<0;t&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new X(i,n)}static fromBytes(e,t=0){let n=Nr(e),i=new X,o=0;if(e.length-t>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(t)&127)<<o*7)>>>0,n.get(t++)<128)return i;if(i.lo=(i.lo|(n.get(t)&127)<<28)>>>0,i.hi=(i.hi|(n.get(t)&127)>>4)>>>0,n.get(t++)<128)return i;o=0}else for(;o<4;++o){if(t>=e.length)throw RangeError(`index out of range: ${t} > ${e.length}`);if(i.lo=(i.lo|(n.get(t)&127)<<o*7)>>>0,n.get(t++)<128)return i}if(e.length-t>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(t)&127)<<o*7+3)>>>0,n.get(t++)<128)return i}else if(t<e.byteLength)for(;o<5;++o){if(t>=e.length)throw RangeError(`index out of range: ${t} > ${e.length}`);if(i.hi=(i.hi|(n.get(t)&127)<<o*7+3)>>>0,n.get(t++)<128)return i}throw RangeError("invalid varint encoding")}};var $f=Math.pow(2,7),Wf=Math.pow(2,14),Hf=Math.pow(2,21),qf=Math.pow(2,28),Vf=Math.pow(2,35),jf=Math.pow(2,42),Gf=Math.pow(2,49),Qf=Math.pow(2,56),Kf=Math.pow(2,63),nt={encodingLength(r){return r<$f?1:r<Wf?2:r<Hf?3:r<qf?4:r<Vf?5:r<jf?6:r<Gf?7:r<Qf?8:r<Kf?9:10},encode(r,e,t=0){if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=Te(nt.encodingLength(r))),X.fromNumber(r).toBytes(e,t),e},decode(r,e=0){return X.fromBytes(r,e).toNumber(!0)}};function da(r){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}var Dr=r=>{let e=nt.encodingLength(r),t=da(e);return nt.encode(r,t),Dr.bytes=e,t};Dr.bytes=0;function Ir(r){r=r??{};let e=r.lengthEncoder??Dr;return async function*(n){for await(let i of n){let o=e(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}}}Ir.single=(r,e)=>{e=e??{};let t=e.lengthEncoder??Dr;return new _e(t(r.byteLength),r)};var Wt=O(Mr(),1),Jf=8,Zf=1024*1024*4,it;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(it||(it={}));var mi=r=>{let e=nt.decode(r);return mi.bytes=nt.encodingLength(e),e};mi.bytes=0;function Ht(r){return async function*(t){let n=new _e,i=it.LENGTH,o=-1,s=r?.lengthDecoder??mi,a=r?.maxLengthLength??Jf,c=r?.maxDataLength??Zf;for await(let u of t)for(n.append(u);n.byteLength>0;){if(i===it.LENGTH)try{if(o=s(n),o<0)throw(0,Wt.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>c)throw(0,Wt.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=s.bytes;n.consume(l),r?.onLength!=null&&r.onLength(o),i=it.DATA}catch(l){if(l instanceof RangeError){if(n.byteLength>a)throw(0,Wt.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(i===it.DATA){if(n.byteLength<o)break;let l=n.sublist(0,o);n.consume(o),r?.onData!=null&&r.onData(l),yield l,i=it.LENGTH}}if(n.byteLength>0)throw(0,Wt.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}Ht.fromReader=(r,e)=>{let t=1,n=async function*(){for(;;)try{let{done:o,value:s}=await r.next(t);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{t=1}}();return Ht({...e??{},onLength:o=>{t=o}})(n)};var Fr=class{constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},xt=class{constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Fr(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new Fr(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};function qt(r={}){return eh(t=>{let n=t.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function eh(r,e){e=e??{};let t=e.onEnd,n=new xt,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((g,k)=>{o=N=>{o=null,n.push(N);try{g(r(n))}catch(U){k(U)}return i}}):r(n),c=g=>o!=null?o(g):(n.push(g),i),u=g=>(n=new xt,o!=null?o({error:g}):(n.push({error:g}),i)),l=g=>{if(s)return i;if(e?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:g})},h=g=>s?i:(s=!0,g!=null?u(g):c({done:!0})),d=()=>(n=new xt,h(),{done:!0}),v=g=>(h(g),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:v,push:l,end:h,get readableLength(){return n.size}},t==null)return i;let y=i;return i={[Symbol.asyncIterator](){return this},next(){return y.next()},throw(g){return y.throw(g),t!=null&&(t(g),t=void 0),{done:!0}},return(){return y.return(),t!=null&&(t(),t=void 0),{done:!0}},push:l,end(g){return y.end(g),t!=null&&(t(g),t=void 0),i},get readableLength(){return y.readableLength}},i}async function*Ur(...r){let e=qt({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async t=>{for await(let n of t)e.push(n)})),e.end()}catch(t){e.end(t)}}),yield*e}var th=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},ya=r=>r!=null&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),yi=r=>r!=null&&typeof r.sink=="function"&&ya(r.source),rh=r=>e=>{let t=r.sink(e);if(t.then!=null){let n=qt({objectMode:!0});return t.then(()=>{n.end()},o=>{n.end(o)}),Ur(n,async function*(){yield*r.source,n.end()}())}return r.source};function Or(r,...e){if(yi(r)){let n=r;r=()=>n.source}else if(ya(r)){let n=r;r=()=>n}let t=[r,...e];if(t.length>1&&yi(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let n=1;n<t.length-1;n++)yi(t[n])&&(t[n]=rh(t[n]));return th(...t)}var gi=Symbol.for("@libp2p/topology");var ga=()=>{},wi=class{constructor(e){this.min=e.min??0,this.max=e.max??1/0,this.peers=new Set,this.onConnect=e.onConnect??ga,this.onDisconnect=e.onDisconnect??ga}get[Symbol.toStringTag](){return gi.toString()}get[gi](){return!0}async setRegistrar(e){this.registrar=e}disconnect(e){this.onDisconnect(e)}};function wa(r){return new wi(r)}var Ba=O(Ta(),1);var jt=class extends Error{constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function Sa(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function Aa(r,e,t){let n=t??{},i=Sa(r);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:h}=n;throw new jt(l,h)}let u=new Promise((l,h)=>{s=()=>{let{abortMessage:d,abortCode:v}=n;h(new jt(d,v))}});c=await Promise.race([u,i.next()]),s=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&await n.onAbort(r),typeof i.return=="function")try{let h=i.return();h instanceof Promise&&h.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(h){n.onReturnError!=null&&n.onReturnError(h)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return o()}var C=class extends Event{constructor(e,t){super(e),this.detail=t}};async function*ot(r,e){let t=0;if(!(e<1)){for await(let n of r)if(yield n,t++,t===e)return}}async function Se(r){for await(let e of r);}async function*zr(r,e){for await(let t of r)yield e(t)}var _i="/ipfs/bitswap/1.0.0",vi="/ipfs/bitswap/1.1.0",xi="/ipfs/bitswap/1.2.0",sh=32,ah=128,ch=3e4,$r=class{constructor(e,t,n,i={}){this._log=se(e.peerId,"network"),this._libp2p=e,this._bitswap=t,this._protocols=[_i],i.b100Only!==!0&&(this._protocols.unshift(vi),this._protocols.unshift(xi)),this._stats=n,this._running=!1,this._onPeerConnect=this._onPeerConnect.bind(this),this._onPeerDisconnect=this._onPeerDisconnect.bind(this),this._onConnection=this._onConnection.bind(this),this._hashLoader=i.hashLoader??{async getHasher(){throw new Error("Not implemented")}},this._maxInboundStreams=i.maxInboundStreams??sh,this._maxOutboundStreams=i.maxOutboundStreams??ah,this._incomingStreamTimeout=i.incomingStreamTimeout??ch}async start(){this._running=!0,await this._libp2p.handle(this._protocols,this._onConnection,{maxInboundStreams:this._maxInboundStreams,maxOutboundStreams:this._maxOutboundStreams});let e=wa({onConnect:this._onPeerConnect,onDisconnect:this._onPeerDisconnect});this._registrarIds=[];for(let t of this._protocols)this._registrarIds.push(await this._libp2p.register(t,e));this._libp2p.getConnections().forEach(t=>{this._onPeerConnect(t.remotePeer)})}async stop(){if(this._running=!1,await this._libp2p.unhandle(this._protocols),this._registrarIds!=null){for(let e of this._registrarIds)this._libp2p.unregister(e);this._registrarIds=[]}}_onConnection(e){if(!this._running)return;let{stream:t,connection:n}=e,i=new Ba.TimeoutController(this._incomingStreamTimeout);Promise.resolve().then(async()=>{this._log("incoming new bitswap %s connection from %p",t.stat.protocol,n.remotePeer),await Or(Aa(t.source,i.signal),Ht(),async o=>{for await(let s of o){try{let a=await B.deserialize(s.subarray(),this._hashLoader);await this._bitswap._receiveMessage(n.remotePeer,a)}catch(a){this._bitswap._receiveError(a);break}i.reset()}})}).catch(o=>{this._log(o),t.abort(o)}).finally(()=>{i.clear(),t.close()})}_onPeerConnect(e){this._bitswap._onPeerConnected(e)}_onPeerDisconnect(e){this._bitswap._onPeerDisconnected(e)}findProviders(e,t={}){return t.onProgress?.(new C("bitswap:network:find-providers",e)),this._libp2p.contentRouting.findProviders(e,t)}async findAndConnect(e,t){await Se(ot(zr(this.findProviders(e,t),async n=>await this.connectTo(n.id,t).catch(i=>{this._log.error(i)})),3)).catch(n=>{this._log.error(n)})}async provide(e,t={}){t.onProgress?.(new C("bitswap:network:provide",e)),await this._libp2p.contentRouting.provide(e,t)}async sendMessage(e,t,n={}){if(!this._running)throw new Error("network isn't running");let i=e.toString();this._log("sendMessage to %s",i,t),n.onProgress?.(new C("bitswap:network:send-wantlist",e)),await this._writeMessage(e,t,n),this._updateSentStats(e,t.blocks)}async connectTo(e,t={}){if(!this._running)throw new Error("network isn't running");return t.onProgress?.(new C("bitswap:network:dial",e)),await this._libp2p.dial(e,t)}_updateSentStats(e,t){let n=e.toString();if(this._stats!=null){for(let i of t.values())this._stats.push(n,"dataSent",i.length);this._stats.push(n,"blocksSent",t.size)}}async _writeMessage(e,t,n={}){let i=await this._libp2p.dialProtocol(e,[xi,vi,_i]);try{let o;switch(i.stat.protocol){case _i:o=t.serializeToBitswap100();break;case vi:case xi:o=t.serializeToBitswap110();break;default:throw new Error(`Unknown protocol: ${i.stat.protocol}`)}await Or([o],Ir(),i)}catch(o){n.onProgress?.(new C("bitswap:network:send-wantlist:error",{peer:e,error:o})),this._log(o)}finally{i.close()}}};var Wr=class{constructor(e){this.partner=e,this.wantlist=new ke,this.exchangeCount=0,this.accounting={bytesSent:0,bytesRecv:0}}sentBytes(e){this.exchangeCount++,this.lastExchange=new Date().getTime(),this.accounting.bytesSent+=e}receivedBytes(e){this.exchangeCount++,this.lastExchange=new Date().getTime(),this.accounting.bytesRecv+=e}wants(e,t,n){this.wantlist.add(e,t,n)}cancelWant(e){this.wantlist.remove(e)}wantlistContains(e){return this.wantlist.get(e)}debtRatio(){return this.accounting.bytesSent/(this.accounting.bytesRecv+1)}};var Gt=class extends Map{constructor(e,t){super(),this._cmp=t??this._defaultSort,this._keys=[];for(let[n,i]of e??[])this.set(n,i)}update(e){if(e<0||e>=this._keys.length)return;let t=this._keys[e];this._keys.splice(e,1);let n=this._find(t);this._keys.splice(n,0,t)}set(e,t){if(this.has(e)){let i=this.indexOf(e);this._keys.splice(i,1)}super.set(e,t);let n=this._find(e);return this._keys.splice(n,0,e),this}clear(){super.clear(),this._keys=[]}delete(e){if(!this.has(e))return!1;let t=this.indexOf(e);return this._keys.splice(t,1),super.delete(e)}indexOf(e){if(!this.has(e))return-1;let t=this._find(e);if(this._keys[t]===e)return t;for(let n=1;n<this._keys.length;n++){if(this._keys[t+n]===e)return t+n;if(this._keys[t-n]===e)return t-n}return-1}_find(e){let t=0,n=this._keys.length;for(;t<n;){let i=t+n>>>1,o=this._kCmp(this._keys[i],e);if(o<0)t=i+1;else if(o>0)n=i;else return i}return t}*keys(){for(let e of this._keys)yield e}*values(){for(let e of this._keys)yield this.get(e)}*entries(){for(let e of this._keys)yield[e,this.get(e)]}*[Symbol.iterator](){yield*this.entries()}forEach(e,t=this){if(e!=null)for(let n of this._keys){let i=this.get(n);if(i==null)throw new Error("Value cannot be undefined");e.apply(t,[[n,i]])}}_defaultSort(e,t){return e[0]<t[0]?-1:t[0]<e[0]?1:0}_kCmp(e,t){return this._cmp([e,this.get(e)],[t,this.get(t)])}};var uh={hasNewInfo(){return!1},merge(){}},Hr=class{constructor(e=uh){this._taskMerger=e,this._byPeer=new Gt([],qr.compare)}pushTasks(e,t){let n=this._byPeer.get(e.toString());n==null&&(n=new qr(e,this._taskMerger)),n.pushTasks(t),this._byPeer.set(e.toString(),n)}popTasks(e){let t=this._head();if(t===void 0)return{tasks:[],pendingSize:0};let{tasks:n,pendingSize:i}=t.popTasks(e);if(n.length===0)return{tasks:n,pendingSize:i};let o=t.peerId;return t.isIdle()?this._byPeer.delete(o.toString()):this._byPeer.update(0),{peerId:o,tasks:n,pendingSize:i}}_head(){if(this._byPeer.size!==0)for(let[,e]of this._byPeer)return e}remove(e,t){this._byPeer.get(t.toString())?.remove(e)}tasksDone(e,t){let n=this._byPeer.get(e.toString());if(n==null)return;let i=this._byPeer.indexOf(e.toString());for(let o of t)n.taskDone(o);this._byPeer.update(i)}},qr=class{constructor(e,t){this.peerId=e,this._taskMerger=t,this._activeTotalSize=0,this._pending=new ki,this._active=new Set}pushTasks(e){for(let t of e)this._pushTask(t)}_pushTask(e){if(!this._taskHasMoreInfoThanActiveTasks(e))return;let t=this._pending.get(e.topic);if(t!=null){e.priority>t.priority&&this._pending.updatePriority(e.topic,e.priority),this._taskMerger.merge(e,t);return}this._pending.add(e)}_taskHasMoreInfoThanActiveTasks(e){let t=[];for(let n of this._active)n.topic===e.topic&&t.push(n);return t.length===0?!0:this._taskMerger.hasNewInfo(e,t)}popTasks(e){let t=0,n=[],i=this._pending.tasks();for(let o=0;o<i.length&&t<e;o++){let s=i[o];n.push(s),t+=s.size,this._pending.delete(s.topic),this._activeTotalSize+=s.size,this._active.add(s)}return{tasks:n,pendingSize:this._pending.totalSize}}taskDone(e){this._active.has(e)&&(this._activeTotalSize-=e.size,this._active.delete(e))}remove(e){this._pending.delete(e)}isIdle(){return this._pending.length===0&&this._active.size===0}static compare(e,t){return e[1]._pending.length===0?1:t[1]._pending.length===0?-1:e[1]._activeTotalSize===t[1]._activeTotalSize?t[1]._pending.length-e[1]._pending.length:e[1]._activeTotalSize-t[1]._activeTotalSize}},ki=class{constructor(){this._tasks=new Gt([],this._compare)}get length(){return this._tasks.size}get totalSize(){return[...this._tasks.values()].reduce((e,t)=>e+t.task.size,0)}get(e){return this._tasks?.get(e)?.task}add(e){this._tasks.set(e.topic,{created:Date.now(),task:e})}delete(e){this._tasks.delete(e)}tasks(){return[...this._tasks.values()].map(e=>e.task)}updatePriority(e,t){let n=this._tasks.get(e);if(n==null)return;let i=this._tasks.indexOf(e);n.task.priority=t,this._tasks.update(i)}_compare(e,t){return e[1].task.priority===t[1].task.priority?e[1].created-t[1].created:t[1].task.priority-e[1].task.priority}};var Ca={hasNewInfo(r,e){let t=!1,n=!1;for(let i of e)i.data.haveBlock&&(t=!0),i.data.isWantBlock&&(n=!0);return!!(!n&&r.data.isWantBlock||!t&&r.data.haveBlock)},merge(r,e){let t=r.data,n=e.data;!n.haveBlock&&t.haveBlock&&(n.haveBlock=t.haveBlock,n.blockSize=t.blockSize),!n.isWantBlock&&t.isWantBlock&&(n.isWantBlock=!0,(!n.haveBlock||t.haveBlock)&&(n.haveBlock=t.haveBlock,e.size=r.size)),n.isWantBlock&&n.haveBlock&&(e.size=n.blockSize)}};var La=B.WantType,lh=16*1024,fh=1024,Vr=class{constructor(e,t,n,i,o,s={}){this._log=se(e,"engine"),this.blockstore=t,this.network=n,this._stats=i,this._opts=this._processOpts(s),this.ledgerMap=Oe({name:"ipfs_bitswap_ledger_map",metrics:o.metrics}),this._running=!1,this._requestQueue=new Hr(Ca)}_processOpts(e){return{maxSizeReplaceHasWithBlock:fh,targetMessageSize:lh,...e}}_scheduleProcessTasks(){setTimeout(()=>{this._processTasks().catch(e=>{this._log.error("error processing stats",e)})})}async _processTasks(){if(!this._running)return;let{peerId:e,tasks:t,pendingSize:n}=this._requestQueue.popTasks(this._opts.targetMessageSize);if(t.length===0)return;let i=new B(!1);i.setPendingBytes(n);let o=[],s=new Map;for(let c of t){let u=x.parse(c.topic);c.data.haveBlock?c.data.isWantBlock?(o.push(u),s.set(c.topic,c.data)):i.addHave(u):i.addDontHave(u)}let a=await this._getBlocks(o);for(let[c,u]of s){let l=x.parse(c),h=a.get(c);h!=null?i.addBlock(l,h):u.sendDontHave&&i.addDontHave(l)}if(i.empty){e!=null&&this._requestQueue.tasksDone(e,t),this._scheduleProcessTasks();return}try{e!=null&&await this.network.sendMessage(e,i);for(let[c,u]of a.entries())e!=null&&this.messageSent(e,x.parse(c),u)}catch(c){this._log.error(c)}e!=null&&this._requestQueue.tasksDone(e,t),this._scheduleProcessTasks()}wantlistForPeer(e){let t=e.toString(),n=this.ledgerMap.get(t);return n!=null?n.wantlist.sortedEntries():new Map}ledgerForPeer(e){let t=e.toString(),n=this.ledgerMap.get(t);if(n!=null)return{peer:n.partner,value:n.debtRatio(),sent:n.accounting.bytesSent,recv:n.accounting.bytesRecv,exchanged:n.exchangeCount}}peers(){return Array.from(this.ledgerMap.values()).map(e=>e.partner)}receivedBlocks(e){if(e.length!==0){for(let t of this.ledgerMap.values())for(let{cid:n,block:i}of e){let o=t.wantlistContains(n);if(o==null)continue;let s=i.length,a=this._sendAsBlock(o.wantType,s),c=s;a||(c=B.blockPresenceSize(o.cid)),this._requestQueue.pushTasks(t.partner,[{topic:o.cid.toString(E),priority:o.priority,size:c,data:{blockSize:s,isWantBlock:a,haveBlock:!0,sendDontHave:!1}}])}this._scheduleProcessTasks()}}async messageReceived(e,t){let n=this._findOrCreate(e);if(t.empty)return;if(t.full&&(n.wantlist=new ke),this._updateBlockAccounting(t.blocks,n),t.wantlist.size===0){this._scheduleProcessTasks();return}let i=[],o=[];t.wantlist.forEach(s=>{s.cancel?(n.cancelWant(s.cid),i.push(s.cid)):(n.wants(s.cid,s.priority,s.wantType),o.push(s))}),this._cancelWants(e,i),await this._addWants(e,o),this._scheduleProcessTasks()}_cancelWants(e,t){for(let n of t)this._requestQueue.remove(n.toString(E),e)}async _addWants(e,t){let n=await this._getBlockSizes(t.map(o=>o.cid)),i=[];for(let o of t){let s=o.cid.toString(E),a=n.get(s);if(a==null)o.sendDontHave&&i.push({topic:s,priority:o.priority,size:B.blockPresenceSize(o.cid),data:{isWantBlock:o.wantType===La.Block,blockSize:0,haveBlock:!1,sendDontHave:o.sendDontHave}});else{let c=this._sendAsBlock(o.wantType,a),u=a;c||(u=B.blockPresenceSize(o.cid)),i.push({topic:s,priority:o.priority,size:u,data:{isWantBlock:c,blockSize:a,haveBlock:!0,sendDontHave:o.sendDontHave}})}this._requestQueue.pushTasks(e,i)}}_sendAsBlock(e,t){return e===La.Block||t<=this._opts.maxSizeReplaceHasWithBlock}async _getBlockSizes(e){let t=await this._getBlocks(e);return new Map([...t].map(([n,i])=>[n,i.length]))}async _getBlocks(e){let t=new Map;return await Promise.all(e.map(async n=>{try{let i=await this.blockstore.get(n);t.set(n.toString(E),i)}catch(i){i.code!=="ERR_NOT_FOUND"&&this._log.error("failed to query blockstore for %s: %s",n,i)}})),t}_updateBlockAccounting(e,t){for(let n of e.values())this._log("got block (%s bytes)",n.length),t.receivedBytes(n.length)}messageSent(e,t,n){let i=this._findOrCreate(e);i.sentBytes(n.length),i.wantlist.remove(t)}numBytesSentTo(e){return this._findOrCreate(e).accounting.bytesSent}numBytesReceivedFrom(e){return this._findOrCreate(e).accounting.bytesRecv}peerDisconnected(e){this.ledgerMap.delete(e.toString())}_findOrCreate(e){let t=e.toString(),n=this.ledgerMap.get(t);if(n!=null)return n;let i=new Wr(e);return this.ledgerMap.set(t,i),this._stats!=null&&this._stats.push(t,"peerCount",1),i}start(){this._running=!0}stop(){this._running=!1}};var ja=O(Qr(),1);var Ti={};V(Ti,{identity:()=>wh});var wh=mt({prefix:"\0",name:"identity",encode:r=>ko(r),decode:r=>xo(r)});var Si={};V(Si,{base2:()=>bh});var bh=I({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ai={};V(Ai,{base8:()=>_h});var _h=I({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Bi={};V(Bi,{base10:()=>vh});var vh=Ie({prefix:"9",name:"base10",alphabet:"0123456789"});var Ci={};V(Ci,{base16:()=>xh,base16upper:()=>kh});var xh=I({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),kh=I({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Li={};V(Li,{base36:()=>Qt,base36upper:()=>Eh});var Qt=Ie({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Eh=Ie({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Pi={};V(Pi,{base256emoji:()=>Ch});var $a=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Th=$a.reduce((r,e,t)=>(r[t]=e,r),[]),Sh=$a.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Ah(r){return r.reduce((e,t)=>(e+=Th[t],e),"")}function Bh(r){let e=[];for(let t of r){let n=Sh[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var Ch=mt({prefix:"\u{1F680}",name:"base256emoji",encode:Ah,decode:Bh});var Kr=85;var ug=new TextEncoder,lg=new TextDecoder;var Di={...Ti,...Si,...Ai,...Bi,...Ci,...qn,...Li,...Hn,...Kn,...Pi},mg={...On,...In};function Ha(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Wa=Ha("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ii=Ha("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=Te(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Ph={utf8:Wa,"utf-8":Wa,hex:Di.base16,latin1:Ii,ascii:Ii,binary:Ii,...Di},Xr=Ph;function st(r,e="utf8"){let t=Xr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}var qa=r=>`unwant:${st(r.multihash.bytes,"base64")}`,Va=r=>`block:${st(r.multihash.bytes,"base64")}`,Jr=class extends ja.EventEmitter{constructor(e){super(),this.setMaxListeners(aa),this._log=se(e,"notif")}hasBlock(e,t){let n=Va(e);this._log(n),this.emit(n,t)}async wantBlock(e,t={}){if(e==null)throw new Error("Not a valid cid");let n=Va(e),i=qa(e);return this._log(`wantBlock:${e}`),await new Promise((o,s)=>{let a=()=>{this.removeListener(n,c),t.onProgress?.(new C("bitswap:want-block:unwant",e)),s(new Error(`Block for ${e} unwanted`))},c=u=>{this.removeListener(i,a),t.onProgress?.(new C("bitswap:want-block:block",e)),o(u)};this.once(i,a),this.once(n,c),t.signal?.addEventListener("abort",()=>{this.removeListener(n,c),this.removeListener(i,a),s(new Error(`Want for ${e} aborted`))})})}unwantBlock(e){let t=qa(e);this._log(t),this.emit(t)}};var Za=O(Qr(),1);var Xa=O(Qr(),1),Mi=O(Ka(),1),Kt=class extends Xa.EventEmitter{constructor(e,t){super(),this._options=t,this._queue=[],this._stats={},this._frequencyLastTime=Date.now(),this._frequencyAccumulators={},this._movingAverages={},this._update=this._update.bind(this),e.forEach(n=>{this._stats[n]=BigInt(0),this._movingAverages[n]={},this._options.movingAverageIntervals.forEach(i=>{(this._movingAverages[n][i]=(0,Mi.default)(i)).push(this._frequencyLastTime,0)})}),this._enabled=this._options.enabled}enable(){this._enabled=!0}disable(){this._enabled=!1}stop(){this._timeout!=null&&clearTimeout(this._timeout)}get snapshot(){return Object.assign({},this._stats)}get movingAverages(){return Object.assign({},this._movingAverages)}push(e,t){this._enabled&&(this._queue.push([e,t,Date.now()]),this._resetComputeTimeout())}_resetComputeTimeout(){this._timeout!=null&&clearTimeout(this._timeout),this._timeout=setTimeout(this._update,this._nextTimeout())}_nextTimeout(){let e=this._queue.length/this._options.computeThrottleMaxQueueSize;return Math.max(this._options.computeThrottleTimeout*(1-e),0)}_update(){if(this._timeout=void 0,this._queue.length>0){let e;for(;this._queue.length>0;){let t=e=this._queue.shift();t!=null&&this._applyOp(t)}e!=null&&this._updateFrequency(e[2]),this.emit("update",this._stats)}}_updateFrequency(e){let t=e-this._frequencyLastTime;t>0&&Object.keys(this._stats).forEach(n=>{this._updateFrequencyFor(n,t,e)}),this._frequencyLastTime=e}_updateFrequencyFor(e,t,n){let i=this._frequencyAccumulators[e]??0;this._frequencyAccumulators[e]=0;let o=i/t*1e3,s=this._movingAverages[e];s==null&&(s=this._movingAverages[e]={}),this._options.movingAverageIntervals.forEach(a=>{let c=s[a];c==null&&(c=s[a]=(0,Mi.default)(a)),c.push(n,o)})}_applyOp(e){let t=e[0],n=e[1];if(typeof n!="number")throw new Error(`invalid increment number: ${n}`);Object.prototype.hasOwnProperty.call(this._stats,t)||(this._stats[t]=BigInt(0)),this._stats[t]=BigInt(this._stats[t])+BigInt(n),this._frequencyAccumulators[t]==null&&(this._frequencyAccumulators[t]=0),this._frequencyAccumulators[t]+=n}};var Ja={enabled:!1,computeThrottleTimeout:1e3,computeThrottleMaxQueueSize:1e3,movingAverageIntervals:[60*1e3,5*60*1e3,15*60*1e3]},Zr=class extends Za.EventEmitter{constructor(e,t=[],n=Ja){super();let i=Object.assign({},Ja,n);if(typeof i.computeThrottleTimeout!="number")throw new Error("need computeThrottleTimeout");if(typeof i.computeThrottleMaxQueueSize!="number")throw new Error("need computeThrottleMaxQueueSize");this._initialCounters=t,this._options=i,this._enabled=this._options.enabled,this._global=new Kt(t,i),this._global.on("update",o=>this.emit("update",o)),this._peers=Oe({name:"ipfs_bitswap_stats_peers",metrics:e.metrics})}enable(){this._enabled=!0,this._options.enabled=!0,this._global.enable()}disable(){this._enabled=!1,this._options.enabled=!1,this._global.disable()}stop(){this._enabled=!1,this._global.stop();for(let e of this._peers)e[1].stop()}get snapshot(){return this._global.snapshot}get movingAverages(){return this._global.movingAverages}forPeer(e){let t=e.toString();return this._peers.get(t)}push(e,t,n){if(this._enabled&&(this._global.push(t,n),e!=null)){let i=this._peers.get(e);i==null&&(i=new Kt(this._initialCounters,this._options),this._peers.set(e,i)),i.push(t,n)}}disconnected(e){let t=e.toString(),n=this._peers.get(t);n!=null&&(n.stop(),this._peers.delete(t))}};var tc=O(ec(),1);var Dh={async getHasher(){throw new Error("Not implemented")}},Ih={maxInboundStreams:32,maxOutboundStreams:128,incomingStreamTimeout:3e4,hashLoader:Dh,statsEnabled:!1,statsComputeThrottleTimeout:1e3,statsComputeThrottleMaxQueueSize:1e3},Mh=["blocksReceived","dataReceived","dupBlksReceived","dupDataReceived","blocksSent","dataSent","providesBufferLength","wantListLength","peerCount"],Yr=class{constructor(e,t,n={}){this._libp2p=e,this._log=se(this.peerId),this._options=Object.assign({},Ih,n),this.stats=new Zr(e,Mh,{enabled:this._options.statsEnabled,computeThrottleTimeout:this._options.statsComputeThrottleTimeout,computeThrottleMaxQueueSize:this._options.statsComputeThrottleMaxQueueSize}),this.network=new $r(e,this,this.stats,{hashLoader:n.hashLoader,maxInboundStreams:n.maxInboundStreams,maxOutboundStreams:n.maxOutboundStreams,incomingStreamTimeout:n.incomingStreamTimeout}),this.blockstore=t,this.engine=new Vr(this.peerId,t,this.network,this.stats,e),this.wm=new Lr(this.peerId,this.network,this.stats,e),this.notifications=new Jr(this.peerId),this.started=!1}isStarted(){return this.started}get peerId(){return this._libp2p.peerId}async _receiveMessage(e,t){try{await this.engine.messageReceived(e,t)}catch{this._log("failed to receive message",t)}if(t.blocks.size===0)return;let n=[];for(let[i,o]of t.blocks.entries()){let s=x.parse(i);n.push({wasWanted:this.wm.wantlist.contains(s),cid:s,data:o})}this.wm.cancelWants(n.filter(({wasWanted:i})=>i).map(({cid:i})=>i)),await Promise.all(n.map(async({cid:i,wasWanted:o,data:s})=>{await this._handleReceivedBlock(e,i,s,o)}))}async _handleReceivedBlock(e,t,n,i){this._log("received block");let o=await this.blockstore.has(t);this._updateReceiveCounters(e.toString(),t,n,o),i&&await this.put(t,n)}_updateReceiveCounters(e,t,n,i){this.stats.push(e,"blocksReceived",1),this.stats.push(e,"dataReceived",n.length),i&&(this.stats.push(e,"dupBlksReceived",1),this.stats.push(e,"dupDataReceived",n.length))}_receiveError(e){this._log.error("ReceiveError",e)}_onPeerConnected(e){this.wm.connected(e)}_onPeerDisconnected(e){this.wm.disconnected(e),this.engine.peerDisconnected(e),this.stats.disconnected(e)}enableStats(){this.stats.enable()}disableStats(){this.stats.disable()}wantlistForPeer(e,t){return this.engine.wantlistForPeer(e)}ledgerForPeer(e){return this.engine.ledgerForPeer(e)}async want(e,t={}){let n=async(c,u)=>(this.wm.wantBlocks([c],u),await this.notifications.wantBlock(c,u)),i=!1,o=async(c,u)=>{try{return await this.blockstore.get(c,u)}catch(l){if(l.code!=="ERR_NOT_FOUND")throw l;return i||(i=!0,this.network.findAndConnect(c,u).catch(h=>{this._log.error(h)})),await n(c,u)}},s=new AbortController,a=t.signal!=null?(0,tc.anySignal)([t.signal,s.signal]):s.signal;try{return await Promise.race([this.notifications.wantBlock(e,{...t,signal:a}),o(e,{...t,signal:a})])}finally{s.abort()}}unwant(e){let t=Array.isArray(e)?e:[e];this.wm.unwantBlocks(t),t.forEach(n=>{this.notifications.unwantBlock(n)})}cancelWants(e){this.wm.cancelWants(Array.isArray(e)?e:[e])}async put(e,t,n){await this.blockstore.put(e,t),this.notify(e,t)}async*putMany(e,t){for await(let{cid:n,block:i}of this.blockstore.putMany(e,t))this.notify(n,i),yield{cid:n,block:i}}notify(e,t,n={}){this.notifications.hasBlock(e,t),this.engine.receivedBlocks([{cid:e,block:t}]),this.network.provide(e,n).catch(i=>{this._log.error("Failed to provide: %s",i.message)})}getWantlist(){return this.wm.wantlist.entries()}get peers(){return this.engine.peers()}async start(){this.wm.start(),await this.network.start(),this.engine.start(),this.started=!0}async stop(){this.stats.stop(),this.wm.stop(),await this.network.stop(),this.engine.stop(),this.started=!1}};var rc=(r,e,t={})=>new Yr(r,e,t);async function*de(r,e){for await(let t of r)await e(t)&&(yield t)}var dc=O(ic(),1);var Jt=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Oi=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},oc=r=>globalThis.DOMException===void 0?new Oi(r):new DOMException(r),sc=r=>{let e=r.reason===void 0?oc("This operation was aborted."):r.reason;return e instanceof Error?e:oc(e)};function Ri(r,e,t,n){let i,o=new Promise((s,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(r);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(sc(c)),c.addEventListener("abort",()=>{a(sc(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof t=="function"){try{s(t())}catch(l){a(l)}return}let c=typeof t=="string"?t:`Promise timed out after ${e} milliseconds`,u=t instanceof Error?t:new Jt(c);typeof r.cancel=="function"&&r.cancel(),a(u)},e),(async()=>{try{s(await r)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function zi(r,e,t){let n=0,i=r.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;t(r[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var at=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Ae,Zt=class{constructor(){Ae.set(this,[])}enqueue(e,t){t={priority:0,...t};let n={priority:t.priority,run:e};if(this.size&&at(this,Ae,"f")[this.size-1].priority>=t.priority){at(this,Ae,"f").push(n);return}let i=zi(at(this,Ae,"f"),n,(o,s)=>s.priority-o.priority);at(this,Ae,"f").splice(i,0,n)}dequeue(){let e=at(this,Ae,"f").shift();return e?.run}filter(e){return at(this,Ae,"f").filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return at(this,Ae,"f").length}};Ae=new WeakMap;var D=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},b=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},F,er,tr,ze,an,rr,tn,pe,Yt,J,rn,Z,nr,Re,nn,ac,cc,fc,uc,lc,on,$i,Wi,cn,hc,sn,un=class extends Error{},Be=class extends dc.default{constructor(e){var t,n,i,o;if(super(),F.add(this),er.set(this,void 0),tr.set(this,void 0),ze.set(this,0),an.set(this,void 0),rr.set(this,void 0),tn.set(this,0),pe.set(this,void 0),Yt.set(this,void 0),J.set(this,void 0),rn.set(this,void 0),Z.set(this,0),nr.set(this,void 0),Re.set(this,void 0),nn.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Zt,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(t=e.intervalCap)===null||t===void 0?void 0:t.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);D(this,er,e.carryoverConcurrencyCount,"f"),D(this,tr,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),D(this,an,e.intervalCap,"f"),D(this,rr,e.interval,"f"),D(this,J,new e.queueClass,"f"),D(this,rn,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,D(this,nn,e.throwOnTimeout===!0,"f"),D(this,Re,e.autoStart===!1,"f")}get concurrency(){return b(this,nr,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);D(this,nr,e,"f"),b(this,F,"m",cn).call(this)}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:b(this,nn,"f"),...t},new Promise((n,i)=>{b(this,J,"f").enqueue(async()=>{var o,s,a;D(this,Z,(s=b(this,Z,"f"),s++,s),"f"),D(this,ze,(a=b(this,ze,"f"),a++,a),"f");try{if(!((o=t.signal)===null||o===void 0)&&o.aborted)throw new un("The task was aborted.");let c=e({signal:t.signal});t.timeout&&(c=Ri(Promise.resolve(c),t.timeout)),t.signal&&(c=Promise.race([c,b(this,F,"m",hc).call(this,t.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Jt&&!t.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{b(this,F,"m",fc).call(this)}},t),this.emit("add"),b(this,F,"m",on).call(this)})}async addAll(e,t){return Promise.all(e.map(async n=>this.add(n,t)))}start(){return b(this,Re,"f")?(D(this,Re,!1,"f"),b(this,F,"m",cn).call(this),this):this}pause(){D(this,Re,!0,"f")}clear(){D(this,J,new(b(this,rn,"f")),"f")}async onEmpty(){b(this,J,"f").size!==0&&await b(this,F,"m",sn).call(this,"empty")}async onSizeLessThan(e){b(this,J,"f").size<e||await b(this,F,"m",sn).call(this,"next",()=>b(this,J,"f").size<e)}async onIdle(){b(this,Z,"f")===0&&b(this,J,"f").size===0||await b(this,F,"m",sn).call(this,"idle")}get size(){return b(this,J,"f").size}sizeBy(e){return b(this,J,"f").filter(e).length}get pending(){return b(this,Z,"f")}get isPaused(){return b(this,Re,"f")}};er=new WeakMap,tr=new WeakMap,ze=new WeakMap,an=new WeakMap,rr=new WeakMap,tn=new WeakMap,pe=new WeakMap,Yt=new WeakMap,J=new WeakMap,rn=new WeakMap,Z=new WeakMap,nr=new WeakMap,Re=new WeakMap,nn=new WeakMap,F=new WeakSet,ac=function(){return b(this,tr,"f")||b(this,ze,"f")<b(this,an,"f")},cc=function(){return b(this,Z,"f")<b(this,nr,"f")},fc=function(){var e;D(this,Z,(e=b(this,Z,"f"),e--,e),"f"),b(this,F,"m",on).call(this),this.emit("next")},uc=function(){b(this,F,"m",Wi).call(this),b(this,F,"m",$i).call(this),D(this,Yt,void 0,"f")},lc=function(){let e=Date.now();if(b(this,pe,"f")===void 0){let t=b(this,tn,"f")-e;if(t<0)D(this,ze,b(this,er,"f")?b(this,Z,"f"):0,"f");else return b(this,Yt,"f")===void 0&&D(this,Yt,setTimeout(()=>{b(this,F,"m",uc).call(this)},t),"f"),!0}return!1},on=function(){if(b(this,J,"f").size===0)return b(this,pe,"f")&&clearInterval(b(this,pe,"f")),D(this,pe,void 0,"f"),this.emit("empty"),b(this,Z,"f")===0&&this.emit("idle"),!1;if(!b(this,Re,"f")){let e=!b(this,F,"a",lc);if(b(this,F,"a",ac)&&b(this,F,"a",cc)){let t=b(this,J,"f").dequeue();return t?(this.emit("active"),t(),e&&b(this,F,"m",$i).call(this),!0):!1}}return!1},$i=function(){b(this,tr,"f")||b(this,pe,"f")!==void 0||(D(this,pe,setInterval(()=>{b(this,F,"m",Wi).call(this)},b(this,rr,"f")),"f"),D(this,tn,Date.now()+b(this,rr,"f"),"f"))},Wi=function(){b(this,ze,"f")===0&&b(this,Z,"f")===0&&b(this,pe,"f")&&(clearInterval(b(this,pe,"f")),D(this,pe,void 0,"f")),D(this,ze,b(this,er,"f")?b(this,Z,"f"):0,"f"),b(this,F,"m",cn).call(this)},cn=function(){for(;b(this,F,"m",on).call(this););},hc=async function(e){return new Promise((t,n)=>{e.addEventListener("abort",()=>{n(new un("The task was aborted."))},{once:!0})})},sn=async function(e,t){return new Promise(n=>{let i=()=>{t&&!t()||(this.off(e,i),n())};this.on(e,i)})};var Hi=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},qi=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},pc=r=>globalThis.DOMException===void 0?new qi(r):new DOMException(r),mc=r=>{let e=r.reason===void 0?pc("This operation was aborted."):r.reason;return e instanceof Error?e:pc(e)};function Vi(r,e){let{milliseconds:t,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,a=new Promise((c,u)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){c(r);return}if(e.signal){let{signal:h}=e;h.aborted&&u(mc(h)),h.addEventListener("abort",()=>{u(mc(h))})}let l=new Hi;s=o.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(h){u(h)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?c():i instanceof Error?u(i):(l.message=i??`Promise timed out after ${t} milliseconds`,u(l))},t),(async()=>{try{c(await r)}catch(h){u(h)}finally{o.clearTimeout.call(void 0,s)}})()});return a.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},a}var yc=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");var ji="lock:worker:request-read",Gi="lock:worker:release-read",Qi="lock:master:grant-read",Ki="lock:worker:request-write",Xi="lock:worker:release-write",Ji="lock:master:grant-write";var $e={},Et=r=>{r.addEventListener("message",e=>{Et.dispatchEvent("message",r,e)}),r.port!=null&&r.port.addEventListener("message",e=>{Et.dispatchEvent("message",r,e)})};Et.addEventListener=(r,e)=>{$e[r]==null&&($e[r]=[]),$e[r].push(e)};Et.removeEventListener=(r,e)=>{$e[r]!=null&&($e[r]=$e[r].filter(t=>t===e))};Et.dispatchEvent=function(r,e,t){$e[r]!=null&&$e[r].forEach(n=>n(e,t))};var Zi=Et;var gc=(r,e,t,n,i)=>(o,s)=>{if(s.data.type!==t)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};r.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let h={type:l.data.type,name:l.data.name,identifier:l.data.identifier};h.type===n&&h.identifier===a.identifier&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},wc=(r,e,t,n)=>async()=>{let i=yc();return globalThis.postMessage({type:e,identifier:i,name:r}),await new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===t&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:r})}))};globalThis.addEventListener("message",s)})},Oh={singleProcess:!1},bc=r=>{if(r=Object.assign({},Oh,r),!!globalThis.document||r.singleProcess){let t=new EventTarget;return Zi.addEventListener("message",gc(t,"requestReadLock",ji,Gi,Qi)),Zi.addEventListener("message",gc(t,"requestWriteLock",Ki,Xi,Ji)),t}return{isWorker:!0,readLock:t=>wc(t,ji,Qi,Gi),writeLock:t=>wc(t,Ki,Ji,Xi)}};var ct={},We;async function Yi(r,e){let t,n=new Promise(i=>{t=i});return r.add(async()=>await Vi((async()=>await new Promise(i=>{t(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var Rh=(r,e)=>{if(We.isWorker===!0)return{readLock:We.readLock(r,e),writeLock:We.writeLock(r,e)};let t=new Be({concurrency:1}),n;return{async readLock(){if(n!=null)return await Yi(n,e);n=new Be({concurrency:e.concurrency,autoStart:!1});let i=n,o=Yi(n,e);return t.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Yi(t,e)}}},zh={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function eo(r){let e=Object.assign({},zh,r);return We==null&&(We=bc(e),We.isWorker!==!0&&(We.addEventListener("requestReadLock",t=>{ct[t.data.name]!=null&&ct[t.data.name].readLock().then(async n=>await t.data.handler().finally(()=>n()))}),We.addEventListener("requestWriteLock",async t=>{ct[t.data.name]!=null&&ct[t.data.name].writeLock().then(async n=>await t.data.handler().finally(()=>n()))}))),ct[e.name]==null&&(ct[e.name]=Rh(e.name,e)),ct[e.name]}async function*ln(r,e){for await(let t of r)await e(t),yield t}var fn=class{constructor(e,t,n={}){this.child=e,this.bitswap=n.bitswap,this.pins=t,this.lock=eo({singleProcess:n.holdGcLock})}unwrap(){return this.child}async put(e,t,n={}){let i=await this.lock.readLock();try{if(await this.child.has(e)){n.onProgress?.(new C("blocks:put:duplicate",e));return}this.bitswap?.isStarted()===!0&&(n.onProgress?.(new C("blocks:put:bitswap:notify",e)),this.bitswap.notify(e,t,n)),n.onProgress?.(new C("blocks:put:blockstore:put",e)),await this.child.put(e,t,n)}finally{i()}}async*putMany(e,t={}){let n=await this.lock.readLock();try{let i=de(e,async({cid:s})=>{let a=await this.child.has(s);return a&&t.onProgress?.(new C("blocks:put-many:duplicate",s)),!a}),o=ln(i,({cid:s,block:a})=>{t.onProgress?.(new C("blocks:put-many:bitswap:notify",s)),this.bitswap?.notify(s,a,t)});t.onProgress?.(new C("blocks:put-many:blockstore:put-many")),yield*this.child.putMany(o,t)}finally{n()}}async get(e,t={}){let n=await this.lock.readLock();try{if(this.bitswap?.isStarted()!=null&&!await this.child.has(e)){t.onProgress?.(new C("blocks:get:bitswap:get",e));let i=await this.bitswap.want(e,t);return t.onProgress?.(new C("blocks:get:blockstore:put",e)),await this.child.put(e,i,t),i}return t.onProgress?.(new C("blocks:get:blockstore:get",e)),await this.child.get(e,t)}finally{n()}}async*getMany(e,t={}){let n=await this.lock.readLock();try{t.onProgress?.(new C("blocks:get-many:blockstore:get-many")),yield*this.child.getMany(ln(e,async i=>{if(this.bitswap?.isStarted()===!0&&!await this.child.has(i)){t.onProgress?.(new C("blocks:get-many:bitswap:get",i));let o=await this.bitswap.want(i,t);t.onProgress?.(new C("blocks:get-many:blockstore:put",i)),await this.child.put(i,o,t)}}))}finally{n()}}async delete(e,t={}){let n=await this.lock.writeLock();try{if(await this.pins.isPinned(e))throw new Error("CID was pinned");t.onProgress?.(new C("blocks:delete:blockstore:delete",e)),await this.child.delete(e,t)}finally{n()}}async*deleteMany(e,t={}){let n=await this.lock.writeLock();try{let i=this;t.onProgress?.(new C("blocks:delete-many:blockstore:delete-many")),yield*this.child.deleteMany(async function*(){for await(let o of e){if(await i.pins.isPinned(o))throw new Error("CID was pinned");yield o}}(),t)}finally{n()}}async has(e,t={}){let n=await this.lock.readLock();try{return await this.child.has(e,t)}finally{n()}}async*getAll(e={}){let t=await this.lock.readLock();try{e.onProgress?.(new C("blocks:get-all:blockstore:get-many")),yield*this.child.getAll(e)}finally{t()}}};var _c=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");function hn(r,e="utf8"){let t=Xr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?rt(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}var Ce="/",vc=new TextEncoder().encode(Ce),dn=vc[0],P=class{constructor(e,t){if(typeof e=="string")this._buf=hn(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(t==null&&(t=!0),t&&this.clean(),this._buf.byteLength===0||this._buf[0]!==dn)throw new Error("Invalid key")}toString(e="utf8"){return st(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new P(e.join(Ce))}static random(){return new P(_c().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new P(e):typeof e.uint8Array=="function"?new P(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=vc),this._buf[0]!==dn){let e=new Uint8Array(this._buf.byteLength+1);e.fill(dn,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===dn;)this._buf=this._buf.subarray(0,-1)}less(e){let t=this.list(),n=e.list();for(let i=0;i<t.length;i++){if(n.length<i+1)return!1;let o=t[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return t.length<n.length}reverse(){return P.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Ce).slice(1)}type(){return $h(this.baseNamespace())}name(){return Wh(this.baseNamespace())}instance(e){return new P(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Ce)||(e+=Ce),e+=this.type(),new P(e)}parent(){let e=this.list();return e.length===1?new P(Ce):new P(e.slice(0,-1).join(Ce))}child(e){return this.toString()===Ce?e:e.toString()===Ce?this:new P(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return P.withNamespaces([...this.namespaces(),...Hh(e.map(t=>t.namespaces()))])}};function $h(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Wh(r){let e=r.split(":");return e[e.length-1]}function Hh(r){return[].concat(...r)}var qh=["string","number","bigint","symbol"],Vh=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function xc(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let e=typeof r;if(qh.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(r))return"Array";if(jh(r))return"Buffer";let t=Gh(r);return t||"Object"}function jh(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function Gh(r){let e=Object.prototype.toString.call(r).slice(8,-1);if(Vh.includes(e))return e}var f=class{constructor(e,t,n){this.major=e,this.majorEncoded=e<<5,this.name=t,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};f.uint=new f(0,"uint",!0);f.negint=new f(1,"negint",!0);f.bytes=new f(2,"bytes",!0);f.string=new f(3,"string",!0);f.array=new f(4,"array",!1);f.map=new f(5,"map",!1);f.tag=new f(6,"tag",!1);f.float=new f(7,"float",!0);f.false=new f(7,"false",!0);f.true=new f(7,"true",!0);f.null=new f(7,"null",!0);f.undefined=new f(7,"undefined",!0);f.break=new f(7,"break",!0);var p=class{constructor(e,t,n){this.type=e,this.value=t,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Tt=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Qh=new TextDecoder,Kh=new TextEncoder;function pn(r){return Tt&&globalThis.Buffer.isBuffer(r)}function ir(r){return r instanceof Uint8Array?pn(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Sc=Tt?(r,e,t)=>t-e>64?globalThis.Buffer.from(r.subarray(e,t)).toString("utf8"):Ec(r,e,t):(r,e,t)=>t-e>64?Qh.decode(r.subarray(e,t)):Ec(r,e,t),mn=Tt?r=>r.length>64?globalThis.Buffer.from(r):kc(r):r=>r.length>64?Kh.encode(r):kc(r),ve=r=>Uint8Array.from(r),St=Tt?(r,e,t)=>pn(r)?new Uint8Array(r.subarray(e,t)):r.slice(e,t):(r,e,t)=>r.slice(e,t),Ac=Tt?(r,e)=>(r=r.map(t=>t instanceof Uint8Array?t:globalThis.Buffer.from(t)),ir(globalThis.Buffer.concat(r,e))):(r,e)=>{let t=new Uint8Array(e),n=0;for(let i of r)n+i.length>t.length&&(i=i.subarray(0,t.length-n)),t.set(i,n),n+=i.length;return t},Bc=Tt?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function Cc(r,e){if(pn(r)&&pn(e))return r.compare(e);for(let t=0;t<r.length;t++)if(r[t]!==e[t])return r[t]<e[t]?-1:1;return 0}function kc(r,e=1/0){let t,n=r.length,i=null,o=[];for(let s=0;s<n;++s){if(t=r.charCodeAt(s),t>55295&&t<57344){if(!i){if(t>56319){(e-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=t;continue}if(t<56320){(e-=3)>-1&&o.push(239,191,189),i=t;continue}t=(i-55296<<10|t-56320)+65536}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,t<128){if((e-=1)<0)break;o.push(t)}else if(t<2048){if((e-=2)<0)break;o.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;o.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;o.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return o}function Ec(r,e,t){let n=[];for(;e<t;){let i=r[e],o=null,s=i>239?4:i>223?3:i>191?2:1;if(e+s<=t){let a,c,u,l;switch(s){case 1:i<128&&(o=i);break;case 2:a=r[e+1],(a&192)===128&&(l=(i&31)<<6|a&63,l>127&&(o=l));break;case 3:a=r[e+1],c=r[e+2],(a&192)===128&&(c&192)===128&&(l=(i&15)<<12|(a&63)<<6|c&63,l>2047&&(l<55296||l>57343)&&(o=l));break;case 4:a=r[e+1],c=r[e+2],u=r[e+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(l=(i&15)<<18|(a&63)<<12|(c&63)<<6|u&63,l>65535&&l<1114112&&(o=l))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),e+=s}return to(n)}var Tc=4096;function to(r){let e=r.length;if(e<=Tc)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=Tc));return t}var Xh=256,or=class{constructor(e=Xh){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let t=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let i=t.length-(this.maxCursor-this.cursor)-1;t.set(e,i)}else{if(t){let i=t.length-(this.maxCursor-this.cursor)-1;i<t.length&&(this.chunks[this.chunks.length-1]=t.subarray(0,i),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(t=Bc(this.chunkSize),this.chunks.push(t),this.maxCursor+=t.length,this._initReuseChunk===null&&(this._initReuseChunk=t),t.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let t;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(t=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):t=St(n,0,this.cursor)}else t=Ac(this.chunks,this.cursor);return e&&this.reset(),t}};var w="CBOR decode error:",At="CBOR encode error:",sr=[];sr[23]=1;sr[24]=2;sr[25]=3;sr[26]=5;sr[27]=9;function Le(r,e,t){if(r.length-e<t)throw new Error(`${w} not enough data for type`)}var z=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Y(r,e,t){Le(r,e,1);let n=r[e];if(t.strict===!0&&n<z[0])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);return n}function ee(r,e,t){Le(r,e,2);let n=r[e]<<8|r[e+1];if(t.strict===!0&&n<z[1])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);return n}function te(r,e,t){Le(r,e,4);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];if(t.strict===!0&&n<z[2])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);return n}function re(r,e,t){Le(r,e,8);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3],i=r[e+4]*16777216+(r[e+5]<<16)+(r[e+6]<<8)+r[e+7],o=(BigInt(n)<<BigInt(32))+BigInt(i);if(t.strict===!0&&o<z[3])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);if(o<=Number.MAX_SAFE_INTEGER)return Number(o);if(t.allowBigInt===!0)return o;throw new Error(`${w} integers outside of the safe integer range are not supported`)}function Lc(r,e,t,n){return new p(f.uint,Y(r,e+1,n),2)}function Pc(r,e,t,n){return new p(f.uint,ee(r,e+1,n),3)}function Nc(r,e,t,n){return new p(f.uint,te(r,e+1,n),5)}function Dc(r,e,t,n){return new p(f.uint,re(r,e+1,n),9)}function ce(r,e){return W(r,0,e.value)}function W(r,e,t){if(t<z[0]){let n=Number(t);r.push([e|n])}else if(t<z[1]){let n=Number(t);r.push([e|24,n])}else if(t<z[2]){let n=Number(t);r.push([e|25,n>>>8,n&255])}else if(t<z[3]){let n=Number(t);r.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(t);if(n<z[4]){let i=[e|27,0,0,0,0,0,0,0],o=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));i[8]=o&255,o=o>>8,i[7]=o&255,o=o>>8,i[6]=o&255,o=o>>8,i[5]=o&255,i[4]=s&255,s=s>>8,i[3]=s&255,s=s>>8,i[2]=s&255,s=s>>8,i[1]=s&255,r.push(i)}else throw new Error(`${w} encountered BigInt larger than allowable range`)}}ce.encodedSize=function(e){return W.encodedSize(e.value)};W.encodedSize=function(e){return e<z[0]?1:e<z[1]?2:e<z[2]?3:e<z[3]?5:9};ce.compareTokens=function(e,t){return e.value<t.value?-1:e.value>t.value?1:0};function Ic(r,e,t,n){return new p(f.negint,-1-Y(r,e+1,n),2)}function Mc(r,e,t,n){return new p(f.negint,-1-ee(r,e+1,n),3)}function Fc(r,e,t,n){return new p(f.negint,-1-te(r,e+1,n),5)}var ro=BigInt(-1),Uc=BigInt(1);function Oc(r,e,t,n){let i=re(r,e+1,n);if(typeof i!="bigint"){let o=-1-i;if(o>=Number.MIN_SAFE_INTEGER)return new p(f.negint,o,9)}if(n.allowBigInt!==!0)throw new Error(`${w} integers outside of the safe integer range are not supported`);return new p(f.negint,ro-BigInt(i),9)}function yn(r,e){let t=e.value,n=typeof t=="bigint"?t*ro-Uc:t*-1-1;W(r,e.type.majorEncoded,n)}yn.encodedSize=function(e){let t=e.value,n=typeof t=="bigint"?t*ro-Uc:t*-1-1;return n<z[0]?1:n<z[1]?2:n<z[2]?3:n<z[3]?5:9};yn.compareTokens=function(e,t){return e.value<t.value?1:e.value>t.value?-1:0};function ar(r,e,t,n){Le(r,e,t+n);let i=St(r,e+t,e+t+n);return new p(f.bytes,i,t+n)}function Rc(r,e,t,n){return ar(r,e,1,t)}function zc(r,e,t,n){return ar(r,e,2,Y(r,e+1,n))}function $c(r,e,t,n){return ar(r,e,3,ee(r,e+1,n))}function Wc(r,e,t,n){return ar(r,e,5,te(r,e+1,n))}function Hc(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer bytes lengths not supported`);return ar(r,e,9,i)}function gn(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===f.string?mn(r.value):r.value),r.encodedBytes}function Bt(r,e){let t=gn(e);W(r,e.type.majorEncoded,t.length),r.push(t)}Bt.encodedSize=function(e){let t=gn(e);return W.encodedSize(t.length)+t.length};Bt.compareTokens=function(e,t){return Zh(gn(e),gn(t))};function Zh(r,e){return r.length<e.length?-1:r.length>e.length?1:Cc(r,e)}function cr(r,e,t,n,i){let o=t+n;Le(r,e,o);let s=new p(f.string,Sc(r,e+t,e+o),o);return i.retainStringBytes===!0&&(s.byteValue=St(r,e+t,e+o)),s}function qc(r,e,t,n){return cr(r,e,1,t,n)}function Vc(r,e,t,n){return cr(r,e,2,Y(r,e+1,n),n)}function jc(r,e,t,n){return cr(r,e,3,ee(r,e+1,n),n)}function Gc(r,e,t,n){return cr(r,e,5,te(r,e+1,n),n)}function Qc(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer string lengths not supported`);return cr(r,e,9,i,n)}var Kc=Bt;function Ct(r,e,t,n){return new p(f.array,n,t)}function Xc(r,e,t,n){return Ct(r,e,1,t)}function Jc(r,e,t,n){return Ct(r,e,2,Y(r,e+1,n))}function Zc(r,e,t,n){return Ct(r,e,3,ee(r,e+1,n))}function Yc(r,e,t,n){return Ct(r,e,5,te(r,e+1,n))}function eu(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer array lengths not supported`);return Ct(r,e,9,i)}function tu(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${w} indefinite length items not allowed`);return Ct(r,e,1,1/0)}function wn(r,e){W(r,f.array.majorEncoded,e.value)}wn.compareTokens=ce.compareTokens;wn.encodedSize=function(e){return W.encodedSize(e.value)};function Lt(r,e,t,n){return new p(f.map,n,t)}function ru(r,e,t,n){return Lt(r,e,1,t)}function nu(r,e,t,n){return Lt(r,e,2,Y(r,e+1,n))}function iu(r,e,t,n){return Lt(r,e,3,ee(r,e+1,n))}function ou(r,e,t,n){return Lt(r,e,5,te(r,e+1,n))}function su(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer map lengths not supported`);return Lt(r,e,9,i)}function au(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${w} indefinite length items not allowed`);return Lt(r,e,1,1/0)}function bn(r,e){W(r,f.map.majorEncoded,e.value)}bn.compareTokens=ce.compareTokens;bn.encodedSize=function(e){return W.encodedSize(e.value)};function cu(r,e,t,n){return new p(f.tag,t,1)}function uu(r,e,t,n){return new p(f.tag,Y(r,e+1,n),2)}function lu(r,e,t,n){return new p(f.tag,ee(r,e+1,n),3)}function fu(r,e,t,n){return new p(f.tag,te(r,e+1,n),5)}function hu(r,e,t,n){return new p(f.tag,re(r,e+1,n),9)}function _n(r,e){W(r,f.tag.majorEncoded,e.value)}_n.compareTokens=ce.compareTokens;_n.encodedSize=function(e){return W.encodedSize(e.value)};var id=20,od=21,sd=22,ad=23;function du(r,e,t,n){if(n.allowUndefined===!1)throw new Error(`${w} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new p(f.null,null,1):new p(f.undefined,void 0,1)}function pu(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${w} indefinite length items not allowed`);return new p(f.break,void 0,1)}function no(r,e,t){if(t){if(t.allowNaN===!1&&Number.isNaN(r))throw new Error(`${w} NaN values are not supported`);if(t.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${w} Infinity values are not supported`)}return new p(f.float,r,e)}function mu(r,e,t,n){return no(io(r,e+1),3,n)}function yu(r,e,t,n){return no(oo(r,e+1),5,n)}function gu(r,e,t,n){return no(vu(r,e+1),9,n)}function vn(r,e,t){let n=e.value;if(n===!1)r.push([f.float.majorEncoded|id]);else if(n===!0)r.push([f.float.majorEncoded|od]);else if(n===null)r.push([f.float.majorEncoded|sd]);else if(n===void 0)r.push([f.float.majorEncoded|ad]);else{let i,o=!1;(!t||t.float64!==!0)&&(bu(n),i=io(me,1),n===i||Number.isNaN(n)?(me[0]=249,r.push(me.slice(0,3)),o=!0):(_u(n),i=oo(me,1),n===i&&(me[0]=250,r.push(me.slice(0,5)),o=!0))),o||(cd(n),i=vu(me,1),me[0]=251,r.push(me.slice(0,9)))}}vn.encodedSize=function(e,t){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!t||t.float64!==!0){bu(n);let i=io(me,1);if(n===i||Number.isNaN(n))return 3;if(_u(n),i=oo(me,1),n===i)return 5}return 9};var wu=new ArrayBuffer(9),ue=new DataView(wu,1),me=new Uint8Array(wu,0);function bu(r){if(r===1/0)ue.setUint16(0,31744,!1);else if(r===-1/0)ue.setUint16(0,64512,!1);else if(Number.isNaN(r))ue.setUint16(0,32256,!1);else{ue.setFloat32(0,r);let e=ue.getUint32(0),t=(e&2139095040)>>23,n=e&8388607;if(t===255)ue.setUint16(0,31744,!1);else if(t===0)ue.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let i=t-127;i<-24?ue.setUint16(0,0):i<-14?ue.setUint16(0,(e&2147483648)>>16|1<<24+i,!1):ue.setUint16(0,(e&2147483648)>>16|i+15<<10|n>>13,!1)}}}function io(r,e){if(r.length-e<2)throw new Error(`${w} not enough data for float16`);let t=(r[e]<<8)+r[e+1];if(t===31744)return 1/0;if(t===64512)return-1/0;if(t===32256)return NaN;let n=t>>10&31,i=t&1023,o;return n===0?o=i*2**-24:n!==31?o=(i+1024)*2**(n-25):o=i===0?1/0:NaN,t&32768?-o:o}function _u(r){ue.setFloat32(0,r,!1)}function oo(r,e){if(r.length-e<4)throw new Error(`${w} not enough data for float32`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,4).getFloat32(0,!1)}function cd(r){ue.setFloat64(0,r,!1)}function vu(r,e){if(r.length-e<8)throw new Error(`${w} not enough data for float64`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,8).getFloat64(0,!1)}vn.compareTokens=ce.compareTokens;function A(r,e,t){throw new Error(`${w} encountered invalid minor (${t}) for major ${r[e]>>>5}`)}function xn(r){return()=>{throw new Error(`${w} ${r}`)}}var m=[];for(let r=0;r<=23;r++)m[r]=A;m[24]=Lc;m[25]=Pc;m[26]=Nc;m[27]=Dc;m[28]=A;m[29]=A;m[30]=A;m[31]=A;for(let r=32;r<=55;r++)m[r]=A;m[56]=Ic;m[57]=Mc;m[58]=Fc;m[59]=Oc;m[60]=A;m[61]=A;m[62]=A;m[63]=A;for(let r=64;r<=87;r++)m[r]=Rc;m[88]=zc;m[89]=$c;m[90]=Wc;m[91]=Hc;m[92]=A;m[93]=A;m[94]=A;m[95]=xn("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)m[r]=qc;m[120]=Vc;m[121]=jc;m[122]=Gc;m[123]=Qc;m[124]=A;m[125]=A;m[126]=A;m[127]=xn("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)m[r]=Xc;m[152]=Jc;m[153]=Zc;m[154]=Yc;m[155]=eu;m[156]=A;m[157]=A;m[158]=A;m[159]=tu;for(let r=160;r<=183;r++)m[r]=ru;m[184]=nu;m[185]=iu;m[186]=ou;m[187]=su;m[188]=A;m[189]=A;m[190]=A;m[191]=au;for(let r=192;r<=215;r++)m[r]=cu;m[216]=uu;m[217]=lu;m[218]=fu;m[219]=hu;m[220]=A;m[221]=A;m[222]=A;m[223]=A;for(let r=224;r<=243;r++)m[r]=xn("simple values are not supported");m[244]=A;m[245]=A;m[246]=A;m[247]=du;m[248]=xn("simple values are not supported");m[249]=mu;m[250]=yu;m[251]=gu;m[252]=A;m[253]=A;m[254]=A;m[255]=pu;var ye=[];for(let r=0;r<24;r++)ye[r]=new p(f.uint,r,1);for(let r=-1;r>=-24;r--)ye[31-r]=new p(f.negint,r,1);ye[64]=new p(f.bytes,new Uint8Array(0),1);ye[96]=new p(f.string,"",1);ye[128]=new p(f.array,0,1);ye[160]=new p(f.map,0,1);ye[244]=new p(f.false,!1,1);ye[245]=new p(f.true,!0,1);ye[246]=new p(f.null,null,1);function xu(r){switch(r.type){case f.false:return ve([244]);case f.true:return ve([245]);case f.null:return ve([246]);case f.bytes:return r.value.length?void 0:ve([64]);case f.string:return r.value===""?ve([96]):void 0;case f.array:return r.value===0?ve([128]):void 0;case f.map:return r.value===0?ve([160]):void 0;case f.uint:return r.value<24?ve([Number(r.value)]):void 0;case f.negint:if(r.value>=-24)return ve([31-Number(r.value)])}}var ld={float64:!1,mapSorter:dd,quickEncodeToken:xu};function fd(){let r=[];return r[f.uint.major]=ce,r[f.negint.major]=yn,r[f.bytes.major]=Bt,r[f.string.major]=Kc,r[f.array.major]=wn,r[f.map.major]=bn,r[f.tag.major]=_n,r[f.float.major]=vn,r}var ku=fd(),so=new or,Pt=class{constructor(e,t){this.obj=e,this.parent=t}includes(e){let t=this;do if(t.obj===e)return!0;while(t=t.parent);return!1}static createCheck(e,t){if(e&&e.includes(t))throw new Error(`${At} object contains circular references`);return new Pt(t,e)}},He={null:new p(f.null,null),undefined:new p(f.undefined,void 0),true:new p(f.true,!0),false:new p(f.false,!1),emptyArray:new p(f.array,0),emptyMap:new p(f.map,0)},qe={number(r,e,t,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new p(f.float,r):r>=0?new p(f.uint,r):new p(f.negint,r)},bigint(r,e,t,n){return r>=BigInt(0)?new p(f.uint,r):new p(f.negint,r)},Uint8Array(r,e,t,n){return new p(f.bytes,r)},string(r,e,t,n){return new p(f.string,r)},boolean(r,e,t,n){return r?He.true:He.false},null(r,e,t,n){return He.null},undefined(r,e,t,n){return He.undefined},ArrayBuffer(r,e,t,n){return new p(f.bytes,new Uint8Array(r))},DataView(r,e,t,n){return new p(f.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,e,t,n){if(!r.length)return t.addBreakTokens===!0?[He.emptyArray,new p(f.break)]:He.emptyArray;n=Pt.createCheck(n,r);let i=[],o=0;for(let s of r)i[o++]=kn(s,t,n);return t.addBreakTokens?[new p(f.array,r.length),i,new p(f.break)]:[new p(f.array,r.length),i]},Object(r,e,t,n){let i=e!=="Object",o=i?r.keys():Object.keys(r),s=i?r.size:o.length;if(!s)return t.addBreakTokens===!0?[He.emptyMap,new p(f.break)]:He.emptyMap;n=Pt.createCheck(n,r);let a=[],c=0;for(let u of o)a[c++]=[kn(u,t,n),kn(i?r.get(u):r[u],t,n)];return hd(a,t),t.addBreakTokens?[new p(f.map,s),a,new p(f.break)]:[new p(f.map,s),a]}};qe.Map=qe.Object;qe.Buffer=qe.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))qe[`${r}Array`]=qe.DataView;function kn(r,e={},t){let n=xc(r),i=e&&e.typeEncoders&&e.typeEncoders[n]||qe[n];if(typeof i=="function"){let s=i(r,n,e,t);if(s!=null)return s}let o=qe[n];if(!o)throw new Error(`${At} unsupported type: ${n}`);return o(r,n,e,t)}function hd(r,e){e.mapSorter&&r.sort(e.mapSorter)}function dd(r,e){let t=Array.isArray(r[0])?r[0][0]:r[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(t.type!==n.type)return t.type.compare(n.type);let i=t.type.major,o=ku[i].compareTokens(t,n);return o===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),o}function Eu(r,e,t,n){if(Array.isArray(e))for(let i of e)Eu(r,i,t,n);else t[e.type.major](r,e,n)}function Tu(r,e,t){let n=kn(r,t);if(!Array.isArray(n)&&t.quickEncodeToken){let i=t.quickEncodeToken(n);if(i)return i;let o=e[n.type.major];if(o.encodedSize){let s=o.encodedSize(n,t),a=new or(s);if(o(a,n,t),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return ir(a.chunks[0])}}return so.reset(),Eu(so,n,e,t),so.toBytes(!0)}function En(r,e){return e=Object.assign({},ld,e),Tu(r,ku,e)}var pd={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},ao=class{constructor(e,t={}){this.pos=0,this.data=e,this.options=t}done(){return this.pos>=this.data.length}next(){let e=this.data[this.pos],t=ye[e];if(t===void 0){let n=m[e];if(!n)throw new Error(`${w} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let i=e&31;t=n(this.data,this.pos,i,this.options)}return this.pos+=t.encodedLength,t}},ur=Symbol.for("DONE"),Tn=Symbol.for("BREAK");function md(r,e,t){let n=[];for(let i=0;i<r.value;i++){let o=lr(e,t);if(o===Tn){if(r.value===1/0)break;throw new Error(`${w} got unexpected break to lengthed array`)}if(o===ur)throw new Error(`${w} found array but not enough entries (got ${i}, expected ${r.value})`);n[i]=o}return n}function yd(r,e,t){let n=t.useMaps===!0,i=n?void 0:{},o=n?new Map:void 0;for(let s=0;s<r.value;s++){let a=lr(e,t);if(a===Tn){if(r.value===1/0)break;throw new Error(`${w} got unexpected break to lengthed map`)}if(a===ur)throw new Error(`${w} found map but not enough entries (got ${s} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${w} non-string keys not supported (got ${typeof a})`);if(t.rejectDuplicateMapKeys===!0&&(n&&o.has(a)||!n&&a in i))throw new Error(`${w} found repeat map key "${a}"`);let c=lr(e,t);if(c===ur)throw new Error(`${w} found map but not enough entries (got ${s} [no value], expected ${r.value})`);n?o.set(a,c):i[a]=c}return n?o:i}function lr(r,e){if(r.done())return ur;let t=r.next();if(t.type===f.break)return Tn;if(t.type.terminal)return t.value;if(t.type===f.array)return md(t,r,e);if(t.type===f.map)return yd(t,r,e);if(t.type===f.tag){if(e.tags&&typeof e.tags[t.value]=="function"){let n=lr(r,e);return e.tags[t.value](n)}throw new Error(`${w} tag not supported (${t.value})`)}throw new Error("unsupported")}function Pe(r,e){if(!(r instanceof Uint8Array))throw new Error(`${w} data to decode must be a Uint8Array`);e=Object.assign({},pd,e);let t=e.tokenizer||new ao(r,e),n=lr(t,e);if(n===ur)throw new Error(`${w} did not find any content to decode`);if(n===Tn)throw new Error(`${w} got unexpected break`);if(!t.done())throw new Error(`${w} too many terminals, data makes no sense`);return n}function co(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var gd=new TextDecoder;function uo(r,e){let t=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=r.length)throw new Error("protobuf: unexpected end of data");let i=r[e++];if(t+=n<28?(i&127)<<n:(i&127)*2**n,i<128)break}return[t,e]}function Sn(r,e){let t;[t,e]=uo(r,e);let n=e+t;if(t<0||n<0)throw new Error("protobuf: invalid length");if(n>r.length)throw new Error("protobuf: unexpected end of data");return[r.subarray(e,n),n]}function Au(r,e){let t;return[t,e]=uo(r,e),[t&7,t>>3,e]}function wd(r){let e={},t=r.length,n=0;for(;n<t;){let i,o;if([i,o,n]=Au(r,n),o===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(i!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Hash`);if(e.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[e.Hash,n]=Sn(r,n)}else if(o===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(i!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let s;[s,n]=Sn(r,n),e.Name=gd.decode(s)}else if(o===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(i!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Tsize`);[e.Tsize,n]=uo(r,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${o}`)}if(n>t)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function Bu(r){let e=r.length,t=0,n,i=!1,o;for(;t<e;){let a,c;if([a,c,t]=Au(r,t),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(c===1){if(o)throw new Error("protobuf: (PBNode) duplicate Data section");[o,t]=Sn(r,t),n&&(i=!0)}else if(c===2){if(i)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let u;[u,t]=Sn(r,t),n.push(wd(u))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${c}`)}if(t>e)throw new Error("protobuf: (PBNode) unexpected end of data");let s={};return o&&(s.Data=o),s.Links=n||[],s}var kb=new TextEncoder,Eb=2**32,Tb=2**31;var Bb=new TextEncoder;var Cu=112;function Lu(r){let e=Bu(r),t={};return e.Data&&(t.Data=e.Data),e.Links&&(t.Links=e.Links.map(n=>{let i={};try{i.Hash=x.decode(n.Hash)}catch{}if(!i.Hash)throw new Error("Invalid Hash field found in link, expected CID");return n.Name!==void 0&&(i.Name=n.Name),n.Tsize!==void 0&&(i.Tsize=n.Tsize),i})),t}var Pu=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let t=this.inRecursive[this.inRecursive.length-1];t&&(t.type===f.array&&(t.elements++,t.elements!==1&&e.push([44])),t.type===f.map&&(t.elements++,t.elements!==1&&(t.elements%2===1?e.push([44]):e.push([58]))))}[f.uint.major](e,t){this.prefix(e);let n=String(t.value),i=[];for(let o=0;o<n.length;o++)i[o]=n.charCodeAt(o);e.push(i)}[f.negint.major](e,t){this[f.uint.major](e,t)}[f.bytes.major](e,t){throw new Error(`${At} unsupported type: Uint8Array`)}[f.string.major](e,t){this.prefix(e);let n=mn(JSON.stringify(t.value));e.push(n.length>32?ir(n):n)}[f.array.major](e,t){this.prefix(e),this.inRecursive.push({type:f.array,elements:0}),e.push([91])}[f.map.major](e,t){this.prefix(e),this.inRecursive.push({type:f.map,elements:0}),e.push([123])}[f.tag.major](e,t){}[f.float.major](e,t){if(t.type.name==="break"){let s=this.inRecursive.pop();if(s){if(s.type===f.array)e.push([93]);else if(s.type===f.map)e.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(t.value===void 0)throw new Error(`${At} unsupported type: undefined`);if(this.prefix(e),t.type.name==="true"){e.push([116,114,117,101]);return}else if(t.type.name==="false"){e.push([102,97,108,115,101]);return}else if(t.type.name==="null"){e.push([110,117,108,108]);return}let n=String(t.value),i=[],o=!1;for(let s=0;s<n.length;s++)i[s]=n.charCodeAt(s),!o&&(i[s]===46||i[s]===101||i[s]===69)&&(o=!0);o||(i.push(46),i.push(48)),e.push(i)}};var Nt=class{constructor(e,t={}){this.pos=0,this.data=e,this.options=t,this.modeStack=["value"],this.lastToken=""}done(){return this.pos>=this.data.length}ch(){return this.data[this.pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let e=this.ch();for(;e===32||e===9||e===13||e===10;)e=this.data[++this.pos]}expect(e){if(this.data.length-this.pos<e.length)throw new Error(`${w} unexpected end of input at position ${this.pos}`);for(let t=0;t<e.length;t++)if(this.data[this.pos++]!==e[t])throw new Error(`${w} unexpected token at position ${this.pos}, expected to find '${String.fromCharCode(...e)}'`)}parseNumber(){let e=this.pos,t=!1,n=!1,i=a=>{for(;!this.done();){let c=this.ch();if(a.includes(c))this.pos++;else break}};if(this.ch()===45&&(t=!0,this.pos++),this.ch()===48)if(this.pos++,this.ch()===46)this.pos++,n=!0;else return new p(f.uint,0,this.pos-e);if(i([48,49,50,51,52,53,54,55,56,57]),t&&this.pos===e+1)throw new Error(`${w} unexpected token at position ${this.pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${w} unexpected token at position ${this.pos}`);n=!0,this.pos++,i([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this.pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this.pos++,i([48,49,50,51,52,53,54,55,56,57]));let o=String.fromCharCode.apply(null,this.data.subarray(e,this.pos)),s=parseFloat(o);return n?new p(f.float,s,this.pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(s)?new p(s>=0?f.uint:f.negint,s,this.pos-e):new p(s>=0?f.uint:f.negint,BigInt(o),this.pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${w} unexpected character at position ${this.pos}; this shouldn't happen`);this.pos++;for(let o=this.pos,s=0;o<this.data.length&&s<65536;o++,s++){let a=this.data[o];if(a===92||a<32||a>=128)break;if(a===34){let c=String.fromCharCode.apply(null,this.data.subarray(this.pos,o));return this.pos=o+1,new p(f.string,c,s)}}let e=this.pos,t=[],n=()=>{if(this.pos+4>=this.data.length)throw new Error(`${w} unexpected end of unicode escape sequence at position ${this.pos}`);let o=0;for(let s=0;s<4;s++){let a=this.ch();if(a>=48&&a<=57)a-=48;else if(a>=97&&a<=102)a=a-97+10;else if(a>=65&&a<=70)a=a-65+10;else throw new Error(`${w} unexpected unicode escape character at position ${this.pos}`);o=o*16+a,this.pos++}return o},i=()=>{let o=this.ch(),s=null,a=o>239?4:o>223?3:o>191?2:1;if(this.pos+a>this.data.length)throw new Error(`${w} unexpected unicode sequence at position ${this.pos}`);let c,u,l,h;switch(a){case 1:o<128&&(s=o);break;case 2:c=this.data[this.pos+1],(c&192)===128&&(h=(o&31)<<6|c&63,h>127&&(s=h));break;case 3:c=this.data[this.pos+1],u=this.data[this.pos+2],(c&192)===128&&(u&192)===128&&(h=(o&15)<<12|(c&63)<<6|u&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:c=this.data[this.pos+1],u=this.data[this.pos+2],l=this.data[this.pos+3],(c&192)===128&&(u&192)===128&&(l&192)===128&&(h=(o&15)<<18|(c&63)<<12|(u&63)<<6|l&63,h>65535&&h<1114112&&(s=h))}s===null?(s=65533,a=1):s>65535&&(s-=65536,t.push(s>>>10&1023|55296),s=56320|s&1023),t.push(s),this.pos+=a};for(;!this.done();){let o=this.ch(),s;switch(o){case 92:if(this.pos++,this.done())throw new Error(`${w} unexpected string termination at position ${this.pos}`);switch(s=this.ch(),this.pos++,s){case 34:case 39:case 92:case 47:t.push(s);break;case 98:t.push(8);break;case 116:t.push(9);break;case 110:t.push(10);break;case 102:t.push(12);break;case 114:t.push(13);break;case 117:t.push(n());break;default:throw new Error(`${w} unexpected string escape character at position ${this.pos}`)}break;case 34:return this.pos++,new p(f.string,to(t),this.pos-e);default:if(o<32)throw new Error(`${w} invalid control character at position ${this.pos}`);o<128?(t.push(o),this.pos++):i()}}throw new Error(`${w} unexpected end of string at position ${this.pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this.pos++,new p(f.map,1/0,1);case 91:return this.modeStack.push("array-start"),this.pos++,new p(f.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new p(f.null,null,4);case 102:return this.expect([102,97,108,115,101]),new p(f.false,!1,5);case 116:return this.expect([116,114,117,101]),new p(f.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${w} unexpected character at position ${this.pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this.pos++,this.skipWhitespace(),new p(f.break,void 0,1);if(this.ch()!==44)throw new Error(`${w} unexpected character at position ${this.pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this.pos++,this.skipWhitespace(),new p(f.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this.pos++,this.skipWhitespace(),new p(f.break,void 0,1);if(this.ch()!==44)throw new Error(`${w} unexpected character at position ${this.pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this.pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this.pos++,this.skipWhitespace(),new p(f.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${w} unexpected character at position ${this.pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("obj-value"),e}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${w} unexpected parse state at position ${this.pos}; this shouldn't happen`)}}};function lo(r,e){return e=Object.assign({tokenizer:new Nt(r,e)},e),Pe(r,e)}var Nu={codec:Cu,async*walk(r){yield*Lu(r).Links.map(t=>t.Hash)}},Du={codec:Kr,async*walk(){}},Iu=42,Mu={codec:113,async*walk(r){let e=[],t=[];t[Iu]=n=>{if(n[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");let i=x.decode(n.subarray(1));return e.push(i),i},Pe(r,{tags:t}),yield*e}},fo=class extends Nt{constructor(e,t){super(e,t),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let e=this._next();if(e.type===f.map){let t=this._next();if(t.type===f.string&&t.value==="/"){let n=this._next();if(n.type===f.string){if(this._next().type!==f.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new p(f.tag,42,0)}if(n.type===f.map){let i=this._next();if(i.type===f.string&&i.value==="bytes"){let o=this._next();if(o.type===f.string){for(let a=0;a<2;a++)if(this._next().type!==f.break)throw new Error("Invalid encoded Bytes form");let s=Rt.decode(`m${o.value}`);return new p(f.bytes,s,o.value.length)}this.tokenBuffer.push(o)}this.tokenBuffer.push(i)}this.tokenBuffer.push(n)}this.tokenBuffer.push(t)}return e}},Fu={codec:297,async*walk(r){let e=[],t=[];t[Iu]=n=>{let i=x.parse(n);return e.push(i),i},lo(r,{tags:t,tokenizer:new fo(r,{tags:t,allowIndefinite:!0,allowUndefined:!0,allowNaN:!0,allowInfinity:!0,allowBigInt:!0,strict:!1,rejectDuplicateMapKeys:!1})}),yield*e}};var An=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Dt,ho,Uu,vd=[Du,Nu,Mu,Fu],zu="/pin/",$u="/pinned-block/",po=Qt,Ou=1;function Ru(r){return r.version===0&&(r=r.toV1()),new P(`${zu}${r.toString(po)}`)}var Bn=class{constructor(e,t,n){Dt.add(this),this.datastore=e,this.blockstore=t,this.dagWalkers={},[...vd,...n].forEach(i=>{this.dagWalkers[i.codec]=i})}async add(e,t={}){let n=Ru(e);if(await this.datastore.has(n))throw new Error("Already pinned");let i=Math.round(t.depth??1/0);if(i<0)throw new Error("Depth must be greater than or equal to 0");let o=new Be({concurrency:Ou});o.add(async()=>{await An(this,Dt,"m",ho).call(this,e,o,c=>{c.pinnedBy.find(u=>Qe(u,e.bytes))==null&&(c.pinCount++,c.pinnedBy.push(e.bytes))},{...t,depth:i})});let s=co();o.on("error",c=>{o.clear(),s.reject(c)}),await Promise.race([o.onIdle(),s.promise]);let a={depth:i,metadata:t.metadata??{}};return await this.datastore.put(n,En(a),t),{cid:e,...a}}async rm(e,t={}){let n=Ru(e),i=await this.datastore.get(n,t),o=Pe(i);await this.datastore.delete(n,t);let s=new Be({concurrency:Ou});return s.add(async()=>{await An(this,Dt,"m",ho).call(this,e,s,a=>{a.pinCount--,a.pinnedBy=a.pinnedBy.filter(c=>Qe(c,e.bytes))},{...t,depth:o.depth})}),await s.onIdle(),{cid:e,...o}}async*ls(e={}){for await(let{key:t,value:n}of this.datastore.query({prefix:zu+(e.cid!=null?`${e.cid.toString(Qt)}`:"")},e)){let i=x.parse(t.toString().substring(5),Qt),o=Pe(n);yield{cid:i,...o}}}async isPinned(e,t={}){let n=new P(`${$u}${po.encode(e.multihash.bytes)}`);return await this.datastore.has(n,t)}};Dt=new WeakSet,ho=async function r(e,t,n,i){if(i.depth===-1)return;let o=this.dagWalkers[e.code];if(o==null)throw new Error(`No dag walker found for cid codec ${e.code}`);let s=await this.blockstore.get(e);await An(this,Dt,"m",Uu).call(this,e,n,i);for await(let a of o.walk(s))t.add(async()=>{await An(this,Dt,"m",r).call(this,a,t,n,{...i,depth:i.depth-1})})},Uu=async function(e,t,n){let i=new P(`${$u}${po.encode(e.multihash.bytes)}`),o={pinCount:0,pinnedBy:[]};try{o=Pe(await this.datastore.get(i,n))}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(t(o),o.pinCount===0&&await this.datastore.has(i)){await this.datastore.delete(i);return}await this.datastore.put(i,En(o),n)};var mo=new P("/version"),Wu=1;async function Hu(r){if(!await r.has(mo)){await r.put(mo,hn(`${Wu}`));return}let e=await r.get(mo),t=st(e);if(parseInt(t,10)!==Wu)throw new Error("Unknown datastore version, a datastore migration may be required")}var qu=O(Mr(),1);function Cn(r){return r=r??new Error("Not Found"),(0,qu.default)(r,"ERR_NOT_FOUND")}var Vu="SHARDING";async function yo(r){let e=[];for await(let t of r)e.push(t);return e}async function*hr(r,e){yield*(await yo(r)).sort(e)}var Ne=class{async open(){}async close(){}async put(e,t,n){await Promise.reject(new Error(".put is not implemented"))}async get(e,t){return await Promise.reject(new Error(".get is not implemented"))}async has(e,t){return await Promise.reject(new Error(".has is not implemented"))}async delete(e,t){await Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,t={}){for await(let{key:n,value:i}of e)await this.put(n,i,t),yield{key:n,value:i}}async*getMany(e,t={}){for await(let n of e)yield this.get(n,t)}async*deleteMany(e,t={}){for await(let n of e)await this.delete(n,t),yield n}batch(){let e=[],t=[];return{put(n,i){e.push({key:n,value:i})},delete(n){t.push(n)},commit:async n=>{await Se(this.putMany(e,n)),e=[],await Se(this.deleteMany(t,n)),t=[]}}}async*_all(e,t){throw new Error("._all is not implemented")}async*_allKeys(e,t){throw new Error("._allKeys is not implemented")}query(e,t){let n=this._all(e,t);if(e.prefix!=null){let i=e.prefix;n=de(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>de(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>hr(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=de(n,()=>i++>=o)}return e.limit!=null&&(n=ot(n,e.limit)),n}queryKeys(e,t){let n=this._allKeys(e,t);if(e.prefix!=null){let i=e.prefix;n=de(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>de(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>hr(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=de(n,()=>o++>=i)}return e.limit!=null&&(n=ot(n,e.limit)),n}};var dr=class extends Ne{constructor(){super(),this.data=new Map}async put(e,t){this.data.set(e.toString(),t)}async get(e){let t=this.data.get(e.toString());if(t==null)throw Cn();return t}async has(e){return this.data.has(e.toString())}async delete(e){this.data.delete(e.toString())}async*_all(){for(let[e,t]of this.data.entries())yield{key:new P(e),value:t}}async*_allKeys(){for(let e of this.data.keys())yield new P(e)}};var F0=new P(Vu);var Q0=bt("datastore:core:tiered");var Ln={};V(Ln,{abortedError:()=>Pd,closeFailedError:()=>Sd,deleteFailedError:()=>Cd,getFailedError:()=>Bd,hasFailedError:()=>Ld,notFoundError:()=>go,openFailedError:()=>Td,putFailedError:()=>Ad});var De=O(Mr(),1);function Td(r){return r=r??new Error("Open failed"),(0,De.default)(r,"ERR_OPEN_FAILED")}function Sd(r){return r=r??new Error("Close failed"),(0,De.default)(r,"ERR_CLOSE_FAILED")}function Ad(r){return r=r??new Error("Put failed"),(0,De.default)(r,"ERR_PUT_FAILED")}function Bd(r){return r=r??new Error("Get failed"),(0,De.default)(r,"ERR_GET_FAILED")}function Cd(r){return r=r??new Error("Delete failed"),(0,De.default)(r,"ERR_DELETE_FAILED")}function Ld(r){return r=r??new Error("Has failed"),(0,De.default)(r,"ERR_HAS_FAILED")}function go(r){return r=r??new Error("Not Found"),(0,De.default)(r,"ERR_NOT_FOUND")}function Pd(r){return r=r??new Error("Aborted"),(0,De.default)(r,"ERR_ABORTED")}var pr=class{async has(e,t){return await Promise.reject(new Error(".has is not implemented"))}async put(e,t,n){await Promise.reject(new Error(".put is not implemented"))}async*putMany(e,t){for await(let{cid:n,block:i}of e)await this.put(n,i,t),yield{cid:n,block:i}}async get(e,t){return await Promise.reject(new Error(".get is not implemented"))}async*getMany(e,t){for await(let n of e)yield this.get(n,t)}async delete(e,t){await Promise.reject(new Error(".delete is not implemented"))}async*deleteMany(e,t){for await(let n of e)await this.delete(n,t),yield n}async*getAll(e){throw new Error(".getAll is not implemented")}};var mr=class extends pr{constructor(){super(),this.data=new Map}async put(e,t){this.data.set(j.encode(e.multihash.bytes),t)}async get(e){let t=this.data.get(j.encode(e.multihash.bytes));if(t==null)throw go();return t}async has(e){return this.data.has(j.encode(e.multihash.bytes))}async delete(e){this.data.delete(j.encode(e.multihash.bytes))}async*getAll(){for(let[e,t]of this.data.entries())yield{cid:x.createV1(Kr,wr(j.decode(e))),block:t}}};var y1={...Ln};var Nd=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},wo=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},It,bo=bt("helia"),Pn=class{constructor(e){It.set(this,void 0);let t=[je,Un,Dn,...e.hashers??[]],n=e.datastore??new dr,i=e.blockstore??new mr,o=e.libp2p??new Proxy({},{get(s,a){let c=()=>{};if(["start","stop"].includes(a.toString()))return c;if(a==="isProxy")return!0;throw new Error("Please configure Helia with a libp2p instance")},set(){throw new Error("Please configure Helia with a libp2p instance")}});e.libp2p!=null&&Nd(this,It,rc(o,i,{hashLoader:{getHasher:async s=>{let a=t.find(c=>c.code===s||c.name===s);if(a!=null)return await Promise.resolve(a);throw new Error(`Could not load hasher for code/name "${s}"`)}}}),"f"),this.pins=new Bn(n,i,e.dagWalkers??[]),this.libp2p=o,this.blockstore=new fn(i,this.pins,{bitswap:wo(this,It,"f"),holdGcLock:e.holdGcLock}),this.datastore=n}async start(){await Hu(this.datastore),await wo(this,It,"f")?.start(),await this.libp2p.start()}async stop(){await this.libp2p.stop(),await wo(this,It,"f")?.stop()}async gc(e={}){let t=await this.blockstore.lock.writeLock();try{let n=this,i=this.blockstore.unwrap();bo("gc start"),await Se(i.deleteMany(async function*(){for await(let{cid:o}of i.getAll())try{if(await n.pins.isPinned(o,e))continue;yield o,e.onProgress?.(new C("helia:gc:deleted",o))}catch(s){bo.error("Error during gc",s),e.onProgress?.(new C("helia:gc:error",s))}}()))}finally{t()}bo("gc finished")}};It=new WeakMap;async function Dd(r={}){let e=new Pn(r);return r.start!==!1&&await e.start(),e}return Zu(Id);})();
3
3
  return Helia}));