@helia/mfs 6.0.1 → 6.0.2

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,5 +1,10 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaMfs = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var HeliaMfs=(()=>{var Cc=Object.create;var br=Object.defineProperty;var Nc=Object.getOwnPropertyDescriptor;var Tc=Object.getOwnPropertyNames;var Dc=Object.getPrototypeOf,Lc=Object.prototype.hasOwnProperty;var _r=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),W=(r,e)=>{for(var t in e)br(r,t,{get:e[t],enumerable:!0})},Ji=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Tc(e))!Lc.call(r,i)&&i!==t&&br(r,i,{get:()=>e[i],enumerable:!(n=Nc(e,i))||n.enumerable});return r};var Ut=(r,e,t)=>(t=r!=null?Cc(Dc(r)):{},Ji(e||!r||!r.__esModule?br(t,"default",{value:r,enumerable:!0}):t,r)),zc=r=>Ji(br({},"__esModule",{value:!0}),r);var ns=_r((rr,Pr)=>{(function(r,e){"use strict";var t={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(u){if(!Array.isArray(u)&&!ArrayBuffer.isView(u))return!1;for(var d=0;d<u.length;d++)if(!Number.isInteger(u[d])||u[d]<0||u[d]>255)return!1;return!0}function i(u,d){return(u&65535)*d+(((u>>>16)*d&65535)<<16)}function o(u,d){return u<<d|u>>>32-d}function s(u){return u^=u>>>16,u=i(u,2246822507),u^=u>>>13,u=i(u,3266489909),u^=u>>>16,u}function a(u,d){u=[u[0]>>>16,u[0]&65535,u[1]>>>16,u[1]&65535],d=[d[0]>>>16,d[0]&65535,d[1]>>>16,d[1]&65535];var m=[0,0,0,0];return m[3]+=u[3]+d[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=u[2]+d[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=u[1]+d[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=u[0]+d[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function c(u,d){u=[u[0]>>>16,u[0]&65535,u[1]>>>16,u[1]&65535],d=[d[0]>>>16,d[0]&65535,d[1]>>>16,d[1]&65535];var m=[0,0,0,0];return m[3]+=u[3]*d[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=u[2]*d[3],m[1]+=m[2]>>>16,m[2]&=65535,m[2]+=u[3]*d[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=u[1]*d[3],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=u[2]*d[2],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=u[3]*d[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=u[0]*d[3]+u[1]*d[2]+u[2]*d[1]+u[3]*d[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function h(u,d){return d%=64,d===32?[u[1],u[0]]:d<32?[u[0]<<d|u[1]>>>32-d,u[1]<<d|u[0]>>>32-d]:(d-=32,[u[1]<<d|u[0]>>>32-d,u[0]<<d|u[1]>>>32-d])}function f(u,d){return d%=64,d===0?u:d<32?[u[0]<<d|u[1]>>>32-d,u[1]<<d]:[u[1]<<d-32,0]}function l(u,d){return[u[0]^d[0],u[1]^d[1]]}function y(u){return u=l(u,[0,u[0]>>>1]),u=c(u,[4283543511,3981806797]),u=l(u,[0,u[0]>>>1]),u=c(u,[3301882366,444984403]),u=l(u,[0,u[0]>>>1]),u}t.x86.hash32=function(u,d){if(t.inputValidation&&!n(u))return e;d=d||0;for(var m=u.length%4,x=u.length-m,g=d,w=0,_=3432918353,S=461845907,I=0;I<x;I=I+4)w=u[I]|u[I+1]<<8|u[I+2]<<16|u[I+3]<<24,w=i(w,_),w=o(w,15),w=i(w,S),g^=w,g=o(g,13),g=i(g,5)+3864292196;switch(w=0,m){case 3:w^=u[I+2]<<16;case 2:w^=u[I+1]<<8;case 1:w^=u[I],w=i(w,_),w=o(w,15),w=i(w,S),g^=w}return g^=u.length,g=s(g),g>>>0},t.x86.hash128=function(u,d){if(t.inputValidation&&!n(u))return e;d=d||0;for(var m=u.length%16,x=u.length-m,g=d,w=d,_=d,S=d,I=0,C=0,E=0,D=0,ye=597399067,gr=2869860233,wr=951274213,xr=2716044179,N=0;N<x;N=N+16)I=u[N]|u[N+1]<<8|u[N+2]<<16|u[N+3]<<24,C=u[N+4]|u[N+5]<<8|u[N+6]<<16|u[N+7]<<24,E=u[N+8]|u[N+9]<<8|u[N+10]<<16|u[N+11]<<24,D=u[N+12]|u[N+13]<<8|u[N+14]<<16|u[N+15]<<24,I=i(I,ye),I=o(I,15),I=i(I,gr),g^=I,g=o(g,19),g+=w,g=i(g,5)+1444728091,C=i(C,gr),C=o(C,16),C=i(C,wr),w^=C,w=o(w,17),w+=_,w=i(w,5)+197830471,E=i(E,wr),E=o(E,17),E=i(E,xr),_^=E,_=o(_,15),_+=S,_=i(_,5)+2530024501,D=i(D,xr),D=o(D,18),D=i(D,ye),S^=D,S=o(S,13),S+=g,S=i(S,5)+850148119;switch(I=0,C=0,E=0,D=0,m){case 15:D^=u[N+14]<<16;case 14:D^=u[N+13]<<8;case 13:D^=u[N+12],D=i(D,xr),D=o(D,18),D=i(D,ye),S^=D;case 12:E^=u[N+11]<<24;case 11:E^=u[N+10]<<16;case 10:E^=u[N+9]<<8;case 9:E^=u[N+8],E=i(E,wr),E=o(E,17),E=i(E,xr),_^=E;case 8:C^=u[N+7]<<24;case 7:C^=u[N+6]<<16;case 6:C^=u[N+5]<<8;case 5:C^=u[N+4],C=i(C,gr),C=o(C,16),C=i(C,wr),w^=C;case 4:I^=u[N+3]<<24;case 3:I^=u[N+2]<<16;case 2:I^=u[N+1]<<8;case 1:I^=u[N],I=i(I,ye),I=o(I,15),I=i(I,gr),g^=I}return g^=u.length,w^=u.length,_^=u.length,S^=u.length,g+=w,g+=_,g+=S,w+=g,_+=g,S+=g,g=s(g),w=s(w),_=s(_),S=s(S),g+=w,g+=_,g+=S,w+=g,_+=g,S+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(w>>>0).toString(16)).slice(-8)+("00000000"+(_>>>0).toString(16)).slice(-8)+("00000000"+(S>>>0).toString(16)).slice(-8)},t.x64.hash128=function(u,d){if(t.inputValidation&&!n(u))return e;d=d||0;for(var m=u.length%16,x=u.length-m,g=[0,d],w=[0,d],_=[0,0],S=[0,0],I=[2277735313,289559509],C=[1291169091,658871167],E=0;E<x;E=E+16)_=[u[E+4]|u[E+5]<<8|u[E+6]<<16|u[E+7]<<24,u[E]|u[E+1]<<8|u[E+2]<<16|u[E+3]<<24],S=[u[E+12]|u[E+13]<<8|u[E+14]<<16|u[E+15]<<24,u[E+8]|u[E+9]<<8|u[E+10]<<16|u[E+11]<<24],_=c(_,I),_=h(_,31),_=c(_,C),g=l(g,_),g=h(g,27),g=a(g,w),g=a(c(g,[0,5]),[0,1390208809]),S=c(S,C),S=h(S,33),S=c(S,I),w=l(w,S),w=h(w,31),w=a(w,g),w=a(c(w,[0,5]),[0,944331445]);switch(_=[0,0],S=[0,0],m){case 15:S=l(S,f([0,u[E+14]],48));case 14:S=l(S,f([0,u[E+13]],40));case 13:S=l(S,f([0,u[E+12]],32));case 12:S=l(S,f([0,u[E+11]],24));case 11:S=l(S,f([0,u[E+10]],16));case 10:S=l(S,f([0,u[E+9]],8));case 9:S=l(S,[0,u[E+8]]),S=c(S,C),S=h(S,33),S=c(S,I),w=l(w,S);case 8:_=l(_,f([0,u[E+7]],56));case 7:_=l(_,f([0,u[E+6]],48));case 6:_=l(_,f([0,u[E+5]],40));case 5:_=l(_,f([0,u[E+4]],32));case 4:_=l(_,f([0,u[E+3]],24));case 3:_=l(_,f([0,u[E+2]],16));case 2:_=l(_,f([0,u[E+1]],8));case 1:_=l(_,[0,u[E]]),_=c(_,I),_=h(_,31),_=c(_,C),g=l(g,_)}return g=l(g,[0,u.length]),w=l(w,[0,u.length]),g=a(g,w),w=a(w,g),g=y(g),w=y(w),g=a(g,w),w=a(w,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(w[0]>>>0).toString(16)).slice(-8)+("00000000"+(w[1]>>>0).toString(16)).slice(-8)},typeof rr<"u"?(typeof Pr<"u"&&Pr.exports&&(rr=Pr.exports=t),rr.murmurHash3=t):typeof define=="function"&&define.amd?define([],function(){return t}):(t._murmurHash3=r.murmurHash3,t.noConflict=function(){return r.murmurHash3=t._murmurHash3,t._murmurHash3=e,t.noConflict=e,t},r.murmurHash3=t)})(rr)});var os=_r((Jm,is)=>{is.exports=ns()});var $r=_r((n0,as)=>{"use strict";as.exports=class{constructor(){this._bitArrays=[],this._data=[],this._length=0,this._changedLength=!1,this._changedData=!1}set(e,t){let n=this._internalPositionFor(e,!1);if(t===void 0)n!==-1&&(this._unsetInternalPos(n),this._unsetBit(e),this._changedLength=!0,this._changedData=!0);else{let i=!1;n===-1?(n=this._data.length,this._setBit(e),this._changedData=!0):i=!0,this._setInternalPos(n,e,t,i),this._changedLength=!0}}unset(e){this.set(e,void 0)}get(e){this._sortData();let t=this._internalPositionFor(e,!0);if(t!==-1)return this._data[t][1]}push(e){return this.set(this.length,e),this.length}get length(){if(this._sortData(),this._changedLength){let e=this._data[this._data.length-1];this._length=e?e[0]+1:0,this._changedLength=!1}return this._length}forEach(e){let t=0;for(;t<this.length;)e(this.get(t),t,this),t++}map(e){let t=0,n=new Array(this.length);for(;t<this.length;)n[t]=e(this.get(t),t,this),t++;return n}reduce(e,t){let n=0,i=t;for(;n<this.length;){let o=this.get(n);i=e(i,o,n),n++}return i}find(e){let t=0,n,i;for(;t<this.length&&!n;)i=this.get(t),n=e(i),t++;return n?i:void 0}_internalPositionFor(e,t){let n=this._bytePosFor(e,t);if(n>=this._bitArrays.length)return-1;let i=this._bitArrays[n],o=e-n*7;if(!((i&1<<o)>0))return-1;let a=this._bitArrays.slice(0,n).reduce(Tf,0),c=~(4294967295<<o+1),h=ss(i&c);return a+h-1}_bytePosFor(e,t){let n=Math.floor(e/7),i=n+1;for(;!t&&this._bitArrays.length<i;)this._bitArrays.push(0);return n}_setBit(e){let t=this._bytePosFor(e,!1);this._bitArrays[t]|=1<<e-t*7}_unsetBit(e){let t=this._bytePosFor(e,!1);this._bitArrays[t]&=~(1<<e-t*7)}_setInternalPos(e,t,n,i){let o=this._data,s=[t,n];if(i)this._sortData(),o[e]=s;else{if(o.length)if(o[o.length-1][0]>=t)o.push(s);else if(o[0][0]<=t)o.unshift(s);else{let a=Math.round(o.length/2);this._data=o.slice(0,a).concat(s).concat(o.slice(a))}else this._data.push(s);this._changedData=!0,this._changedLength=!0}}_unsetInternalPos(e){this._data.splice(e,1)}_sortData(){this._changedData&&this._data.sort(Df),this._changedData=!1}bitField(){let e=[],t=8,n=0,i=0,o,s=this._bitArrays.slice();for(;s.length||n;){n===0&&(o=s.shift(),n=7);let c=Math.min(n,t),h=~(255<<c),f=o&h;i|=f<<8-t,o=o>>>c,n-=c,t-=c,(!t||!n&&!s.length)&&(e.push(i),i=0,t=8)}for(var a=e.length-1;a>0&&e[a]===0;a--)e.pop();return e}compactArray(){return this._sortData(),this._data.map(Lf)}};function Tf(r,e){return r+ss(e)}function ss(r){let e=r;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function Df(r,e){return r[0]-e[0]}function Lf(r){return r[1]}});var Ja=_r((Tw,Pi)=>{"use strict";var ih=Object.prototype.hasOwnProperty,Z="~";function ur(){}Object.create&&(ur.prototype=Object.create(null),new ur().__proto__||(Z=!1));function oh(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function Xa(r,e,t,n,i){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new oh(t,n||r,i),s=Z?Z+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 mn(r,e){--r._eventsCount===0?r._events=new ur:delete r._events[e]}function X(){this._events=new ur,this._eventsCount=0}X.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)ih.call(t,n)&&e.push(Z?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};X.prototype.listeners=function(e){var t=Z?Z+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};X.prototype.listenerCount=function(e){var t=Z?Z+e:e,n=this._events[t];return n?n.fn?1:n.length:0};X.prototype.emit=function(e,t,n,i,o,s){var a=Z?Z+e:e;if(!this._events[a])return!1;var c=this._events[a],h=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),h){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(l=1,f=new Array(h-1);l<h;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var y=c.length,u;for(l=0;l<y;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),h){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,t);break;case 3:c[l].fn.call(c[l].context,t,n);break;case 4:c[l].fn.call(c[l].context,t,n,i);break;default:if(!f)for(u=1,f=new Array(h-1);u<h;u++)f[u-1]=arguments[u];c[l].fn.apply(c[l].context,f)}}return!0};X.prototype.on=function(e,t,n){return Xa(this,e,t,n,!1)};X.prototype.once=function(e,t,n){return Xa(this,e,t,n,!0)};X.prototype.removeListener=function(e,t,n,i){var o=Z?Z+e:e;if(!this._events[o])return this;if(!t)return mn(this,o),this;var s=this._events[o];if(s.fn)s.fn===t&&(!i||s.once)&&(!n||s.context===n)&&mn(this,o);else{for(var a=0,c=[],h=s.length;a<h;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:mn(this,o)}return this};X.prototype.removeAllListeners=function(e){var t;return e?(t=Z?Z+e:e,this._events[t]&&mn(this,t)):(this._events=new ur,this._eventsCount=0),this};X.prototype.off=X.prototype.removeListener;X.prototype.addListener=X.prototype.on;X.prefixed=Z;X.EventEmitter=X;typeof Pi<"u"&&(Pi.exports=X)});var cd={};W(cd,{mfs:()=>ad});var On={};W(On,{base32:()=>Me,base32hex:()=>Wc,base32hexpad:()=>Xc,base32hexpadupper:()=>Jc,base32hexupper:()=>Kc,base32pad:()=>qc,base32padupper:()=>Gc,base32upper:()=>jc,base32z:()=>Zc});var ct={};W(ct,{coerce:()=>le,empty:()=>Zi,equals:()=>zn,fromHex:()=>Pc,fromString:()=>Fn,isBinary:()=>Uc,toHex:()=>Fc,toString:()=>Pn});var Zi=new Uint8Array(0);function Fc(r){return r.reduce((e,t)=>e+t.toString(16).padStart(2,"0"),"")}function Pc(r){let e=r.match(/../g);return e!=null?new Uint8Array(e.map(t=>parseInt(t,16))):Zi}function zn(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function le(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Uc(r){return r instanceof ArrayBuffer||ArrayBuffer.isView(r)}function Fn(r){return new TextEncoder().encode(r)}function Pn(r){return new TextDecoder().decode(r)}function $c(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),h=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var m=0,x=0,g=0,w=d.length;g!==w&&d[g]===0;)g++,m++;for(var _=(w-g)*f+1>>>0,S=new Uint8Array(_);g!==w;){for(var I=d[g],C=0,E=_-1;(I!==0||C<x)&&E!==-1;E--,C++)I+=256*S[E]>>>0,S[E]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");x=C,g++}for(var D=_-x;D!==_&&S[D]===0;)D++;for(var ye=c.repeat(m);D<_;++D)ye+=r.charAt(S[D]);return ye}function y(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var m=0;if(d[m]!==" "){for(var x=0,g=0;d[m]===c;)x++,m++;for(var w=(d.length-m)*h+1>>>0,_=new Uint8Array(w);d[m];){var S=t[d.charCodeAt(m)];if(S===255)return;for(var I=0,C=w-1;(S!==0||I<g)&&C!==-1;C--,I++)S+=a*_[C]>>>0,_[C]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=I,m++}if(d[m]!==" "){for(var E=w-g;E!==w&&_[E]===0;)E++;for(var D=new Uint8Array(x+(w-E)),ye=x;E!==w;)D[ye++]=_[E++];return D}}}function u(d){var m=y(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:y,decode:u}}var Mc=$c,Rc=Mc,Yi=Rc;var Un=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},$n=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let i=t.codePointAt(0);if(i===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=i,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 Qi(this,e)}},Mn=class{decoders;constructor(e){this.decoders=e}or(e){return Qi(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Qi(r,e){return new Mn({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Rn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new Un(e,t,n),this.decoder=new $n(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ut({name:r,prefix:e,encode:t,decode:n}){return new Rn(r,e,t,n)}function $e({name:r,prefix:e,alphabet:t}){let{encode:n,decode:i}=Yi(t,r);return ut({prefix:e,name:r,encode:n,decode:o=>le(i(o))})}function Oc(r,e,t,n){let i=r.length;for(;r[i-1]==="=";)--i;let o=new Uint8Array(i*t/8|0),s=0,a=0,c=0;for(let h=0;h<i;++h){let f=e[r[h]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|f,s+=t,s>=8&&(s-=8,o[c++]=255&a>>s)}if(s>=t||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return o}function Vc(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!==0&&(o+=e[i&a<<t-s]),n)for(;(o.length*t&7)!==0;)o+="=";return o}function Hc(r){let e={};for(let t=0;t<r.length;++t)e[r[t]]=t;return e}function P({name:r,prefix:e,bitsPerChar:t,alphabet:n}){let i=Hc(n);return ut({prefix:e,name:r,encode(o){return Vc(o,n,t)},decode(o){return Oc(o,i,t,r)}})}var Me=P({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),jc=P({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),qc=P({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Gc=P({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Wc=P({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Kc=P({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Xc=P({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Jc=P({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Zc=P({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Vn={};W(Vn,{base36:()=>$t,base36upper:()=>Yc});var $t=$e({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Yc=$e({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Hn={};W(Hn,{base58btc:()=>he,base58flickr:()=>Qc});var he=$e({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Qc=$e({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var eu=ro,eo=128,tu=127,ru=~tu,nu=Math.pow(2,31);function ro(r,e,t){e=e||[],t=t||0;for(var n=t;r>=nu;)e[t++]=r&255|eo,r/=128;for(;r&ru;)e[t++]=r&255|eo,r>>>=7;return e[t]=r|0,ro.bytes=t-n+1,e}var iu=jn,ou=128,to=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&to)<<i:(s&to)*Math.pow(2,i),i+=7}while(s>=ou);return jn.bytes=o-n,t}var su=Math.pow(2,7),au=Math.pow(2,14),cu=Math.pow(2,21),uu=Math.pow(2,28),fu=Math.pow(2,35),lu=Math.pow(2,42),hu=Math.pow(2,49),du=Math.pow(2,56),pu=Math.pow(2,63),mu=function(r){return r<su?1:r<au?2:r<cu?3:r<uu?4:r<fu?5:r<lu?6:r<hu?7:r<du?8:r<pu?9:10},yu={encode:eu,decode:iu,encodingLength:mu},gu=yu,Mt=gu;function Rt(r,e=0){return[Mt.decode(r,e),Mt.decode.bytes]}function ft(r,e,t=0){return Mt.encode(r,e,t),e}function lt(r){return Mt.encodingLength(r)}function dt(r,e){let t=e.byteLength,n=lt(r),i=n+lt(t),o=new Uint8Array(i+t);return ft(r,o,0),ft(t,o,n),o.set(e,i),new ht(r,t,e,o)}function Sr(r){let e=le(r),[t,n]=Rt(e),[i,o]=Rt(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new ht(t,i,s,e)}function no(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&zn(r.bytes,t.bytes)}}var ht=class{code;size;digest;bytes;constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};function io(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return xu(t,qn(r),e??he.encoder);default:return bu(t,qn(r),e??Me.encoder)}}var oo=new WeakMap;function qn(r){let e=oo.get(r);if(e==null){let t=new Map;return oo.set(r,t),t}return e}var A=class r{code;version;multihash;bytes;"/";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!==Ot)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==_u)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=dt(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&no(e.multihash,n.multihash)}toString(e){return io(this,e)}toJSON(){return{"/":io(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:i,multihash:o,bytes:s}=t;return new r(n,i,o,s??so(n,i,o.bytes))}else if(t[ku]===!0){let{version:n,multihash:i,code:o}=t,s=Sr(i);return r.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!==Ot)throw new Error(`Version 0 CID must use dag-pb (code: ${Ot}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let i=so(e,t,n.bytes);return new r(e,t,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Ot,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,i=le(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 ht(t.multihashCode,t.digestSize,o,i);return[t.version===0?r.createV0(s):r.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,y]=Rt(e.subarray(t));return t+=y,l},i=n(),o=Ot;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(),h=t+c,f=h-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:h}}static parse(e,t){let[n,i]=wu(e,t),o=r.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return qn(o).set(n,e),o}};function wu(r,e){switch(r[0]){case"Q":{let t=e??he;return[he.prefix,t.decode(`${he.prefix}${r}`)]}case he.prefix:{let t=e??he;return[he.prefix,t.decode(r)]}case Me.prefix:{let t=e??Me;return[Me.prefix,t.decode(r)]}case $t.prefix:{let t=e??$t;return[$t.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function xu(r,e,t){let{prefix:n}=t;if(n!==he.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}function bu(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}var Ot=112,_u=18;function so(r,e,t){let n=lt(r),i=n+lt(e),o=new Uint8Array(i+t.byteLength);return ft(r,o,0),ft(e,o,n),o.set(t,i),o}var ku=Symbol.for("@ipld/js-cid/CID");function Su(r){return r[Symbol.asyncIterator]!=null}function Eu(r){if(Su(r))return(async()=>{for await(let e of r)return e})();for(let e of r)return e}var Er=Eu;function vu(r){return r[Symbol.asyncIterator]!=null}function Bu(r,e=1){return e=Number(e),vu(r)?(async function*(){let t=[];if(e<1&&(e=1),e!==Math.round(e))throw new Error("Batch size must be an integer");for await(let n of r)for(t.push(n);t.length>=e;)yield t.slice(0,e),t=t.slice(e);for(;t.length>0;)yield t.slice(0,e),t=t.slice(e)})():(function*(){let t=[];if(e<1&&(e=1),e!==Math.round(e))throw new Error("Batch size must be an integer");for(let n of r)for(t.push(n);t.length>=e;)yield t.slice(0,e),t=t.slice(e);for(;t.length>0;)yield t.slice(0,e),t=t.slice(e)})()}var vr=Bu;async function*Vt(r,e=1){for await(let t of vr(r,e)){let n=t.map(async i=>i().then(o=>({ok:!0,value:o}),o=>({ok:!1,err:o})));for(let i=0;i<n.length;i++){let o=await n[i];if(o.ok)yield o.value;else throw o.err}}}function ge(r=0){return new Uint8Array(r)}function ne(r=0){return new Uint8Array(r)}function Ie(r,e){e==null&&(e=r.reduce((i,o)=>i+o.length,0));let t=ne(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return t}function Br(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 co=Symbol.for("@achingbrain/uint8arraylist");function ao(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 Ir(r){return!!r?.[co]}var mt=class r{bufs;length;[co]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(Ir(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(Ir(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=ao(this.bufs,e);return t.buf[t.index]}set(e,t){let n=ao(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(Ir(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 Ie(n,i)}subarray(e,t){let{bufs:n,length:i}=this._subList(e,t);return n.length===1?n[0]:Ie(n,i)}sublist(e,t){let{bufs:n,length:i}=this._subList(e,t),o=new r;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 h=e>=a&&e<c,f=t>a&&t<=c;if(h&&f){if(e===a&&t===c){n.push(s);break}let l=e-a;n.push(s.subarray(l,l+(t-e)));break}if(h){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(f){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(!Ir(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 l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,h=n.byteLength-1,f;for(let l=t;l<=c;l+=f){f=0;for(let y=h;y>=0;y--){let u=this.get(l+y);if(n[y]!==u){f=Math.max(1,y-a[u]);break}}if(f===0)return l}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=ne(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=ge(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=ge(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=ge(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=ne(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=ge(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=ge(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=ge(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=ge(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=ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,t,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!Br(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((i,o)=>i+o.byteLength,0)),n.length=t,n}};var Iu=262144,Ht=(r={})=>{let e=r.chunkSize??Iu;return async function*(n){let i=new mt,o=0,s=!1;for await(let a of n)for(i.append(a),o+=a.length;o>=e;)if(yield i.slice(0,e),s=!0,e===i.length)i=new mt,o=0;else{let c=new mt;c.append(i.sublist(e)),i=c,o-=e}(!s||o>0)&&(yield i.subarray(0,o))}};var V={};W(V,{code:()=>q,createLink:()=>xo,createNode:()=>wo,decode:()=>R,encode:()=>T,name:()=>$u,prepare:()=>U,validate:()=>Kn});var Au=new TextDecoder;function Gn(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 Ar(r,e){let t;[t,e]=Gn(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 uo(r,e){let t;return[t,e]=Gn(r,e),[t&7,t>>3,e]}function Cu(r){let e={},t=r.length,n=0;for(;n<t;){let i,o;if([i,o,n]=uo(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]=Ar(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]=Ar(r,n),e.Name=Au.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]=Gn(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 fo(r){let e=r.length,t=0,n,i=!1,o;for(;t<e;){let a,c;if([a,c,t]=uo(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]=Ar(r,t),n&&(i=!0)}else if(c===2){if(i)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let h;[h,t]=Ar(r,t),n.push(Cu(h))}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 ho=new TextEncoder,lo=2**32,Nu=2**31;function Tu(r,e){let t=e.length;if(typeof r.Tsize=="number"){if(r.Tsize<0)throw new Error("Tsize cannot be negative");if(!Number.isSafeInteger(r.Tsize))throw new Error("Tsize too large for encoding");t=jt(e,t,r.Tsize)-1,e[t]=24}if(typeof r.Name=="string"){let n=ho.encode(r.Name);t-=n.length,e.set(n,t),t=jt(e,t,n.length)-1,e[t]=18}return r.Hash&&(t-=r.Hash.length,e.set(r.Hash,t),t=jt(e,t,r.Hash.length)-1,e[t]=10),e.length-t}function po(r){let e=Lu(r),t=new Uint8Array(e),n=e;if(r.Data&&(n-=r.Data.length,t.set(r.Data,n),n=jt(t,n,r.Data.length)-1,t[n]=10),r.Links)for(let i=r.Links.length-1;i>=0;i--){let o=Tu(r.Links[i],t.subarray(0,n));n-=o,n=jt(t,n,o)-1,t[n]=18}return t}function Du(r){let e=0;if(r.Hash){let t=r.Hash.length;e+=1+t+yt(t)}if(typeof r.Name=="string"){let t=ho.encode(r.Name).length;e+=1+t+yt(t)}return typeof r.Tsize=="number"&&(e+=1+yt(r.Tsize)),e}function Lu(r){let e=0;if(r.Data){let t=r.Data.length;e+=1+t+yt(t)}if(r.Links)for(let t of r.Links){let n=Du(t);e+=1+n+yt(n)}return e}function jt(r,e,t){e-=yt(t);let n=e;for(;t>=Nu;)r[e++]=t&127|128,t/=128;for(;t>=128;)r[e++]=t&127|128,t>>>=7;return r[e]=t,n}function yt(r){return r%2===0&&r++,Math.floor((zu(r)+6)/7)}function zu(r){let e=0;return r>=lo&&(r=Math.floor(r/lo),e=32),r>=65536&&(r>>>=16,e+=16),r>=256&&(r>>>=8,e+=8),e+Fu[r]}var Fu=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8];var Pu=["Data","Links"],Uu=["Hash","Name","Tsize"],Wn=new TextEncoder;function yo(r,e){if(r===e)return 0;let t=r.Name?Wn.encode(r.Name):[],n=e.Name?Wn.encode(e.Name):[],i=t.length,o=n.length;for(let s=0,a=Math.min(i,o);s<a;++s)if(t[s]!==n[s]){i=t[s],o=n[s];break}return i<o?-1:o<i?1:0}function mo(r,e){return!Object.keys(r).some(t=>!e.includes(t))}function go(r){if(typeof r.asCID=="object"){let t=A.asCID(r);if(!t)throw new TypeError("Invalid DAG-PB form");return{Hash:t}}if(typeof r!="object"||Array.isArray(r))throw new TypeError("Invalid DAG-PB form");let e={};if(r.Hash){let t=A.asCID(r.Hash);try{t||(typeof r.Hash=="string"?t=A.parse(r.Hash):r.Hash instanceof Uint8Array&&(t=A.decode(r.Hash)))}catch(n){throw new TypeError(`Invalid DAG-PB form: ${n.message}`)}t&&(e.Hash=t)}if(!e.Hash)throw new TypeError("Invalid DAG-PB form");return typeof r.Name=="string"&&(e.Name=r.Name),typeof r.Tsize=="number"&&(e.Tsize=r.Tsize),e}function U(r){if((r instanceof Uint8Array||typeof r=="string")&&(r={Data:r}),typeof r!="object"||Array.isArray(r))throw new TypeError("Invalid DAG-PB form");let e={};if(r.Data!==void 0)if(typeof r.Data=="string")e.Data=Wn.encode(r.Data);else if(r.Data instanceof Uint8Array)e.Data=r.Data;else throw new TypeError("Invalid DAG-PB form");if(r.Links!==void 0)if(Array.isArray(r.Links))e.Links=r.Links.map(go),e.Links.sort(yo);else throw new TypeError("Invalid DAG-PB form");else e.Links=[];return e}function Kn(r){if(!r||typeof r!="object"||Array.isArray(r)||r instanceof Uint8Array||r["/"]&&r["/"]===r.bytes)throw new TypeError("Invalid DAG-PB form");if(!mo(r,Pu))throw new TypeError("Invalid DAG-PB form (extraneous properties)");if(r.Data!==void 0&&!(r.Data instanceof Uint8Array))throw new TypeError("Invalid DAG-PB form (Data must be bytes)");if(!Array.isArray(r.Links))throw new TypeError("Invalid DAG-PB form (Links must be a list)");for(let e=0;e<r.Links.length;e++){let t=r.Links[e];if(!t||typeof t!="object"||Array.isArray(t)||t instanceof Uint8Array||t["/"]&&t["/"]===t.bytes)throw new TypeError("Invalid DAG-PB form (bad link)");if(!mo(t,Uu))throw new TypeError("Invalid DAG-PB form (extraneous properties on link)");if(t.Hash===void 0)throw new TypeError("Invalid DAG-PB form (link must have a Hash)");if(t.Hash==null||!t.Hash["/"]||t.Hash["/"]!==t.Hash.bytes)throw new TypeError("Invalid DAG-PB form (link Hash must be a CID)");if(t.Name!==void 0&&typeof t.Name!="string")throw new TypeError("Invalid DAG-PB form (link Name must be a string)");if(t.Tsize!==void 0){if(typeof t.Tsize!="number"||t.Tsize%1!==0)throw new TypeError("Invalid DAG-PB form (link Tsize must be an integer)");if(t.Tsize<0)throw new TypeError("Invalid DAG-PB form (link Tsize cannot be negative)")}if(e>0&&yo(t,r.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}function wo(r,e=[]){return U({Data:r,Links:e})}function xo(r,e,t){return go({Hash:t,Name:r,Tsize:e})}function bo(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var $u="dag-pb",q=112;function T(r){Kn(r);let e={};return r.Links&&(e.Links=r.Links.map(t=>{let n={};return t.Hash&&(n.Hash=t.Hash.bytes),t.Name!==void 0&&(n.Name=t.Name),t.Tsize!==void 0&&(n.Tsize=t.Tsize),n})),r.Data&&(e.Data=r.Data),po(e)}function R(r){let e=bo(r),t=fo(e),n={};return t.Data&&(n.Data=t.Data),t.Links&&(n.Links=t.Links.map(i=>{let o={};try{o.Hash=A.decode(i.Hash)}catch{}if(!o.Hash)throw new Error("Invalid Hash field found in link, expected CID");return i.Name!==void 0&&(o.Name=i.Name),i.Tsize!==void 0&&(o.Tsize=i.Tsize),o})),n}var qt=class r extends Error{static name="InvalidTypeError";static code="ERR_INVALID_TYPE";name=r.name;code=r.code;constructor(e="Invalid type"){super(e)}},Cr=class r extends Error{static name="InvalidUnixFSMessageError";static code="ERR_INVALID_MESSAGE";name=r.name;code=r.code;constructor(e="Invalid message"){super(e)}};var Mu=Math.pow(2,7),Ru=Math.pow(2,14),Ou=Math.pow(2,21),_o=Math.pow(2,28),ko=Math.pow(2,35),So=Math.pow(2,42),Eo=Math.pow(2,49),J=128,Re=127;function Gt(r){if(r<Mu)return 1;if(r<Ru)return 2;if(r<Ou)return 3;if(r<_o)return 4;if(r<ko)return 5;if(r<So)return 6;if(r<Eo)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function vo(r,e,t=0){switch(Gt(r)){case 8:e[t++]=r&255|J,r/=128;case 7:e[t++]=r&255|J,r/=128;case 6:e[t++]=r&255|J,r/=128;case 5:e[t++]=r&255|J,r/=128;case 4:e[t++]=r&255|J,r>>>=7;case 3:e[t++]=r&255|J,r>>>=7;case 2:e[t++]=r&255|J,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function Bo(r,e){let t=r[e],n=0;if(n+=t&Re,t<J||(t=r[e+1],n+=(t&Re)<<7,t<J)||(t=r[e+2],n+=(t&Re)<<14,t<J)||(t=r[e+3],n+=(t&Re)<<21,t<J)||(t=r[e+4],n+=(t&Re)*_o,t<J)||(t=r[e+5],n+=(t&Re)*ko,t<J)||(t=r[e+6],n+=(t&Re)*So,t<J)||(t=r[e+7],n+=(t&Re)*Eo,t<J))return n;throw new RangeError("Could not decode varint")}var Xn=new Float32Array([-0]),Oe=new Uint8Array(Xn.buffer);function Io(r,e,t){Xn[0]=r,e[t]=Oe[0],e[t+1]=Oe[1],e[t+2]=Oe[2],e[t+3]=Oe[3]}function Ao(r,e){return Oe[0]=r[e],Oe[1]=r[e+1],Oe[2]=r[e+2],Oe[3]=r[e+3],Xn[0]}var Jn=new Float64Array([-0]),K=new Uint8Array(Jn.buffer);function Co(r,e,t){Jn[0]=r,e[t]=K[0],e[t+1]=K[1],e[t+2]=K[2],e[t+3]=K[3],e[t+4]=K[4],e[t+5]=K[5],e[t+6]=K[6],e[t+7]=K[7]}function No(r,e){return K[0]=r[e],K[1]=r[e+1],K[2]=r[e+2],K[3]=r[e+3],K[4]=r[e+4],K[5]=r[e+5],K[6]=r[e+6],K[7]=r[e+7],Jn[0]}var Vu=BigInt(Number.MAX_SAFE_INTEGER),Hu=BigInt(Number.MIN_SAFE_INTEGER),ie=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)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)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let 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}static fromBigInt(e){if(e===0n)return We;if(e<Vu&&e>Hu)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,i=e-(n<<32n);return t&&(n=~n|0n,i=~i|0n,++i>To&&(i=0n,++n>To&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(e){if(e===0)return We;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 r(n,i)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):We}},We=new ie(0,0);We.toBigInt=function(){return 0n};We.zzEncode=We.zzDecode=function(){return this};We.length=function(){return 1};var To=4294967296n;function Do(r){let e=0,t=0;for(let n=0;n<r.length;++n)t=r.charCodeAt(n),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function Lo(r,e,t){if(t-e<1)return"";let i,o=[],s=0,a;for(;e<t;)a=r[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|r[e++]&63:a>239&&a<365?(a=((a&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function Zn(r,e,t){let n=t,i,o;for(let s=0;s<r.length;++s)i=r.charCodeAt(s),i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&((o=r.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128);return t-n}function we(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function Nr(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var Yn=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;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,we(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw we(this,4);return Nr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw we(this,4);return Nr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw we(this,4);let e=Ao(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw we(this,4);let e=No(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw we(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return Lo(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw we(this,e);this.pos+=e}else do if(this.pos>=this.len)throw we(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new ie(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw we(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw we(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw we(this,8);let e=Nr(this.buf,this.pos+=4),t=Nr(this.buf,this.pos+=4);return new ie(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=Bo(this.buf,this.pos);return this.pos+=Gt(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Qn(r){return new Yn(r instanceof Uint8Array?r:r.subarray())}function Wt(r,e,t){let n=Qn(r);return e.decode(n,void 0,t)}var ei={};W(ei,{base10:()=>ju});var ju=$e({prefix:"9",name:"base10",alphabet:"0123456789"});var ti={};W(ti,{base16:()=>qu,base16upper:()=>Gu});var qu=P({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Gu=P({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ri={};W(ri,{base2:()=>Wu});var Wu=P({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ni={};W(ni,{base256emoji:()=>Yu});var Fo=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}"),Ku=Fo.reduce((r,e,t)=>(r[t]=e,r),[]),Xu=Fo.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function Ju(r){return r.reduce((e,t)=>(e+=Ku[t],e),"")}function Zu(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let i=Xu[n];if(i==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}var Yu=ut({prefix:"\u{1F680}",name:"base256emoji",encode:Ju,decode:Zu});var ii={};W(ii,{base64:()=>Kt,base64pad:()=>Qu,base64url:()=>ef,base64urlpad:()=>tf});var Kt=P({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Qu=P({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ef=P({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),tf=P({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var oi={};W(oi,{base8:()=>rf});var rf=P({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var si={};W(si,{identity:()=>nf});var nf=ut({prefix:"\0",name:"identity",encode:r=>Pn(r),decode:r=>Fn(r)});var yp=new TextEncoder,of=new TextDecoder;var Po=512;function Uo(r){return JSON.parse(of.decode(r))}var Ae={};W(Ae,{code:()=>Q,decode:()=>cf,encode:()=>af,name:()=>sf});var sf="raw",Q=85;function af(r){return le(r)}function cf(r){return le(r)}var ui={};W(ui,{identity:()=>ci});var $o=0,uf="identity",Mo=le;function ff(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return dt($o,Mo(r))}var ci={code:$o,name:uf,encode:Mo,digest:ff};var li={};W(li,{sha256:()=>oe,sha512:()=>hf});var lf=20;function Ke({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:i}){return new fi(r,e,t,n,i)}var fi=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,i,o){this.name=e,this.code=t,this.encode=n,this.minDigestLength=i??lf,this.maxDigestLength=o}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Ro(n,this.code,t?.truncate):n.then(i=>Ro(i,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function Ro(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return dt(e,r)}function Vo(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var oe=Ke({name:"sha2-256",code:18,encode:Vo("SHA-256")}),hf=Ke({name:"sha2-512",code:19,encode:Vo("SHA-512")});var hi={...si,...ri,...oi,...ei,...ti,...On,...Vn,...Hn,...ii,...ni},Cp={...li,...ui};function jo(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Ho=jo("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),di=jo("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=ne(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),df={utf8:Ho,"utf-8":Ho,hex:hi.base16,latin1:di,ascii:di,binary:di,...hi},Tr=df;function $(r,e="utf8"){let t=Tr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function pi(r){let e=r??8192,t=e>>>1,n,i=e;return function(s){if(s<1||s>t)return ne(s);i+s>e&&(n=ne(e),i=0);let a=n.subarray(i,i+=s);return(i&7)!==0&&(i=(i|7)+1),a}}var Xe=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function mi(){}var gi=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},pf=pi();function mf(r){return globalThis.Buffer!=null?ne(r):pf(r)}var Jt=class{len;head;tail;states;constructor(){this.len=0,this.head=new Xe(mi,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new Xe(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new wi((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Dr,10,ie.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=ie.fromBigInt(e);return this._push(Dr,t.length(),t)}uint64Number(e){return this._push(vo,Gt(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=ie.fromBigInt(e).zzEncode();return this._push(Dr,t.length(),t)}sint64Number(e){let t=ie.fromNumber(e).zzEncode();return this._push(Dr,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(yi,1,e?1:0)}fixed32(e){return this._push(Xt,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=ie.fromBigInt(e);return this._push(Xt,4,t.lo)._push(Xt,4,t.hi)}fixed64Number(e){let t=ie.fromNumber(e);return this._push(Xt,4,t.lo)._push(Xt,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Io,4,e)}double(e){return this._push(Co,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(yi,1,0):this.uint32(t)._push(gf,t,e)}string(e){let t=Do(e);return t!==0?this.uint32(t)._push(Zn,t,e):this._push(yi,1,0)}fork(){return this.states=new gi(this),this.head=this.tail=new Xe(mi,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Xe(mi,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=t,this.len+=n),this}finish(){let e=this.head.next,t=mf(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function yi(r,e,t){e[t]=r&255}function yf(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var wi=class extends Xe{next;constructor(e,t){super(yf,e,t),this.next=void 0}};function Dr(r,e,t){for(;r.hi!==0;)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}function Xt(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 gf(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(Jt.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(wf,e,r),this},Jt.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(xf,e,r),this});function wf(r,e,t){e.set(r,t)}function xf(r,e,t){r.length<40?Zn(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set($(r),t)}function xi(){return new Jt}function Zt(r,e){let t=xi();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var gt;(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"})(gt||(gt={}));function Lr(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function bi(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 Lr("enum",gt.VARINT,t,n)}function Yt(r,e){return Lr("message",gt.LENGTH_DELIMITED,r,e)}var xe;(function(r){let e;(function(i){i.Raw="Raw",i.Directory="Directory",i.File="File",i.Metadata="Metadata",i.Symlink="Symlink",i.HAMTShard="HAMTShard"})(e=r.DataType||(r.DataType={}));let t;(function(i){i[i.Raw=0]="Raw",i[i.Directory=1]="Directory",i[i.File=2]="File",i[i.Metadata=3]="Metadata",i[i.Symlink=4]="Symlink",i[i.HAMTShard=5]="HAMTShard"})(t||(t={})),(function(i){i.codec=()=>bi(t)})(e=r.DataType||(r.DataType={}));let n;r.codec=()=>(n==null&&(n=Yt((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.Type!=null&&(o.uint32(8),r.DataType.codec().encode(i.Type,o)),i.Data!=null&&(o.uint32(18),o.bytes(i.Data)),i.filesize!=null&&(o.uint32(24),o.uint64(i.filesize)),i.blocksizes!=null)for(let a of i.blocksizes)o.uint32(32),o.uint64(a);i.hashType!=null&&(o.uint32(40),o.uint64(i.hashType)),i.fanout!=null&&(o.uint32(48),o.uint64(i.fanout)),i.mode!=null&&(o.uint32(56),o.uint32(i.mode)),i.mtime!=null&&(o.uint32(66),zr.codec().encode(i.mtime,o)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={blocksizes:[]},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.Type=r.DataType.codec().decode(i);break;case 2:s.Data=i.bytes();break;case 3:s.filesize=i.uint64();break;case 4:s.blocksizes.push(i.uint64());break;case 5:s.hashType=i.uint64();break;case 6:s.fanout=i.uint64();break;case 7:s.mode=i.uint32();break;case 8:s.mtime=zr.codec().decode(i,i.uint32());break;default:i.skipType(c&7);break}}return s})),n),r.encode=i=>Zt(i,r.codec()),r.decode=i=>Wt(i,r.codec())})(xe||(xe={}));var zr;(function(r){let e;r.codec=()=>(e==null&&(e=Yt((t,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),t.Seconds!=null&&(n.uint32(8),n.int64(t.Seconds)),t.FractionalNanoseconds!=null&&(n.uint32(21),n.fixed32(t.FractionalNanoseconds)),i.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let i={},o=n==null?t.len:t.pos+n;for(;t.pos<o;){let s=t.uint32();switch(s>>>3){case 1:i.Seconds=t.int64();break;case 2:i.FractionalNanoseconds=t.fixed32();break;default:t.skipType(s&7);break}}return i})),e),r.encode=t=>Zt(t,r.codec()),r.decode=t=>Wt(t,r.codec())})(zr||(zr={}));var qo;(function(r){let e;r.codec=()=>(e==null&&(e=Yt((t,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),t.MimeType!=null&&(n.uint32(10),n.string(t.MimeType)),i.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let i={},o=n==null?t.len:t.pos+n;for(;t.pos<o;){let s=t.uint32();switch(s>>>3){case 1:i.MimeType=t.string();break;default:t.skipType(s&7);break}}return i})),e),r.encode=t=>Zt(t,r.codec()),r.decode=t=>Wt(t,r.codec())})(qo||(qo={}));var Go={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},bf=["directory","hamt-sharded-directory"],Wo=parseInt("0644",8),Ko=parseInt("0755",8),Xo=BigInt(1024),B=class r{static unmarshal(e){let t=xe.decode(e);if(t.fanout!=null&&t.fanout>Xo)throw new Cr(`Fanout size was too large - ${t.fanout} > ${Xo}`);let n=new r({type:Go[t.Type!=null?t.Type.toString():"File"],data:t.Data,blockSizes:t.blocksizes,mode:t.mode,mtime:t.mtime!=null?{secs:t.mtime.Seconds??0n,nsecs:t.mtime.FractionalNanoseconds}:void 0,fanout:t.fanout});return n._originalMode=t.mode??0,n}type;data;blockSizes;hashType;fanout;mtime;_mode;_originalMode;constructor(e={type:"file"}){let{type:t,data:n,blockSizes:i,hashType:o,fanout:s,mtime:a,mode:c}=e;if(t!=null&&!Object.values(Go).includes(t))throw new qt("Type: "+t+" is not valid");this.type=t??"file",this.data=n,this.hashType=o,this.fanout=s,this.blockSizes=i??[],this._originalMode=0,this.mode=c,this.mtime=a}set mode(e){e==null?this._mode=this.isDirectory()?Ko:Wo:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return bf.includes(this.type)}addBlockSize(e){this.blockSizes.push(e)}removeBlockSize(e){this.blockSizes.splice(e,1)}fileSize(){if(this.isDirectory())return 0n;let e=0n;return this.blockSizes.forEach(t=>{e+=t}),this.data!=null&&(e+=BigInt(this.data.length)),e}marshal(){let e;switch(this.type){case"raw":e=xe.DataType.Raw;break;case"directory":e=xe.DataType.Directory;break;case"file":e=xe.DataType.File;break;case"metadata":e=xe.DataType.Metadata;break;case"symlink":e=xe.DataType.Symlink;break;case"hamt-sharded-directory":e=xe.DataType.HAMTShard;break;default:throw new qt(`Type: ${e} is not valid`)}let t=this.data;(this.data==null||this.data.length===0)&&(t=void 0);let n;this.mode!=null&&(n=this._originalMode&4294963200|(this.mode??0),n===Wo&&!this.isDirectory()&&(n=void 0),n===Ko&&this.isDirectory()&&(n=void 0));let i;return this.mtime!=null&&(i={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),xe.encode({Type:e,Data:t,filesize:this.isDirectory()?void 0:this.fileSize(),blocksizes:this.blockSizes,hashType:this.hashType,fanout:this.fanout,mode:n,mtime:i})}};var M=class extends Event{type;detail;constructor(e,t){super(e),this.type=e,this.detail=t}};var be=async(r,e,t)=>{t.codec==null&&(t.codec=V);let n=await oe.digest(r),i=A.create(t.cidVersion,t.codec.code,n);return await e.put(i,r,t),i};function Jo(r){return async function*(t,n){let i=0n;for await(let o of t.content)yield async()=>{let s,a={codec:V,cidVersion:r.cidVersion,onProgress:r.onProgress};r.rawLeaves?(a.codec=Ae,a.cidVersion=1):(s=new B({type:r.leafType,data:o}),o=T({Data:s.marshal(),Links:[]}));let c=await be(o,n,a);return i+=BigInt(o.byteLength),r.onProgress?.(new M("unixfs:importer:progress:file:write",{bytesWritten:i,cid:c,path:t.path})),{cid:c,unixfs:s,size:BigInt(o.length),block:o}}}}var Fr=class r extends Error{static name="InvalidParametersError";static code="ERR_INVALID_PARAMS";name=r.name;code=r.code;constructor(e="Invalid parameters"){super(e)}};var Ve=class r extends Error{static name="InvalidContentError";static code="ERR_INVALID_CONTENT";name=r.name;code=r.code;constructor(e="Invalid content"){super(e)}};var Zo=async(r,e,t)=>{let n=new B({type:"directory",mtime:r.mtime,mode:r.mode}),i=T(U({Data:n.marshal()})),o=await be(i,e,t),s=r.path;return{cid:o,path:s,unixfs:n,size:BigInt(i.length),originalPath:r.originalPath,block:i}};async function*_f(r,e,t){let n=-1,i;for await(let o of Vt(t.bufferImporter(r,e),t.blockWriteConcurrency)){if(n++,n===0){i={...o,single:!0};continue}else n===1&&i!=null&&(yield{...i,block:void 0,single:void 0},i=void 0);yield{...o,block:void 0}}i!=null&&(yield i)}function Yo(r){return r.single===!0}var kf=(r,e,t)=>async function(i){if(i.length===1&&Yo(i[0])&&t.reduceSingleLeafToSelf){let f=i[0],l=f.block;return Yo(f)&&(r.mtime!==void 0||r.mode!==void 0)&&(f.unixfs=new B({type:"file",mtime:r.mtime,mode:r.mode,data:f.block}),l={Data:f.unixfs.marshal(),Links:[]},f.block=T(U(l)),f.cid=await be(f.block,e,{...t,cidVersion:t.cidVersion}),f.size=BigInt(f.block.length)),t.onProgress?.(new M("unixfs:importer:progress:file:layout",{cid:f.cid,path:f.originalPath})),{cid:f.cid,path:r.path,unixfs:f.unixfs,size:f.size,originalPath:f.originalPath}}let o=new B({type:"file",mtime:r.mtime,mode:r.mode}),s=i.filter(f=>f.cid.code===Q&&f.size>0||f.unixfs!=null&&f.unixfs.data==null&&f.unixfs.fileSize()>0n?!0:!!f.unixfs?.data?.length).map(f=>f.cid.code===Q?(o.addBlockSize(f.size),{Name:"",Tsize:Number(f.size),Hash:f.cid}):(f.unixfs?.data==null?o.addBlockSize(f.unixfs?.fileSize()??0n):o.addBlockSize(BigInt(f.unixfs.data.length)),{Name:"",Tsize:Number(f.size),Hash:f.cid})),a={Data:o.marshal(),Links:s},c=T(U(a)),h=await be(c,e,t);return t.onProgress?.(new M("unixfs:importer:progress:file:layout",{cid:h,path:r.originalPath})),{cid:h,path:r.path,unixfs:o,size:BigInt(c.length+a.Links.reduce((f,l)=>f+(l.Tsize??0),0)),originalPath:r.originalPath,block:c}},Qo=async(r,e,t)=>t.layout(_f(r,e,t),kf(r,e,t));function Sf(r){return Symbol.iterator in r}function Ef(r){return Symbol.asyncIterator in r}function vf(r){try{if(r instanceof Uint8Array)return(async function*(){yield r})();if(Sf(r))return(async function*(){yield*r})();if(Ef(r))return r}catch{throw new Ve("Content was invalid")}throw new Ve("Content was invalid")}function es(r){return async function*(t,n){for await(let i of t){let o;if(i.path!=null&&(o=i.path,i.path=i.path.split("/").filter(s=>s!=null&&s!==".").join("/")),Bf(i)){let s={path:i.path,mtime:i.mtime,mode:i.mode,content:(async function*(){let c=0n;for await(let h of r.chunker(r.chunkValidator(vf(i.content)))){let f=BigInt(h.byteLength);c+=f,r.onProgress?.(new M("unixfs:importer:progress:file:read",{bytesRead:c,chunkSize:f,path:i.path})),yield h}})(),originalPath:o},a=r.fileBuilder??Qo;yield async()=>a(s,n,r)}else if(i.path!=null){let s={path:i.path,mtime:i.mtime,mode:i.mode,originalPath:o},a=r.dirBuilder??Zo;yield async()=>a(s,n,r)}else throw new Error("Import candidate must have content or path or both")}}}function Bf(r){return r.content!=null}var ts=()=>async function*(e){for await(let t of e){if(t.length===void 0)throw new Ve("Content was invalid");if(typeof t=="string"||t instanceof String)yield $(t.toString());else if(Array.isArray(t))yield Uint8Array.from(t);else if(t instanceof Uint8Array)yield t;else throw new Ve("Content was invalid")}};var If=174;function Qt(r){let e=r?.maxChildrenPerNode??If;return async function t(n,i){let o=[];for await(let s of vr(n,e))o.push(await i(s));return o.length>1?t(o,i):o[0]}}function Af(r){return r[Symbol.asyncIterator]!=null}function Cf(r){if(Af(r))return(async()=>{let t=[];for await(let n of r)t.push(n);return t})();let e=[];for(let t of r)e.push(t);return e}var rs=Cf;var Ce=class{options;root;dir;path;dirty;flat;parent;parentKey;unixfs;mode;mtime;cid;size;nodeSize;constructor(e,t){this.options=t??{},this.root=e.root,this.dir=e.dir,this.path=e.path,this.dirty=e.dirty,this.flat=e.flat,this.parent=e.parent,this.parentKey=e.parentKey,this.unixfs=e.unixfs,this.mode=e.mode,this.mtime=e.mtime}},er=A.parse("QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn"),tr=A.parse("zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi");var Je=class extends Ce{_children;constructor(e,t){super(e,t),this._children=new Map}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,this._children.set(e,t)}async get(e){return Promise.resolve(this._children.get(e))}childCount(){return this._children.size}directChildrenCount(){return this.childCount()}onlyChild(){return this._children.values().next().value}*eachChildSeries(){for(let[e,t]of this._children.entries())yield{key:e,child:t}}estimateNodeSize(){if(this.nodeSize!==void 0)return this.nodeSize;this.nodeSize=0;for(let[e,t]of this._children.entries())t.size!=null&&t.cid!=null&&(this.nodeSize+=e.length+(this.options.cidVersion===1?tr.bytes.byteLength:er.bytes.byteLength));return this.nodeSize}async*flush(e){let t=[];for(let[c,h]of this._children.entries()){let f=h;if(h instanceof Ce)for await(let l of h.flush(e))f=l,yield l;f.size!=null&&f.cid!=null&&t.push({Name:c,Tsize:Number(f.size),Hash:f.cid})}let n=new B({type:"directory",mtime:this.mtime,mode:this.mode}),i={Data:n.marshal(),Links:t},o=T(U(i)),s=await be(o,e,this.options),a=o.length+i.Links.reduce((c,h)=>c+(h.Tsize??0),0);this.cid=s,this.size=a,yield{cid:s,unixfs:n,path:this.path,size:BigInt(a)}}};var Ur=Ut(os(),1);function Nf(r){let e=new Array(4);for(let t=0;t<4;t++)e[t]=r&255,r=r>>8;return new Uint8Array(e)}var Qm=Ke({name:"murmur3-32",code:35,encode:r=>Nf(Ur.default.x86.hash32(r))}),Ze=Ke({name:"murmur3-128",code:34,encode:r=>ct.fromHex(Ur.default.x64.hash128(r))}),e0=Ke({name:"murmur3-x64-64",code:34,encode:r=>ct.fromHex(Ur.default.x64.hash128(r)).subarray(0,8)});var cs=Ut($r(),1);var se=class r{_options;_popCount;_parent;_posAtParent;_children;key;constructor(e,t,n=0){this._options=e,this._popCount=0,this._parent=t,this._posAtParent=n,this._children=new cs.default,this.key=null}async put(e,t){let n=await this._findNewBucketAndPos(e);n.bucket._putAt(n,e,t)}async get(e){let t=await this._findChild(e);if(t!=null)return t.value}async del(e){let t=await this._findPlace(e),n=t.bucket._at(t.pos);n!=null&&n.key===e&&t.bucket._delAt(t.pos)}leafCount(){return this._children.compactArray().reduce((t,n)=>n instanceof r?t+n.leafCount():t+1,0)}childrenCount(){return this._children.length}onlyChild(){return this._children.get(0)}*eachLeafSeries(){let e=this._children.compactArray();for(let t of e)t instanceof r?yield*t.eachLeafSeries():yield t}serialize(e,t){let n=[];return t(this._children.reduce((i,o,s)=>(o!=null&&(o instanceof r?i.push(o.serialize(e,t)):i.push(e(o,s))),i),n))}async asyncTransform(e,t){return us(this,e,t)}toJSON(){return this.serialize(Ff,Pf)}prettyPrint(){return JSON.stringify(this.toJSON(),null," ")}tableSize(){return Math.pow(2,this._options.bits)}async _findChild(e){let t=await this._findPlace(e),n=t.bucket._at(t.pos);if(!(n instanceof r)&&n!=null&&n.key===e)return n}async _findPlace(e){let t=this._options.hash(typeof e=="string"?$(e):e),n=await t.take(this._options.bits),i=this._children.get(n);return i instanceof r?i._findPlace(t):{bucket:this,pos:n,hash:t,existingChild:i}}async _findNewBucketAndPos(e){let t=await this._findPlace(e);if(t.existingChild!=null&&t.existingChild.key!==e){let n=new r(this._options,t.bucket,t.pos);t.bucket._putObjectAt(t.pos,n);let i=await n._findPlace(t.existingChild.hash);return i.bucket._putAt(i,t.existingChild.key,t.existingChild.value),n._findNewBucketAndPos(t.hash)}return t}_putAt(e,t,n){this._putObjectAt(e.pos,{key:t,value:n,hash:e.hash})}_putObjectAt(e,t){this._children.get(e)==null&&this._popCount++,this._children.set(e,t)}_delAt(e){if(e===-1)throw new Error("Invalid position");this._children.get(e)!=null&&this._popCount--,this._children.unset(e),this._level()}_level(){if(this._parent!=null&&this._popCount<=1)if(this._popCount===1){let e=this._children.find(zf);if(e!=null&&!(e instanceof r)){let t=e.hash;t.untake(this._options.bits);let n={pos:this._posAtParent,hash:t,bucket:this._parent};this._parent._putAt(n,e.key,e.value)}}else this._parent._delAt(this._posAtParent)}_at(e){return this._children.get(e)}};function zf(r){return!!r}function Ff(r,e){return r.key}function Pf(r){return r}async function us(r,e,t){let n=[];for(let i of r._children.compactArray())if(i instanceof se)await us(i,e,t);else{let o=await e(i);n.push({bitField:r._children.bitField(),children:o})}return t(n)}var Uf=[255,254,252,248,240,224,192,128],$f=[1,3,7,15,31,63,127,255],Mr=class{_value;_currentBytePos;_currentBitPos;constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let t=e,n=0;for(;t>0&&this._haveBits();){let i=this._value[this._currentBytePos],o=this._currentBitPos+1,s=Math.min(o,t),a=Mf(i,o-s,s);n=(n<<s)+a,t-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function Mf(r,e,t){let n=Rf(e,t);return(r&n)>>>e}function Rf(r,e){return Uf[r]&$f[Math.min(e+r-1,7)]}function fs(r){function e(t){return t instanceof Rr?t:new Rr(t,r)}return e}var Rr=class{_value;_hashFn;_depth;_availableBits;_currentBufferIndex;_buffers;constructor(e,t){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=t,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let t=e;for(;this._availableBits<t;)await this._produceMoreBits();let n=0;for(;t>0;){let i=this._buffers[this._currentBufferIndex],o=Math.min(i.availableBits(),t),s=i.take(o);n=(n<<o)+s,t-=o,this._availableBits-=o,i.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let t=e;for(;t>0;){let n=this._buffers[this._currentBufferIndex],i=Math.min(n.totalBits()-n.availableBits(),t);n.untake(i),t-=i,this._availableBits+=i,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?Ie([this._value,Uint8Array.from([this._depth])]):this._value,t=await this._hashFn(e),n=new Mr(t);this._buffers.push(n),this._availableBits+=n.availableBits()}};function wt(r){if(r==null||r.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:r.bits??8,hash:fs(r.hashFn)};return new se(e)}async function Of(r){return(await Ze.encode(r)).slice(0,8).reverse()}var ls=BigInt(34),Vf=8,_i=class extends Ce{_bucket;constructor(e,t){super(e,t),this._bucket=wt({hashFn:Of,bits:t.shardFanoutBits??Vf})}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,await this._bucket.put(e,t)}async get(e){return this._bucket.get(e)}childCount(){return this._bucket.leafCount()}directChildrenCount(){return this._bucket.childrenCount()}onlyChild(){return this._bucket.onlyChild()}*eachChildSeries(){for(let{key:e,value:t}of this._bucket.eachLeafSeries())yield{key:e,child:t}}estimateNodeSize(){return this.nodeSize!==void 0?this.nodeSize:(this.nodeSize=ps(this._bucket,this,this.options),this.nodeSize)}async*flush(e){for await(let t of ds(this._bucket,e,this,this.options))yield{...t,path:this.path}}},hs=_i;async function*ds(r,e,t,n){let i=r._children,o=(r.tableSize()-1).toString(16).length,s=[],a=0n;for(let d=0;d<i.length;d++){let m=i.get(d);if(m==null)continue;let x=d.toString(16).toUpperCase().padStart(o,"0");if(m instanceof se){let g;for await(let w of ds(m,e,null,n))g=w;if(g==null)throw new Error("Could not flush sharded directory, no subshard found");s.push({Name:x,Tsize:Number(g.size),Hash:g.cid}),a+=g.size}else if(Hf(m.value)){let g=m.value,w;for await(let S of g.flush(e))w=S,yield w;if(w==null)throw new Error("Did not flush dir");let _=x+m.key;s.push({Name:_,Tsize:Number(w.size),Hash:w.cid}),a+=w.size}else{let g=m.value;if(g.cid==null)continue;let w=x+m.key,_=g.size;s.push({Name:w,Tsize:Number(_),Hash:g.cid}),a+=BigInt(_??0)}}let c=Uint8Array.from(i.bitField().reverse()),h=new B({type:"hamt-sharded-directory",data:c,fanout:BigInt(r.tableSize()),hashType:ls,mtime:t?.mtime,mode:t?.mode}),f={Data:h.marshal(),Links:s},l=T(U(f)),y=await be(l,e,n),u=BigInt(l.byteLength)+a;yield{cid:y,unixfs:h,size:u}}function Hf(r){return typeof r.flush=="function"}function ps(r,e,t){let n=r._children,i=(r.tableSize()-1).toString(16).length,o=[];for(let h=0;h<n.length;h++){let f=n.get(h);if(f==null)continue;let l=h.toString(16).toUpperCase().padStart(i,"0");if(f instanceof se){let y=ps(f,null,t);o.push({Name:l,Tsize:Number(y),Hash:t.cidVersion===0?er:tr})}else if(typeof f.value.flush=="function"){let u=f.value.nodeSize();o.push({Name:l+f.key,Tsize:Number(u),Hash:t.cidVersion===0?er:tr})}else{let y=f.value;if(y.cid==null)continue;let u=l+f.key,d=y.size;o.push({Name:u,Tsize:Number(d),Hash:y.cid})}}let s=Uint8Array.from(n.bitField().reverse()),a=new B({type:"hamt-sharded-directory",data:s,fanout:BigInt(r.tableSize()),hashType:ls,mtime:e?.mtime,mode:e?.mode});return T(U({Data:a.marshal(),Links:o})).length}async function ki(r,e,t,n){let i=e;e instanceof Je&&e.estimateNodeSize()>t&&(i=await jf(e,n));let o=i.parent;if(o!=null){if(i!==e){if(r!=null&&(r.parent=i),i.parentKey==null)throw new Error("No parent key found");await o.put(i.parentKey,i)}return ki(i,o,t,n)}return i}async function jf(r,e){let t=new hs({root:r.root,dir:!0,parent:r.parent,parentKey:r.parentKey,path:r.path,dirty:r.dirty,flat:!1,mtime:r.mtime,mode:r.mode},e);for(let{key:n,child:i}of r.eachChildSeries())await t.put(n,i);return t}var ms=(r="")=>r.split(/(?<!\\)\//).filter(Boolean);async function qf(r,e,t){let n=ms(r.path??""),i=n.length-1,o=e,s="";for(let a=0;a<n.length;a++){let c=n[a];s+=`${s!==""?"/":""}${c}`;let h=a===i;if(o.dirty=!0,o.cid=void 0,o.size=void 0,h)await o.put(c,r),e=await ki(null,o,t.shardSplitThresholdBytes,t);else{let f=await o.get(c);(f==null||!(f instanceof Ce))&&(f=new Je({root:!1,dir:!0,parent:o,parentKey:c,path:s,dirty:!0,flat:!0,mtime:f?.unixfs?.mtime,mode:f?.unixfs?.mode},t)),await o.put(c,f),o=f}}return e}async function*ys(r,e){if(!(r instanceof Ce)){r.unixfs?.isDirectory()===!0&&(yield r);return}yield*r.flush(e)}function gs(r){return async function*(t,n){let i=new Je({root:!0,dir:!0,path:"",dirty:!0,flat:!0},r),o,s=!1;for await(let a of t){if(a==null)continue;let c=`${a.originalPath??""}`.split("/")[0];c!=null&&c!==""&&(o==null?(o=c,s=!0):o!==c&&(s=!1)),i=await qf(a,i,r),a.unixfs?.isDirectory()!==!0&&(yield a)}if(r.wrapWithDirectory||s&&i.childCount()>1)yield*ys(i,n);else for(let a of i.eachChildSeries())a!=null&&(yield*ys(a.child,n))}}async function*Ye(r,e,t={}){let n;Symbol.asyncIterator in r||Symbol.iterator in r?n=r:n=[r];let i=t.wrapWithDirectory??!1,o=t.shardSplitThresholdBytes??262144,s=t.shardFanoutBits??8,a=t.cidVersion??1,c=t.rawLeaves??!0,h=t.leafType??"file",f=t.fileImportConcurrency??50,l=t.blockWriteConcurrency??10,y=t.reduceSingleLeafToSelf??!0,u=t.chunker??Ht(),d=t.chunkValidator??ts(),m=t.dagBuilder??es({chunker:u,chunkValidator:d,wrapWithDirectory:i,layout:t.layout??Qt(),bufferImporter:t.bufferImporter??Jo({cidVersion:a,rawLeaves:c,leafType:h,onProgress:t.onProgress}),blockWriteConcurrency:l,reduceSingleLeafToSelf:y,cidVersion:a,onProgress:t.onProgress,dirBuilder:t.dirBuilder,fileBuilder:t.fileBuilder}),x=t.treeBuilder??gs({wrapWithDirectory:i,shardSplitThresholdBytes:o,shardFanoutBits:s,cidVersion:a,onProgress:t.onProgress});for await(let g of x(Vt(m(n,e),f),e))yield{cid:g.cid,path:g.path,unixfs:g.unixfs,size:g.size}}async function ws(r,e,t={}){let n=await Er(Ye([r],e,t));if(n==null)throw new Fr("Nothing imported");return n}async function xs(r,e,t={}){return ws({content:r},e,t)}async function bs(r,e,t={}){return ws({content:r},e,t)}function Gf(r){return r[Symbol.asyncIterator]!=null}function Wf(r){if(Gf(r))return(async()=>{let t;for await(let n of r)t=n;return t})();let e;for(let t of r)e=t;return e}var _e=Wf;var ke=class extends Error{name;code;constructor(e,t,n){super(e),this.name=t,this.code=n}},Ne=class extends ke{constructor(e="not a Unixfs node"){super(e,"NotUnixFSError","ERR_NOT_UNIXFS")}},ee=class extends ke{constructor(e="invalid PBNode"){super(e,"InvalidPBNodeError","ERR_INVALID_PB_NODE")}},He=class extends ke{constructor(e="unknown error"){super(e,"InvalidPBNodeError","ERR_UNKNOWN_ERROR")}},Qe=class extends ke{constructor(e="path already exists"){super(e,"AlreadyExistsError","ERR_ALREADY_EXISTS")}},Fe=class extends ke{constructor(e="path does not exist"){super(e,"DoesNotExistError","ERR_DOES_NOT_EXIST")}},xt=class extends ke{constructor(e="no content"){super(e,"NoContentError","ERR_NO_CONTENT")}},Or=class extends ke{constructor(e="not a file"){super(e,"NotAFileError","ERR_NOT_A_FILE")}},Te=class extends ke{constructor(e="not a directory"){super(e,"NotADirectoryError","ERR_NOT_A_DIRECTORY")}},F=class extends ke{constructor(e="invalid parameters"){super(e,"InvalidParametersError","ERR_INVALID_PARAMETERS")}};var nr={cidVersion:1,rawLeaves:!0,layout:Qt({maxChildrenPerNode:1024}),chunker:Ht({chunkSize:1048576})};async function*Vr(r,e,t={}){yield*Ye(r,e,{...nr,...t})}async function _s(r,e,t={}){let{cid:n}=await xs(r,e,{...nr,...t});return n}async function ks(r,e,t={}){let{cid:n}=await bs(r,e,{...nr,...t});return n}async function Ss(r,e,t={}){if(r.path==null)throw new F("path is required");if(r.content==null)throw new F("content is required");let n=await _e(Vr([r],e,{...nr,...t,wrapWithDirectory:!0}));if(n==null)throw new F("Nothing imported");return n.cid}async function Es(r,e,t={}){if(r.content!=null)throw new F("Directories cannot have content, use addFile instead");let i=await(r.path==null?Er:_e)(Vr([{...r,path:r.path??"-"}],e,{...nr,...t,wrapWithDirectory:r.path!=null}));if(i==null)throw new F("Nothing imported");return i.cid}var Hr=class r extends Error{static name="BadPathError";static code="ERR_BAD_PATH";name=r.name;code=r.code;constructor(e="Bad path"){super(e)}},de=class r extends Error{static name="NotFoundError";static code="ERR_NOT_FOUND";name=r.name;code=r.code;constructor(e="Not found"){super(e)}},jr=class r extends Error{static name="NoResolverError";static code="ERR_NO_RESOLVER";name=r.name;code=r.code;constructor(e="No resolver"){super(e)}},H=class r extends Error{static name="NotUnixFSError";static code="ERR_NOT_UNIXFS";name=r.name;code=r.code;constructor(e="Not UnixFS"){super(e)}},qr=class r extends Error{static name="OverReadError";static code="ERR_OVER_READ";name=r.name;code=r.code;constructor(e="Over read"){super(e)}},Gr=class r extends Error{static name="UnderReadError";static code="ERR_UNDER_READ";name=r.name;code=r.code;constructor(e="Under read"){super(e)}},Wr=class r extends Error{static name="NoPropError";static code="ERR_NO_PROP";name=r.name;code=r.code;constructor(e="No Property found"){super(e)}},et=class r extends Error{static name="InvalidParametersError";static code="ERR_INVALID_PARAMS";name=r.name;code=r.code;constructor(e="Invalid parameters"){super(e)}};var Kf=["string","number","bigint","symbol"],Xf=["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 vs(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let e=typeof r;if(Kf.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(r))return"Array";if(Jf(r))return"Buffer";let t=Zf(r);return t||"Object"}function Jf(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function Zf(r){let e=Object.prototype.toString.call(r).slice(8,-1);if(Xf.includes(e))return e}var p=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}};p.uint=new p(0,"uint",!0);p.negint=new p(1,"negint",!0);p.bytes=new p(2,"bytes",!0);p.string=new p(3,"string",!0);p.array=new p(4,"array",!1);p.map=new p(5,"map",!1);p.tag=new p(6,"tag",!1);p.float=new p(7,"float",!0);p.false=new p(7,"false",!0);p.true=new p(7,"true",!0);p.null=new p(7,"null",!0);p.undefined=new p(7,"undefined",!0);p.break=new p(7,"break",!0);var b=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 bt=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Yf=new TextDecoder,Qf=new TextEncoder;function Kr(r){return bt&&globalThis.Buffer.isBuffer(r)}function Xr(r){return r instanceof Uint8Array?Kr(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Cs=bt?(r,e,t)=>t-e>64?globalThis.Buffer.from(r.subarray(e,t)).toString("utf8"):Is(r,e,t):(r,e,t)=>t-e>64?Yf.decode(r.subarray(e,t)):Is(r,e,t),Jr=bt?r=>r.length>64?globalThis.Buffer.from(r):Bs(r):r=>r.length>64?Qf.encode(r):Bs(r);var _t=bt?(r,e,t)=>Kr(r)?new Uint8Array(r.subarray(e,t)):r.slice(e,t):(r,e,t)=>r.slice(e,t),Ns=bt?(r,e)=>(r=r.map(t=>t instanceof Uint8Array?t:globalThis.Buffer.from(t)),Xr(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},Ts=bt?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function Ds(r,e){if(Kr(r)&&Kr(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 Bs(r){let e=[],t=0;for(let n=0;n<r.length;n++){let i=r.charCodeAt(n);i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&n+1<r.length&&(r.charCodeAt(n+1)&64512)===56320?(i=65536+((i&1023)<<10)+(r.charCodeAt(++n)&1023),e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128)}return e}function Is(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,h,f;switch(s){case 1:i<128&&(o=i);break;case 2:a=r[e+1],(a&192)===128&&(f=(i&31)<<6|a&63,f>127&&(o=f));break;case 3:a=r[e+1],c=r[e+2],(a&192)===128&&(c&192)===128&&(f=(i&15)<<12|(a&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:a=r[e+1],c=r[e+2],h=r[e+3],(a&192)===128&&(c&192)===128&&(h&192)===128&&(f=(i&15)<<18|(a&63)<<12|(c&63)<<6|h&63,f>65535&&f<1114112&&(o=f))}}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 Si(n)}var As=4096;function Si(r){let e=r.length;if(e<=As)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=As));return t}var el=256,Zr=class{constructor(e=el){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=Ts(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=_t(n,0,this.cursor)}else t=Ns(this.chunks,this.cursor);return e&&this.reset(),t}};var v="CBOR decode error:",kt="CBOR encode error:",ir=[];ir[23]=1;ir[24]=2;ir[25]=3;ir[26]=5;ir[27]=9;function Pe(r,e,t){if(r.length-e<t)throw new Error(`${v} not enough data for type`)}var j=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ae(r,e,t){Pe(r,e,1);let n=r[e];if(t.strict===!0&&n<j[0])throw new Error(`${v} integer encoded in more bytes than necessary (strict decode)`);return n}function ce(r,e,t){Pe(r,e,2);let n=r[e]<<8|r[e+1];if(t.strict===!0&&n<j[1])throw new Error(`${v} integer encoded in more bytes than necessary (strict decode)`);return n}function ue(r,e,t){Pe(r,e,4);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];if(t.strict===!0&&n<j[2])throw new Error(`${v} integer encoded in more bytes than necessary (strict decode)`);return n}function fe(r,e,t){Pe(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<j[3])throw new Error(`${v} 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(`${v} integers outside of the safe integer range are not supported`)}function Ls(r,e,t,n){return new b(p.uint,ae(r,e+1,n),2)}function zs(r,e,t,n){return new b(p.uint,ce(r,e+1,n),3)}function Fs(r,e,t,n){return new b(p.uint,ue(r,e+1,n),5)}function Ps(r,e,t,n){return new b(p.uint,fe(r,e+1,n),9)}function pe(r,e){return G(r,0,e.value)}function G(r,e,t){if(t<j[0]){let n=Number(t);r.push([e|n])}else if(t<j[1]){let n=Number(t);r.push([e|24,n])}else if(t<j[2]){let n=Number(t);r.push([e|25,n>>>8,n&255])}else if(t<j[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<j[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(`${v} encountered BigInt larger than allowable range`)}}pe.encodedSize=function(e){return G.encodedSize(e.value)};G.encodedSize=function(e){return e<j[0]?1:e<j[1]?2:e<j[2]?3:e<j[3]?5:9};pe.compareTokens=function(e,t){return e.value<t.value?-1:e.value>t.value?1:0};function Us(r,e,t,n){return new b(p.negint,-1-ae(r,e+1,n),2)}function $s(r,e,t,n){return new b(p.negint,-1-ce(r,e+1,n),3)}function Ms(r,e,t,n){return new b(p.negint,-1-ue(r,e+1,n),5)}var Ei=BigInt(-1),Rs=BigInt(1);function Os(r,e,t,n){let i=fe(r,e+1,n);if(typeof i!="bigint"){let o=-1-i;if(o>=Number.MIN_SAFE_INTEGER)return new b(p.negint,o,9)}if(n.allowBigInt!==!0)throw new Error(`${v} integers outside of the safe integer range are not supported`);return new b(p.negint,Ei-BigInt(i),9)}function Yr(r,e){let t=e.value,n=typeof t=="bigint"?t*Ei-Rs:t*-1-1;G(r,e.type.majorEncoded,n)}Yr.encodedSize=function(e){let t=e.value,n=typeof t=="bigint"?t*Ei-Rs:t*-1-1;return n<j[0]?1:n<j[1]?2:n<j[2]?3:n<j[3]?5:9};Yr.compareTokens=function(e,t){return e.value<t.value?1:e.value>t.value?-1:0};function or(r,e,t,n){Pe(r,e,t+n);let i=_t(r,e+t,e+t+n);return new b(p.bytes,i,t+n)}function Vs(r,e,t,n){return or(r,e,1,t)}function Hs(r,e,t,n){return or(r,e,2,ae(r,e+1,n))}function js(r,e,t,n){return or(r,e,3,ce(r,e+1,n))}function qs(r,e,t,n){return or(r,e,5,ue(r,e+1,n))}function Gs(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${v} 64-bit integer bytes lengths not supported`);return or(r,e,9,i)}function Qr(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===p.string?Jr(r.value):r.value),r.encodedBytes}function St(r,e){let t=Qr(e);G(r,e.type.majorEncoded,t.length),r.push(t)}St.encodedSize=function(e){let t=Qr(e);return G.encodedSize(t.length)+t.length};St.compareTokens=function(e,t){return rl(Qr(e),Qr(t))};function rl(r,e){return r.length<e.length?-1:r.length>e.length?1:Ds(r,e)}function sr(r,e,t,n,i){let o=t+n;Pe(r,e,o);let s=new b(p.string,Cs(r,e+t,e+o),o);return i.retainStringBytes===!0&&(s.byteValue=_t(r,e+t,e+o)),s}function Ws(r,e,t,n){return sr(r,e,1,t,n)}function Ks(r,e,t,n){return sr(r,e,2,ae(r,e+1,n),n)}function Xs(r,e,t,n){return sr(r,e,3,ce(r,e+1,n),n)}function Js(r,e,t,n){return sr(r,e,5,ue(r,e+1,n),n)}function Zs(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${v} 64-bit integer string lengths not supported`);return sr(r,e,9,i,n)}var Ys=St;function Et(r,e,t,n){return new b(p.array,n,t)}function Qs(r,e,t,n){return Et(r,e,1,t)}function ea(r,e,t,n){return Et(r,e,2,ae(r,e+1,n))}function ta(r,e,t,n){return Et(r,e,3,ce(r,e+1,n))}function ra(r,e,t,n){return Et(r,e,5,ue(r,e+1,n))}function na(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${v} 64-bit integer array lengths not supported`);return Et(r,e,9,i)}function ia(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${v} indefinite length items not allowed`);return Et(r,e,1,1/0)}function en(r,e){G(r,p.array.majorEncoded,e.value)}en.compareTokens=pe.compareTokens;en.encodedSize=function(e){return G.encodedSize(e.value)};function vt(r,e,t,n){return new b(p.map,n,t)}function oa(r,e,t,n){return vt(r,e,1,t)}function sa(r,e,t,n){return vt(r,e,2,ae(r,e+1,n))}function aa(r,e,t,n){return vt(r,e,3,ce(r,e+1,n))}function ca(r,e,t,n){return vt(r,e,5,ue(r,e+1,n))}function ua(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${v} 64-bit integer map lengths not supported`);return vt(r,e,9,i)}function fa(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${v} indefinite length items not allowed`);return vt(r,e,1,1/0)}function tn(r,e){G(r,p.map.majorEncoded,e.value)}tn.compareTokens=pe.compareTokens;tn.encodedSize=function(e){return G.encodedSize(e.value)};function la(r,e,t,n){return new b(p.tag,t,1)}function ha(r,e,t,n){return new b(p.tag,ae(r,e+1,n),2)}function da(r,e,t,n){return new b(p.tag,ce(r,e+1,n),3)}function pa(r,e,t,n){return new b(p.tag,ue(r,e+1,n),5)}function ma(r,e,t,n){return new b(p.tag,fe(r,e+1,n),9)}function rn(r,e){G(r,p.tag.majorEncoded,e.value)}rn.compareTokens=pe.compareTokens;rn.encodedSize=function(e){return G.encodedSize(e.value)};var cl=20,ul=21,fl=22,ll=23;function ya(r,e,t,n){if(n.allowUndefined===!1)throw new Error(`${v} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new b(p.null,null,1):new b(p.undefined,void 0,1)}function ga(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${v} indefinite length items not allowed`);return new b(p.break,void 0,1)}function vi(r,e,t){if(t){if(t.allowNaN===!1&&Number.isNaN(r))throw new Error(`${v} NaN values are not supported`);if(t.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${v} Infinity values are not supported`)}return new b(p.float,r,e)}function wa(r,e,t,n){return vi(Bi(r,e+1),3,n)}function xa(r,e,t,n){return vi(Ii(r,e+1),5,n)}function ba(r,e,t,n){return vi(Ea(r,e+1),9,n)}function nn(r,e,t){let n=e.value;if(n===!1)r.push([p.float.majorEncoded|cl]);else if(n===!0)r.push([p.float.majorEncoded|ul]);else if(n===null)r.push([p.float.majorEncoded|fl]);else if(n===void 0)r.push([p.float.majorEncoded|ll]);else{let i,o=!1;(!t||t.float64!==!0)&&(ka(n),i=Bi(Se,1),n===i||Number.isNaN(n)?(Se[0]=249,r.push(Se.slice(0,3)),o=!0):(Sa(n),i=Ii(Se,1),n===i&&(Se[0]=250,r.push(Se.slice(0,5)),o=!0))),o||(hl(n),i=Ea(Se,1),Se[0]=251,r.push(Se.slice(0,9)))}}nn.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){ka(n);let i=Bi(Se,1);if(n===i||Number.isNaN(n))return 3;if(Sa(n),i=Ii(Se,1),n===i)return 5}return 9};var _a=new ArrayBuffer(9),me=new DataView(_a,1),Se=new Uint8Array(_a,0);function ka(r){if(r===1/0)me.setUint16(0,31744,!1);else if(r===-1/0)me.setUint16(0,64512,!1);else if(Number.isNaN(r))me.setUint16(0,32256,!1);else{me.setFloat32(0,r);let e=me.getUint32(0),t=(e&2139095040)>>23,n=e&8388607;if(t===255)me.setUint16(0,31744,!1);else if(t===0)me.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let i=t-127;i<-24?me.setUint16(0,0):i<-14?me.setUint16(0,(e&2147483648)>>16|1<<24+i,!1):me.setUint16(0,(e&2147483648)>>16|i+15<<10|n>>13,!1)}}}function Bi(r,e){if(r.length-e<2)throw new Error(`${v} 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 Sa(r){me.setFloat32(0,r,!1)}function Ii(r,e){if(r.length-e<4)throw new Error(`${v} not enough data for float32`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,4).getFloat32(0,!1)}function hl(r){me.setFloat64(0,r,!1)}function Ea(r,e){if(r.length-e<8)throw new Error(`${v} not enough data for float64`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,8).getFloat64(0,!1)}nn.compareTokens=pe.compareTokens;function L(r,e,t){throw new Error(`${v} encountered invalid minor (${t}) for major ${r[e]>>>5}`)}function on(r){return()=>{throw new Error(`${v} ${r}`)}}var k=[];for(let r=0;r<=23;r++)k[r]=L;k[24]=Ls;k[25]=zs;k[26]=Fs;k[27]=Ps;k[28]=L;k[29]=L;k[30]=L;k[31]=L;for(let r=32;r<=55;r++)k[r]=L;k[56]=Us;k[57]=$s;k[58]=Ms;k[59]=Os;k[60]=L;k[61]=L;k[62]=L;k[63]=L;for(let r=64;r<=87;r++)k[r]=Vs;k[88]=Hs;k[89]=js;k[90]=qs;k[91]=Gs;k[92]=L;k[93]=L;k[94]=L;k[95]=on("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)k[r]=Ws;k[120]=Ks;k[121]=Xs;k[122]=Js;k[123]=Zs;k[124]=L;k[125]=L;k[126]=L;k[127]=on("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)k[r]=Qs;k[152]=ea;k[153]=ta;k[154]=ra;k[155]=na;k[156]=L;k[157]=L;k[158]=L;k[159]=ia;for(let r=160;r<=183;r++)k[r]=oa;k[184]=sa;k[185]=aa;k[186]=ca;k[187]=ua;k[188]=L;k[189]=L;k[190]=L;k[191]=fa;for(let r=192;r<=215;r++)k[r]=la;k[216]=ha;k[217]=da;k[218]=pa;k[219]=ma;k[220]=L;k[221]=L;k[222]=L;k[223]=L;for(let r=224;r<=243;r++)k[r]=on("simple values are not supported");k[244]=L;k[245]=L;k[246]=L;k[247]=ya;k[248]=on("simple values are not supported");k[249]=wa;k[250]=xa;k[251]=ba;k[252]=L;k[253]=L;k[254]=L;k[255]=ga;var Ee=[];for(let r=0;r<24;r++)Ee[r]=new b(p.uint,r,1);for(let r=-1;r>=-24;r--)Ee[31-r]=new b(p.negint,r,1);Ee[64]=new b(p.bytes,new Uint8Array(0),1);Ee[96]=new b(p.string,"",1);Ee[128]=new b(p.array,0,1);Ee[160]=new b(p.map,0,1);Ee[244]=new b(p.false,!1,1);Ee[245]=new b(p.true,!0,1);Ee[246]=new b(p.null,null,1);function pl(){let r=[];return r[p.uint.major]=pe,r[p.negint.major]=Yr,r[p.bytes.major]=St,r[p.string.major]=Ys,r[p.array.major]=en,r[p.map.major]=tn,r[p.tag.major]=rn,r[p.float.major]=nn,r}var Hy=pl(),jy=new Zr,sn=class r{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(`${kt} object contains circular references`);return new r(t,e)}},je={null:new b(p.null,null),undefined:new b(p.undefined,void 0),true:new b(p.true,!0),false:new b(p.false,!1),emptyArray:new b(p.array,0),emptyMap:new b(p.map,0)},qe={number(r,e,t,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new b(p.float,r):r>=0?new b(p.uint,r):new b(p.negint,r)},bigint(r,e,t,n){return r>=BigInt(0)?new b(p.uint,r):new b(p.negint,r)},Uint8Array(r,e,t,n){return new b(p.bytes,r)},string(r,e,t,n){return new b(p.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 b(p.bytes,new Uint8Array(r))},DataView(r,e,t,n){return new b(p.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,e,t,n){if(!r.length)return t.addBreakTokens===!0?[je.emptyArray,new b(p.break)]:je.emptyArray;n=sn.createCheck(n,r);let i=[],o=0;for(let s of r)i[o++]=Ai(s,t,n);return t.addBreakTokens?[new b(p.array,r.length),i,new b(p.break)]:[new b(p.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 b(p.break)]:je.emptyMap;n=sn.createCheck(n,r);let a=[],c=0;for(let h of o)a[c++]=[Ai(h,t,n),Ai(i?r.get(h):r[h],t,n)];return ml(a,t),t.addBreakTokens?[new b(p.map,s),a,new b(p.break)]:[new b(p.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 Ai(r,e={},t){let n=vs(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(`${kt} unsupported type: ${n}`);return o(r,n,e,t)}function ml(r,e){e.mapSorter&&r.sort(e.mapSorter)}var yl={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},an=class{constructor(e,t={}){this._pos=0,this.data=e,this.options=t}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],t=Ee[e];if(t===void 0){let n=k[e];if(!n)throw new Error(`${v} 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}},ar=Symbol.for("DONE"),cn=Symbol.for("BREAK");function gl(r,e,t){let n=[];for(let i=0;i<r.value;i++){let o=Bt(e,t);if(o===cn){if(r.value===1/0)break;throw new Error(`${v} got unexpected break to lengthed array`)}if(o===ar)throw new Error(`${v} found array but not enough entries (got ${i}, expected ${r.value})`);n[i]=o}return n}function wl(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=Bt(e,t);if(a===cn){if(r.value===1/0)break;throw new Error(`${v} got unexpected break to lengthed map`)}if(a===ar)throw new Error(`${v} found map but not enough entries (got ${s} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${v} non-string keys not supported (got ${typeof a})`);if(t.rejectDuplicateMapKeys===!0&&(n&&o.has(a)||!n&&a in i))throw new Error(`${v} found repeat map key "${a}"`);let c=Bt(e,t);if(c===ar)throw new Error(`${v} 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 Bt(r,e){if(r.done())return ar;let t=r.next();if(t.type===p.break)return cn;if(t.type.terminal)return t.value;if(t.type===p.array)return gl(t,r,e);if(t.type===p.map)return wl(t,r,e);if(t.type===p.tag){if(e.tags&&typeof e.tags[t.value]=="function"){let n=Bt(r,e);return e.tags[t.value](n)}throw new Error(`${v} tag not supported (${t.value})`)}throw new Error("unsupported")}function Ci(r,e){if(!(r instanceof Uint8Array))throw new Error(`${v} data to decode must be a Uint8Array`);e=Object.assign({},yl,e);let t=e.tokenizer||new an(r,e),n=Bt(t,e);if(n===ar)throw new Error(`${v} did not find any content to decode`);if(n===cn)throw new Error(`${v} got unexpected break`);return[n,r.subarray(t.pos())]}function cr(r,e){let[t,n]=Ci(r,e);if(n.length>0)throw new Error(`${v} too many terminals, data makes no sense`);return t}var Ba=42;function _l(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}function kl(r){if(r.asCID!==r&&r["/"]!==r.bytes)return null;let e=A.asCID(r);if(!e)return null;let t=new Uint8Array(e.bytes.byteLength+1);return t.set(e.bytes,1),[new b(p.tag,Ba),new b(p.bytes,t)]}function Sl(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function El(r){if(Number.isNaN(r))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(r===1/0||r===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}function vl(r){for(let e of r.keys())if(typeof e!="string"||e.length===0)throw new Error("Non-string Map keys are not supported by the IPLD Data Model and cannot be encoded");return null}var va={float64:!0,typeEncoders:{Map:vl,Object:kl,undefined:Sl,number:El}},eg={...va,typeEncoders:{...va.typeEncoders}};function Bl(r){if(r[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return A.decode(r.subarray(1))}var un={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};un.tags[Ba]=Bl;var tg={...un,tags:un.tags.slice()};var Ia=113;var Aa=r=>cr(_l(r),un);var Na=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let t=this.inRecursive[this.inRecursive.length-1];t&&(t.type===p.array&&(t.elements++,t.elements!==1&&e.push([44])),t.type===p.map&&(t.elements++,t.elements!==1&&(t.elements%2===1?e.push([44]):e.push([58]))))}[p.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)}[p.negint.major](e,t){this[p.uint.major](e,t)}[p.bytes.major](e,t){throw new Error(`${kt} unsupported type: Uint8Array`)}[p.string.major](e,t){this.prefix(e);let n=Jr(JSON.stringify(t.value));e.push(n.length>32?Xr(n):n)}[p.array.major](e,t){this.prefix(e),this.inRecursive.push({type:p.array,elements:0}),e.push([91])}[p.map.major](e,t){this.prefix(e),this.inRecursive.push({type:p.map,elements:0}),e.push([123])}[p.tag.major](e,t){}[p.float.major](e,t){if(t.type.name==="break"){let s=this.inRecursive.pop();if(s){if(s.type===p.array)e.push([93]);else if(s.type===p.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(`${kt} 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 It=class{constructor(e,t={}){this._pos=0,this.data=e,this.options=t,this.modeStack=["value"],this.lastToken=""}pos(){return this._pos}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(`${v} 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(`${v} 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 b(p.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(`${v} unexpected token at position ${this._pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${v} 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 b(p.float,s,this._pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(s)?new b(s>=0?p.uint:p.negint,s,this._pos-e):new b(s>=0?p.uint:p.negint,BigInt(o),this._pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${v} 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 b(p.string,c,s)}}let e=this._pos,t=[],n=()=>{if(this._pos+4>=this.data.length)throw new Error(`${v} 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(`${v} 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(`${v} unexpected unicode sequence at position ${this._pos}`);let c,h,f,l;switch(a){case 1:o<128&&(s=o);break;case 2:c=this.data[this._pos+1],(c&192)===128&&(l=(o&31)<<6|c&63,l>127&&(s=l));break;case 3:c=this.data[this._pos+1],h=this.data[this._pos+2],(c&192)===128&&(h&192)===128&&(l=(o&15)<<12|(c&63)<<6|h&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:c=this.data[this._pos+1],h=this.data[this._pos+2],f=this.data[this._pos+3],(c&192)===128&&(h&192)===128&&(f&192)===128&&(l=(o&15)<<18|(c&63)<<12|(h&63)<<6|f&63,l>65535&&l<1114112&&(s=l))}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(`${v} 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(`${v} unexpected string escape character at position ${this._pos}`)}break;case 34:return this._pos++,new b(p.string,Si(t),this._pos-e);default:if(o<32)throw new Error(`${v} invalid control character at position ${this._pos}`);o<128?(t.push(o),this._pos++):i()}}throw new Error(`${v} unexpected end of string at position ${this._pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this._pos++,new b(p.map,1/0,1);case 91:return this.modeStack.push("array-start"),this._pos++,new b(p.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new b(p.null,null,4);case 102:return this.expect([102,97,108,115,101]),new b(p.false,!1,5);case 116:return this.expect([116,114,117,101]),new b(p.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(`${v} 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 b(p.break,void 0,1);if(this.ch()!==44)throw new Error(`${v} 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 b(p.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 b(p.break,void 0,1);if(this.ch()!==44)throw new Error(`${v} 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 b(p.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${v} 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(`${v} unexpected parse state at position ${this._pos}; this shouldn't happen`)}}};function Ni(r,e){return e=Object.assign({tokenizer:new It(r,e)},e),cr(r,e)}function Cl(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var Ti=class extends It{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===p.map){let t=this._next();if(t.type===p.string&&t.value==="/"){let n=this._next();if(n.type===p.string){if(this._next().type!==p.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new b(p.tag,42,0)}if(n.type===p.map){let i=this._next();if(i.type===p.string&&i.value==="bytes"){let o=this._next();if(o.type===p.string){for(let a=0;a<2;a++)if(this._next().type!==p.break)throw new Error("Invalid encoded Bytes form");let s=Kt.decode(`m${o.value}`);return new b(p.bytes,s,o.value.length)}this.tokenBuffer.push(o)}this.tokenBuffer.push(i)}this.tokenBuffer.push(n)}this.tokenBuffer.push(t)}return e}},Di={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Di.tags[42]=A.parse;var Ta=297;var Da=r=>{let e=Cl(r),t=Object.assign(Di,{tokenizer:new Ti(e,Di)});return Ni(e,t)};var xg=new TextDecoder;var bg=new TextEncoder;function Nl(r){return r[Symbol.asyncIterator]!=null}function Tl(r){if(Nl(r))return(async()=>{let n=new Uint8Array(0);for await(let i of r)n=Ie([n,i],n.length+i.length);return n})();let e=[],t=0;for(let n of r)e.push(n),t+=n.byteLength;return Ie(e,t)}var z=Tl;function At(r,e,t,n,i,o,s){let a=r,c=i;for(;o.length>0;){let h=o[0];if(h in a){o.shift(),c=`${c}/${h}`;let f=A.asCID(a[h]);if(f!=null)return{entry:{type:"object",name:n,path:i,cid:t,node:e,depth:s,size:BigInt(e.length),content:async function*(){yield r}},next:{cid:f,name:h,path:c,toResolve:o}};a=a[h]}else throw new Wr(`No property named ${h} found in node ${t}`)}return{entry:{type:"object",name:n,path:i,cid:t,node:e,depth:s,size:BigInt(e.length),content:async function*(){yield r}}}}var Dl=async(r,e,t,n,i,o,s,a)=>{let c=await z(s.get(r,a)),h=Aa(c);return At(h,c,r,e,t,n,o)},za=Dl;var Ll=async(r,e,t,n,i,o,s,a)=>{let c=await z(s.get(r,a)),h=Da(c);return At(h,c,r,e,t,n,o)},Fa=Ll;function zl(r,e,t,n){let i=BigInt(r.length),o=BigInt(e+i);return t>=o||n<e?new Uint8Array(0):(n>=e&&n<o&&(r=r.subarray(0,Number(n-e))),t>=e&&t<o&&(r=r.subarray(Number(t-e))),r)}var rt=zl;var Fl=(r,e=0,t=r)=>{let n=BigInt(r),i=BigInt(e??0),o=BigInt(t);if(o!==n&&(o=i+o),o>n&&(o=n),i<0n)throw new et("Offset must be greater than or equal to 0");if(i>n)throw new et("Offset must be less than the file size");if(o<0n)throw new et("Length must be greater than or equal to 0");if(o>n)throw new et("Length must be less than the file size");return{start:i,end:o}},Ct=Fl;var Pl=r=>{async function*e(t={}){let{start:n,end:i}=Ct(r.length,t.offset,t.length),o=rt(r,0n,n,i);t.onProgress?.(new M("unixfs:exporter:progress:identity",{bytesRead:BigInt(o.byteLength),totalBytes:i-n,fileSize:BigInt(r.byteLength)})),yield o}return e},Ul=async(r,e,t,n,i,o,s,a)=>{if(n.length>0)throw new de(`No link named ${t} found in raw node ${r}`);let c=Sr(r.multihash.bytes);return{entry:{type:"identity",name:e,path:t,cid:r,content:Pl(c.digest),depth:o,size:BigInt(c.digest.length),node:c.digest}}},Pa=Ul;var $l=async(r,e,t,n,i,o,s,a)=>{let c=await z(s.get(r,a)),h=Uo(c);return At(h,c,r,e,t,n,o)},Ua=$l;var Ml=r=>{async function*e(t={}){let{start:n,end:i}=Ct(r.length,t.offset,t.length),o=rt(r,0n,n,i);t.onProgress?.(new M("unixfs:exporter:progress:raw",{bytesRead:BigInt(o.byteLength),totalBytes:i-n,fileSize:BigInt(r.byteLength)})),yield o}return e},Rl=async(r,e,t,n,i,o,s,a)=>{if(n.length>0)throw new de(`No link named ${t} found in raw node ${r}`);let c=await z(s.get(r,a));return{entry:{type:"raw",name:e,path:t,cid:r,content:Ml(c),depth:o,size:BigInt(c.length),node:c}}},$a=Rl;var Ol=async function(r){return(await Ze.encode(r)).slice(0,8).reverse()},Vl=async(r,e,t)=>{let n=(e.tableSize()-1).toString(16).length;await Promise.all(r.map(async i=>{if(i.Name==null)throw new Error("Unexpected Link without a Name");if(i.Name.length===n){let o=parseInt(i.Name,16);e._putObjectAt(o,new se({hash:t._options.hash,bits:t._options.bits},e,o));return}await t.put(i.Name.substring(2),!0)}))},Ma=(r,e)=>r.toString(16).toUpperCase().padStart(e,"0").substring(0,e),Hl=r=>{let e=r.bucket,t=[];for(;e._parent!=null;)t.push(e),e=e._parent;return t.push(e),t.reverse()},Ra=async(r,e,t,n,i)=>{if(n==null){if(r.Data==null)throw new H("no data in PBNode");let l;try{l=B.unmarshal(r.Data)}catch(u){throw new H(u.message)}if(l.type!=="hamt-sharded-directory")throw new H("not a HAMT");if(l.fanout==null)throw new H("missing fanout");let y=wt({hashFn:Ol,bits:Math.log2(Number(l.fanout))});n={rootBucket:y,hamtDepth:1,lastBucket:y}}let o=(n.lastBucket.tableSize()-1).toString(16).length;await Vl(r.Links,n.lastBucket,n.rootBucket);let s=await n.rootBucket._findNewBucketAndPos(e),a=Ma(s.pos,o),c=Hl(s);c.length>n.hamtDepth&&(n.lastBucket=c[n.hamtDepth],a=Ma(n.lastBucket._posAtParent,o));let h=r.Links.find(l=>{if(l.Name==null)return!1;let y=l.Name.substring(0,o),u=l.Name.substring(o);return!(y!==a||u!==""&&u!==e)});if(h==null)return;if(h.Name!=null&&h.Name.substring(o)===e)return h.Hash;n.hamtDepth++;let f=await z(t.get(h.Hash,i));return r=R(f),Ra(r,e,t,n,i)},Oa=Ra;function Nt(r){return r?.extended===!1}function jl(r){let[e,t]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[t](){return this}}}var fn=jl;function ql(r){return r[Symbol.asyncIterator]!=null}function Gl(r,e){let t=0;if(ql(r))return(async function*(){for await(let c of r)await e(c,t++)&&(yield c)})();let n=fn(r),{value:i,done:o}=n.next();if(o===!0)return(function*(){})();let s=e(i,t++);if(typeof s.then=="function")return(async function*(){await s&&(yield i);for(let c of n)await e(c,t++)&&(yield c)})();let a=e;return(function*(){s===!0&&(yield i);for(let c of n)a(c,t++)&&(yield c)})()}var Va=Gl;function Wl(r){return r[Symbol.asyncIterator]!=null}function Kl(r,e){let t=0;if(Wl(r))return(async function*(){for await(let c of r)yield e(c,t++)})();let n=fn(r),{value:i,done:o}=n.next();if(o===!0)return(function*(){})();let s=e(i,t++);if(typeof s.then=="function")return(async function*(){yield await s;for(let c of n)yield e(c,t++)})();let a=e;return(function*(){yield s;for(let c of n)yield a(c,t++)})()}var Tt=Kl;function te(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var ln=globalThis.CustomEvent??Event;async function*nt(r,e={}){let t=e.concurrency??1/0;t<1&&(t=1/0);let n=e.ordered??!1,i=new EventTarget,o=[],s=te(),a=te(),c=!1,h,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let d of r){if(o.length===t&&(s=te(),await s.promise),f)break;let m={done:!1};o.push(m),d().then(x=>{m.done=!0,m.ok=!0,m.value=x,i.dispatchEvent(new ln("task-complete"))},x=>{m.done=!0,m.err=x,i.dispatchEvent(new ln("task-complete"))})}c=!0,i.dispatchEvent(new ln("task-complete"))}catch(d){h=d,i.dispatchEvent(new ln("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(d=>d.done)}function*y(){for(;o.length>0&&o[0].done;){let d=o[0];if(o.shift(),d.ok)yield d.value;else throw f=!0,s.resolve(),d.err;s.resolve()}}function*u(){for(;l();)for(let d=0;d<o.length;d++)if(o[d].done){let m=o[d];if(o.splice(d,1),d--,m.ok)yield m.value;else throw f=!0,s.resolve(),m.err;s.resolve()}}for(;;){if(l()||(a=te(),await a.promise),h!=null||(n?yield*y():yield*u(),h!=null))throw h;if(c&&o.length===0)break}}var hn=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)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}},Dt=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new hn(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 hn(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()}};var Li=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function dn(r={}){return Xl(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 Xl(r,e){e=e??{};let t=e.onEnd,n=new Dt,i,o,s,a=te(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((x,g)=>{o=w=>{o=null,n.push(w);try{x(r(n))}catch(_){g(_)}return i}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=te()})}},h=x=>o!=null?o(x):(n.push(x),i),f=x=>(n=new Dt,o!=null?o({error:x}):(n.push({error:x}),i)),l=x=>{if(s)return i;if(e?.objectMode!==!0&&x?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return h({done:!1,value:x})},y=x=>s?i:(s=!0,x!=null?f(x):h({done:!0})),u=()=>(n=new Dt,y(),{done:!0}),d=x=>(y(x),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:u,throw:d,push:l,end:y,get readableLength(){return n.size},onEmpty:async x=>{let g=x?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let w,_;g!=null&&(w=new Promise((S,I)=>{_=()=>{I(new Li)},g.addEventListener("abort",_)}));try{await Promise.race([a.promise,w])}finally{_!=null&&g!=null&&g?.removeEventListener("abort",_)}}},t==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(x){return m.throw(x),t!=null&&(t(x),t=void 0),{done:!0}},return(){return m.return(),t!=null&&(t(),t=void 0),{done:!0}},push:l,end(x){return m.end(x),t!=null&&(t(x),t=void 0),i},get readableLength(){return m.readableLength},onEmpty:x=>m.onEmpty(x)},i}var pn=class extends Error{type;code;constructor(e,t,n){super(e??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=t??"ABORT_ERR"}};async function Ha(r,e,t){if(e==null)return r;if(e.aborted)return r.catch(()=>{}),Promise.reject(new pn(t?.errorMessage,t?.errorCode,t?.errorName));let n,i=new pn(t?.errorMessage,t?.errorCode,t?.errorName);try{return await Promise.race([r,new Promise((o,s)=>{n=()=>{s(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var zi=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=te(),this.haveNext=te()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=te(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),e}async push(e,t){await this._push(e,t)}async end(e,t){e!=null?await this.throw(e):await this._push(void 0,t)}async _push(e,t){if(e!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=te(),await Ha(this.readNext.promise,t?.signal,t)}};function ja(){return new zi}function Jl(r){return r[Symbol.asyncIterator]!=null}async function Zl(r,e,t){try{await Promise.all(r.map(async n=>{for await(let i of n)await e.push(i,{signal:t}),t.throwIfAborted()})),await e.end(void 0,{signal:t})}catch(n){await e.end(n,{signal:t}).catch(()=>{})}}async function*Yl(r){let e=new AbortController,t=ja();Zl(r,t,e.signal).catch(()=>{});try{yield*t}finally{e.abort()}}function*Ql(r){for(let e of r)yield*e}function eh(...r){let e=[];for(let t of r)Jl(t)||e.push(t);return e.length===r.length?Ql(e):Yl(r)}var qa=eh;function De(r,...e){if(r==null)throw new Error("Empty pipeline");if(Fi(r)){let n=r;r=()=>n.source}else if(Wa(r)||Ga(r)){let n=r;r=()=>n}let t=[r,...e];if(t.length>1&&Fi(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++)Fi(t[n])&&(t[n]=rh(t[n]));return th(...t)}var th=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},Ga=r=>r?.[Symbol.asyncIterator]!=null,Wa=r=>r?.[Symbol.iterator]!=null,Fi=r=>r==null?!1:r.sink!=null&&r.source!=null,rh=r=>e=>{let t=r.sink(e);if(t?.then!=null){let n=dn({objectMode:!0});t.then(()=>{n.end()},s=>{n.end(s)});let i,o=r.source;if(Ga(o))i=async function*(){yield*o,n.end()};else if(Wa(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return qa(n,i())}return r.source};var nh=(r,e,t,n,i,o,s)=>{async function*a(c={}){let h=c.offset??0,f=c.length??e.Links.length,l=e.Links.slice(h,f);c.onProgress?.(new M("unixfs:exporter:walk:directory",{cid:r})),yield*De(l,y=>Tt(y,u=>async()=>{let d=u.Name??"",m=`${n}/${d}`;return Nt(c)?{cid:u.Hash,name:d,path:m}:(await i(u.Hash,d,m,[],o+1,s,c)).entry}),y=>nt(y,{ordered:!0,concurrency:c.blockReadConcurrency}),y=>Va(y,u=>u!=null))}return a},Ka=nh;var Ui=Ut(Ja(),1);var $i=class r extends Error{name="TimeoutError";constructor(e,t){super(e,t),Error.captureStackTrace?.(this,r)}},Za=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function Mi(r,e){let{milliseconds:t,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout},signal:s}=e,a,c,f=new Promise((l,y)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(s?.aborted){y(Za(s));return}if(s&&(c=()=>{y(Za(s))},s.addEventListener("abort",c,{once:!0})),r.then(l,y),t===Number.POSITIVE_INFINITY)return;let u=new $i;a=o.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(d){y(d)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?l():i instanceof Error?y(i):(u.message=i??`Promise timed out after ${t} milliseconds`,y(u))},t)}).finally(()=>{f.clear(),c&&s&&s.removeEventListener("abort",c)});return f.clear=()=>{o.clearTimeout.call(void 0,a),a=void 0},f}function Ri(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 fr=class{#e=[];enqueue(e,t){let{priority:n=0,id:i}=t??{},o={priority:n,id:i,run:e};if(this.size===0||this.#e[this.size-1].priority>=n){this.#e.push(o);return}let s=Ri(this.#e,o,(a,c)=>c.priority-a.priority);this.#e.splice(s,0,o)}setPriority(e,t){let n=this.#e.findIndex(o=>o.id===e);if(n===-1)throw new ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[i]=this.#e.splice(n,1);this.enqueue(i.run,{priority:t,id:e})}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return this.#e.length}};var lr=class extends Ui.default{#e;#r;#i=0;#l;#s=!1;#a=!1;#h;#x=0;#y=0;#o;#c;#t;#b;#n=0;#d;#u;#B=1n;#p=new Map;timeout;constructor(e){if(super(),e={carryoverIntervalCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:fr,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${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 \`${e.interval?.toString()??""}\` (${typeof e.interval})`);if(this.#e=e.carryoverIntervalCount??e.carryoverConcurrencyCount??!1,this.#r=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#l=e.intervalCap,this.#h=e.interval,this.#t=new e.queueClass,this.#b=e.queueClass,this.concurrency=e.concurrency,e.timeout!==void 0&&!(Number.isFinite(e.timeout)&&e.timeout>0))throw new TypeError(`Expected \`timeout\` to be a positive finite number, got \`${e.timeout}\` (${typeof e.timeout})`);this.timeout=e.timeout,this.#u=e.autoStart===!1,this.#z()}get#I(){return this.#r||this.#i<this.#l}get#A(){return this.#n<this.#d}#C(){this.#n--,this.#n===0&&this.emit("pendingZero"),this.#g(),this.emit("next")}#N(){this.#E(),this.#S(),this.#c=void 0}get#T(){let e=Date.now();if(this.#o===void 0){let t=this.#x-e;if(t<0){if(this.#y>0){let n=e-this.#y;if(n<this.#h)return this.#_(this.#h-n),!0}this.#i=this.#e?this.#n:0}else return this.#_(t),!0}return!1}#_(e){this.#c===void 0&&(this.#c=setTimeout(()=>{this.#N()},e))}#k(){this.#o&&(clearInterval(this.#o),this.#o=void 0)}#D(){this.#c&&(clearTimeout(this.#c),this.#c=void 0)}#g(){if(this.#t.size===0)return this.#k(),this.emit("empty"),this.#n===0&&(this.#D(),this.emit("idle")),!1;let e=!1;if(!this.#u){let t=!this.#T;if(this.#I&&this.#A){let n=this.#t.dequeue();this.#r||(this.#i++,this.#m()),this.emit("active"),this.#y=Date.now(),n(),t&&this.#S(),e=!0}}return e}#S(){this.#r||this.#o!==void 0||(this.#o=setInterval(()=>{this.#E()},this.#h),this.#x=Date.now()+this.#h)}#E(){this.#i===0&&this.#n===0&&this.#o&&this.#k(),this.#i=this.#e?this.#n:0,this.#w(),this.#m()}#w(){for(;this.#g(););}get concurrency(){return this.#d}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})`);this.#d=e,this.#w()}async#L(e){return new Promise((t,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}setPriority(e,t){if(typeof t!="number"||!Number.isFinite(t))throw new TypeError(`Expected \`priority\` to be a finite number, got \`${t}\` (${typeof t})`);this.#t.setPriority(e,t)}async add(e,t={}){return t.id??=(this.#B++).toString(),t={timeout:this.timeout,...t},new Promise((n,i)=>{let o=Symbol(`task-${t.id}`);this.#t.enqueue(async()=>{this.#n++,this.#p.set(o,{id:t.id,priority:t.priority??0,startTime:Date.now(),timeout:t.timeout});try{try{t.signal?.throwIfAborted()}catch(c){throw this.#r||this.#i--,this.#p.delete(o),c}let s=e({signal:t.signal});t.timeout&&(s=Mi(Promise.resolve(s),{milliseconds:t.timeout,message:`Task timed out after ${t.timeout}ms (queue has ${this.#n} running, ${this.#t.size} waiting)`})),t.signal&&(s=Promise.race([s,this.#L(t.signal)]));let a=await s;n(a),this.emit("completed",a)}catch(s){i(s),this.emit("error",s)}finally{this.#p.delete(o),queueMicrotask(()=>{this.#C()})}},t),this.emit("add"),this.#g()})}async addAll(e,t){return Promise.all(e.map(async n=>this.add(n,t)))}start(){return this.#u?(this.#u=!1,this.#w(),this):this}pause(){this.#u=!0}clear(){this.#t=new this.#b,this.#v()}async onEmpty(){this.#t.size!==0&&await this.#f("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#f("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#f("idle")}async onPendingZero(){this.#n!==0&&await this.#f("pendingZero")}async onRateLimit(){this.isRateLimited||await this.#f("rateLimit")}async onRateLimitCleared(){this.isRateLimited&&await this.#f("rateLimitCleared")}async onError(){return new Promise((e,t)=>{let n=i=>{this.off("error",n),t(i)};this.on("error",n)})}async#f(e,t){return new Promise(n=>{let i=()=>{t&&!t()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#u}#z(){this.#r||(this.on("add",()=>{this.#t.size>0&&this.#m()}),this.on("next",()=>{this.#m()}))}#m(){this.#r||this.#a||(this.#a=!0,queueMicrotask(()=>{this.#a=!1,this.#v()}))}#v(){let e=this.#s,t=!this.#r&&this.#i>=this.#l&&this.#t.size>0;t!==e&&(this.#s=t,this.emit(t?"rateLimit":"rateLimitCleared"))}get isRateLimited(){return this.#s}get isSaturated(){return this.#n===this.#d&&this.#t.size>0||this.isRateLimited&&this.#t.size>0}get runningTasks(){return[...this.#p.values()].map(e=>({...e}))}};async function Ya(r,e,t,n,i,o,s){if(e instanceof Uint8Array){let h=rt(e,n,i,o);t.push(h);return}if(e.Data==null)throw new H("no data in PBNode");let a;try{a=B.unmarshal(e.Data)}catch(h){throw new H(h.message)}if(a.data!=null){let h=a.data,f=rt(h,n,i,o);t.push(f),n+=BigInt(f.byteLength)}let c=[];if(e.Links.length!==a.blockSizes.length)throw new H("Inconsistent block sizes and dag links");for(let h=0;h<e.Links.length;h++){let f=e.Links[h],l=n,y=l+a.blockSizes[h];if((i>=l&&i<y||o>=l&&o<=y||i<l&&o>y)&&c.push({link:f,blockStart:n}),n=y,n>o)break}await De(c,h=>Tt(h,f=>async()=>{let l=await z(r.get(f.link.Hash,s));return{...f,block:l}}),h=>nt(h,{ordered:!0,concurrency:s.blockReadConcurrency}),async h=>{for await(let{link:f,block:l,blockStart:y}of h){let u;switch(f.Hash.code){case q:u=R(l);break;case Q:u=l;break;default:t.end(new H(`Unsupported codec: ${f.Hash.code}`));return}let d=new lr({concurrency:1});d.on("error",m=>{t.end(m)}),d.add(async()=>{s.onProgress?.(new M("unixfs:exporter:walk:file",{cid:f.Hash})),await Ya(r,u,t,y,i,o,s)}),await d.onIdle()}}),n>=o&&t.end()}var sh=(r,e,t,n,i,o,s)=>{async function*a(c={}){let h=t.fileSize();if(h===void 0)throw new Error("File was a directory");let{start:f,end:l}=Ct(h,c.offset,c.length);if(l===0n)return;let y=0n,u=l-f,d=dn();c.onProgress?.(new M("unixfs:exporter:walk:file",{cid:r})),Ya(s,e,d,0n,f,l,c).catch(m=>{d.end(m)});for await(let m of d)if(m!=null){if(y+=BigInt(m.byteLength),y>u)throw d.end(),new qr("Read too many bytes - the file size reported by the UnixFS data in the root node may be incorrect");y===u&&d.end(),c.onProgress?.(new M("unixfs:exporter:progress:unixfs:file",{bytesRead:y,totalBytes:u,fileSize:h})),yield m}if(y<u)throw new Gr("Traversed entire DAG but did not read enough bytes")}return a},Oi=sh;var ah=(r,e,t,n,i,o,s)=>{function a(c={}){return c.onProgress?.(new M("unixfs:exporter:walk:hamt-sharded-directory",{cid:r})),Qa(e,n,i,o,s,c)}return a};async function*Qa(r,e,t,n,i,o){let s=r.Links;if(r.Data==null)throw new H("no data in PBNode");let a;try{a=B.unmarshal(r.Data)}catch(f){throw new H(f.message)}if(a.fanout==null)throw new H("missing fanout");let c=(a.fanout-1n).toString(16).length,h=De(s,f=>Tt(f,l=>async()=>{let y=l.Name!=null?l.Name.substring(c):null;if(y!=null&&y!==""){let u=`${e}/${y}`;return Nt(o)?{entries:[{cid:l.Hash,name:y,path:u}]}:{entries:[(await t(l.Hash,y,u,[],n+1,i,o)).entry].filter(Boolean)}}else{let u=await z(i.get(l.Hash,o));return r=R(u),o.onProgress?.(new M("unixfs:exporter:walk:hamt-sharded-directory",{cid:l.Hash})),{entries:Qa(r,e,t,n,i,o)}}}),f=>nt(f,{ordered:!0,concurrency:o.blockReadConcurrency}));for await(let{entries:f}of h)yield*f}var ec=ah;var ch=(r,e)=>r.Links.find(n=>n.Name===e)?.Hash,uh={raw:Oi,file:Oi,directory:Ka,"hamt-sharded-directory":ec,metadata:(r,e,t,n,i,o,s)=>()=>[],symlink:(r,e,t,n,i,o,s)=>()=>[]},fh=async(r,e,t,n,i,o,s,a)=>{if(Nt(a)&&n.length===0)return{entry:{cid:r,name:e,path:t}};let c=await z(s.get(r,a)),h=R(c),f,l;if(e==null&&(e=r.toString()),h.Data==null)throw new H("no data in PBNode");try{f=B.unmarshal(h.Data)}catch(u){throw new H(u.message)}if(t==null&&(t=e),n.length>0){let u;if(f?.type==="hamt-sharded-directory"?u=await Oa(h,n[0],s):u=ch(h,n[0]),u==null)throw new de("file does not exist");let d=n.shift(),m=`${t}/${d}`;l={cid:u,toResolve:n,name:d??"",path:m}}let y=uh[f.type](r,h,f,t,i,o,s);if(y==null)throw new de("could not find content exporter");return f.isDirectory()?{entry:{type:"directory",name:e,path:t,cid:r,content:y,unixfs:f,depth:o,node:h,size:f.fileSize()},next:l}:{entry:{type:"file",name:e,path:t,cid:r,content:y,unixfs:f,depth:o,node:h,size:f.fileSize()},next:l}},tc=fh;var lh={[q]:tc,[Q]:$a,[Ia]:za,[Ta]:Fa,[ci.code]:Pa,[Po]:Ua},rc=async(r,e,t,n,i,o,s)=>{let a=lh[r.code];if(a==null)throw new jr(`No resolver for code ${r.code}`);return a(r,e,t,n,rc,i,o,s)},nc=rc;var hh=(r="")=>(r.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),dh=r=>{if(r instanceof Uint8Array)return{cid:A.decode(r),toResolve:[]};let e=A.asCID(r);if(e!=null)return{cid:e,toResolve:[]};if(typeof r=="string"){r.indexOf("/ipfs/")===0&&(r=r.substring(6));let t=hh(r);return{cid:A.parse(t[0]),toResolve:t.slice(1)}}throw new Hr(`Unknown path type ${r}`)};async function*Vi(r,e,t={}){let{cid:n,toResolve:i}=dh(r),o=n.toString(),s=o,a=i.length;for(;;){let c=await nc(n,o,s,i,a,e,t);if(c.entry==null&&c.next==null)throw new de(`Could not resolve ${r}`);if(c.entry!=null&&(yield c.entry),c.next==null)return;i=c.next.toResolve,n=c.next.cid,o=c.next.name,s=c.next.path}}async function Y(r,e,t={}){let n=await _e(Vi(r,e,t));if(n==null)throw new de(`Could not resolve ${r}`);return n}async function*yn(r,e,t={}){let n=await Y(r,e,t);if(n==null)return;if(yield n,n.type==="directory")for await(let o of i(n,t))yield o;async function*i(o,s){for await(let a of o.content(s))yield a,!(a instanceof Uint8Array)&&a.type==="directory"&&(yield*i(a,s))}}function ph(r,e){if(typeof r=="string")return mh(r);if(typeof r=="number")return wh(r,e);throw Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(r)}`)}var gn=ph;function mh(r){if(typeof r!="string"||r.length===0||r.length>100)throw Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(r)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(r);if(!e?.groups)return NaN;let{value:t,unit:n="ms"}=e.groups,i=parseFloat(t),o=n.toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return i*315576e5;case"months":case"month":case"mo":return i*26298e5;case"weeks":case"week":case"w":return i*6048e5;case"days":case"day":case"d":return i*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return i*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return i*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return i*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:throw Error(`Unknown unit "${o}" provided to ms.parse(). value=${JSON.stringify(r)}`)}}function yh(r){let e=Math.abs(r);return e>=315576e5?`${Math.round(r/315576e5)}y`:e>=26298e5?`${Math.round(r/26298e5)}mo`:e>=6048e5?`${Math.round(r/6048e5)}w`:e>=864e5?`${Math.round(r/864e5)}d`:e>=36e5?`${Math.round(r/36e5)}h`:e>=6e4?`${Math.round(r/6e4)}m`:e>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function gh(r){let e=Math.abs(r);return e>=315576e5?it(r,e,315576e5,"year"):e>=26298e5?it(r,e,26298e5,"month"):e>=6048e5?it(r,e,6048e5,"week"):e>=864e5?it(r,e,864e5,"day"):e>=36e5?it(r,e,36e5,"hour"):e>=6e4?it(r,e,6e4,"minute"):e>=1e3?it(r,e,1e3,"second"):`${r} ms`}function wh(r,e){if(typeof r!="number"||!Number.isFinite(r))throw Error("Value provided to ms.format() must be of type number.");return e?.long?gh(r):yh(r)}function it(r,e,t,n){let i=e>=t*1.5;return`${Math.round(r/t)} ${n}${i?"s":""}`}function Hi(r){t.debug=t,t.default=t,t.coerce=c,t.disable=o,t.enable=i,t.enabled=s,t.humanize=gn,t.destroy=h,Object.keys(r).forEach(f=>{t[f]=r[f]}),t.names=[],t.skips=[],t.formatters={};function e(f){let l=0;for(let y=0;y<f.length;y++)l=(l<<5)-l+f.charCodeAt(y),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=e;function t(f){let l,y=null,u,d;function m(...x){if(!m.enabled)return;let g=m,w=Number(new Date),_=w-(l||w);g.diff=_,g.prev=l,g.curr=w,l=w,x[0]=t.coerce(x[0]),typeof x[0]!="string"&&x.unshift("%O");let S=0;x[0]=x[0].replace(/%([a-zA-Z%])/g,(C,E)=>{if(C==="%%")return"%";S++;let D=t.formatters[E];if(typeof D=="function"){let ye=x[S];C=D.call(g,ye),x.splice(S,1),S--}return C}),t.formatArgs.call(g,x),(g.log||t.log).apply(g,x)}return m.namespace=f,m.useColors=t.useColors(),m.color=t.selectColor(f),m.extend=n,m.destroy=t.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(u!==t.namespaces&&(u=t.namespaces,d=t.enabled(f)),d),set:x=>{y=x}}),typeof t.init=="function"&&t.init(m),m}function n(f,l){let y=t(this.namespace+(typeof l>"u"?":":l)+f);return y.log=this.log,y}function i(f){t.save(f),t.namespaces=f,t.names=[],t.skips=[];let l,y=(typeof f=="string"?f:"").split(/[\s,]+/),u=y.length;for(l=0;l<u;l++)y[l]&&(f=y[l].replace(/\*/g,".*?"),f[0]==="-"?t.skips.push(new RegExp("^"+f.substr(1)+"$")):t.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...t.names.map(a),...t.skips.map(a).map(l=>"-"+l)].join(",");return t.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,y;for(l=0,y=t.skips.length;l<y;l++)if(t.skips[l].test(f))return!1;for(l=0,y=t.names.length;l<y;l++)if(t.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack??f.message:f}function h(){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.setupFormatters(t.formatters),t.enable(t.load()),t}var wn=vh(),xh=["#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 bh(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function _h(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+gn(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)}var kh=console.debug??console.log??(()=>{});function Sh(r){try{r?wn?.setItem("debug",r):wn?.removeItem("debug")}catch{}}function Eh(){let r;try{r=wn?.getItem("debug")}catch{}return!r&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(r=globalThis.process.env.DEBUG),r}function vh(){try{return localStorage}catch{}}function Bh(r){r.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}}var ic=Hi({formatArgs:_h,save:Sh,load:Eh,useColors:bh,setupFormatters:Bh,colors:xh,storage:wn,log:kh});var re=ic;re.formatters.b=r=>r==null?"undefined":he.baseEncode(r);re.formatters.t=r=>r==null?"undefined":Me.baseEncode(r);re.formatters.m=r=>r==null?"undefined":Kt.baseEncode(r);re.formatters.p=r=>r==null?"undefined":r.toString();re.formatters.c=r=>r==null?"undefined":r.toString();re.formatters.k=r=>r==null?"undefined":r.toString();re.formatters.a=r=>r==null?"undefined":r.toString();re.formatters.e=r=>{if(r==null)return"undefined";let e=oc(r.message),t=oc(r.stack);return e!=null&&t!=null?t.includes(e)?t:`${e}
3
- ${t}`:t??e??r.toString()};function Ih(r){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=r,e.destroy=()=>!0,e.extend=()=>e,e}function O(r){let e=Ih(`${r}:trace`);return re.enabled(`${r}:trace`)&&re.names.map(t=>t.toString()).find(t=>t.includes(":trace"))!=null&&(e=re(`${r}:trace`)),Object.assign(re(r),{error:re(`${r}:error`),trace:e,newScope:t=>O(`${r}:${t}`)})}function oc(r){if(r!=null&&(r=r.trim(),r.length!==0))return r}var Wi=Ut($r(),1);function bn(r){function e(t){return t instanceof xn?t:new xn(t,r)}return e}var xn=class{_value;_hashFn;_depth;_availableBits;_currentBufferIndex;_buffers;constructor(e,t){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=t,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let t=e;for(;this._availableBits<t;)await this._produceMoreBits();let n=0;for(;t>0;){let i=this._buffers[this._currentBufferIndex],o=Math.min(i.availableBits(),t),s=i.take(o);n=(n<<o)+s,t-=o,this._availableBits-=o,i.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let t=e;for(;t>0;){let n=this._buffers[this._currentBufferIndex],i=Math.min(n.totalBits()-n.availableBits(),t);n.untake(i),t-=i,this._availableBits+=i,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?Ie([this._value,Uint8Array.from([this._depth])]):this._value,t=await this._hashFn(e),n=new ji(t);this._buffers.push(n),this._availableBits+=n.availableBits()}},Ah=[255,254,252,248,240,224,192,128],Ch=[1,3,7,15,31,63,127,255],ji=class{_value;_currentBytePos;_currentBitPos;constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let t=e,n=0;for(;t>0&&this._haveBits();){let i=this._value[this._currentBytePos],o=this._currentBitPos+1,s=Math.min(o,t),a=Nh(i,o-s,s);n=(n<<s)+a,t-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function Nh(r,e,t){let n=Th(e,t);return(r&n)>>>e}function Th(r,e){return Ah[r]&Ch[Math.min(e+r-1,7)]}var hr=BigInt(Ze.code),ot=8;async function Lt(r){return(await Ze.encode(r)).subarray(0,8).reverse()}var cc=Ut($r(),1);var ve=async(r,e,t)=>{t.codec==null&&(t.codec=V);let n=await oe.digest(r),i=A.create(t.cidVersion??1,t.codec.code,n);return await e.put(i,r,{...t,signal:t.signal}),i};var qi=class{options;root;dir;path;dirty;flat;parent;parentKey;unixfs;mode;mtime;cid;size;nodeSize;constructor(e,t){this.options=t??{},this.root=e.root,this.dir=e.dir,this.path=e.path,this.dirty=e.dirty,this.flat=e.flat,this.parent=e.parent,this.parentKey=e.parentKey,this.unixfs=e.unixfs,this.mode=e.mode,this.mtime=e.mtime}},_n=class extends qi{_bucket;constructor(e,t){super(e,t),this._bucket=wt({hashFn:Lt,bits:8})}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,await this._bucket.put(e,t)}async get(e){return this._bucket.get(e)}childCount(){return this._bucket.leafCount()}directChildrenCount(){return this._bucket.childrenCount()}onlyChild(){return this._bucket.onlyChild()}async*eachChildSeries(){for(let{key:e,value:t}of this._bucket.eachLeafSeries())yield{key:e,child:t}}estimateNodeSize(){return this.nodeSize!==void 0?this.nodeSize:(this.nodeSize=ac(this._bucket,this,this.options),this.nodeSize)}async*flush(e){for await(let t of sc(this._bucket,e,this,this.options))yield{...t,path:this.path}}};async function*sc(r,e,t,n){let i=r._children,o=[],s=0n;for(let u=0;u<i.length;u++){let d=i.get(u);if(d==null)continue;let m=u.toString(16).toUpperCase().padStart(2,"0");if(d instanceof se){let x;for await(let g of sc(d,e,null,n))x=g;if(x==null)throw new Error("Could not flush sharded directory, no sub-shard found");o.push({Name:m,Tsize:Number(x.size),Hash:x.cid}),s+=x.size}else if(Lh(d.value)){let x=d.value,g;for await(let _ of x.flush(e))g=_,yield g;if(g==null)throw new Error("Did not flush dir");let w=m+d.key;o.push({Name:w,Tsize:Number(g.size),Hash:g.cid}),s+=g.size}else{let x=d.value;if(x.cid==null)continue;let g=m+d.key,w=x.size;o.push({Name:g,Tsize:Number(w),Hash:x.cid}),s+=BigInt(w??0)}}let a=Uint8Array.from(i.bitField().reverse()),c=new B({type:"hamt-sharded-directory",data:a,fanout:BigInt(r.tableSize()),hashType:hr,mtime:t?.mtime,mode:t?.mode}),h={Data:c.marshal(),Links:o},f=T(U(h)),l=await ve(f,e,n),y=BigInt(f.byteLength)+s;yield{cid:l,unixfs:c,size:y}}function Lh(r){return typeof r.flush=="function"}function ac(r,e,t){let n=r._children,i=[];for(let c=0;c<n.length;c++){let h=n.get(c);if(h==null)continue;let f=c.toString(16).toUpperCase().padStart(2,"0");if(h instanceof se){let l=ac(h,null,t);i.push({Name:f,Tsize:Number(l),Hash:t.cidVersion===0?kn:Sn})}else if(typeof h.value.flush=="function"){let y=h.value.nodeSize();i.push({Name:f+h.key,Tsize:Number(y),Hash:t.cidVersion===0?kn:Sn})}else{let l=h.value;if(l.cid==null)continue;let y=f+h.key,u=l.size;i.push({Name:y,Tsize:Number(u),Hash:l.cid})}}let o=Uint8Array.from(n.bitField().reverse()),s=new B({type:"hamt-sharded-directory",data:o,fanout:BigInt(r.tableSize()),hashType:hr,mtime:e?.mtime,mode:e?.mode});return T(U({Data:s.marshal(),Links:i})).length}var kn=A.parse("QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn"),Sn=A.parse("zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi");var Gi=O("helia:unixfs:commands:utils:hamt-utils"),En=r=>r.toString(16).toUpperCase().padStart(2,"0").substring(0,2),uc=async(r,e,t)=>{let n=new _n({root:!0,dir:!0,parent:void 0,parentKey:void 0,path:"",dirty:!0,flat:!1,mtime:t.mtime,mode:t.mode},t);for(let o=0;o<e.length;o++)await n._bucket.put(e[o].name,{size:e[o].size,cid:e[o].cid});let i=await _e(n.flush(r));if(i==null)throw new Error("Flushing shard yielded no result");return i},vn=async(r,e,t)=>{let n=B.unmarshal(r[0].node.Data??new Uint8Array(0)),i=BigInt(Math.pow(2,ot));r.reverse();let o,s;for(let a=0;a<r.length;a++){let c=a===r.length-1,h=r[a],f=Uint8Array.from(h.children.bitField().reverse()),l=new B({type:"hamt-sharded-directory",data:f,fanout:i,hashType:hr});c&&(l.mtime=n.mtime,l.mode=n.mode),s={Data:l.marshal(),Links:h.node.Links};let y=T(U(s));if(o=await ve(y,e,t),!c){let u=r[a+1];if(u==null)throw new Error("Was not operating on shard root but also had no parent?");Gi("updating link in parent sub-shard with prefix %s",u.prefix),u.node.Links=u.node.Links.filter(d=>d.Name!==u.prefix),u.node.Links.push({Name:u.prefix,Hash:o,Tsize:h.node.Links.reduce((d,m)=>d+(m.Tsize??0),y.byteLength)})}}if(o==null||s==null)throw new Error("Noting persisted");return{cid:o,node:s}},Bn=async(r,e,t,n)=>{let o=bn(Lt)($(e)),s=[];for(;;){let a=await z(t.get(r,n)),c=R(a),h=new cc.default,f=await o.take(ot),l=En(f);s.push({prefix:l,children:h,node:c});let y;for(let d of c.Links){let m=d.Name??"";if(m.length<2)throw new Error("Invalid HAMT - link name was too short");let x=parseInt(m.substring(0,2),16);h.set(x,!0),m.startsWith(l)&&(y=d)}if(y==null){Gi("no link found with prefix %s for %s",l,e);break}let u=y.Name??"";if(u.length<2)throw new Error("Invalid HAMT - link name was too short");if(u.length===2){r=y.Hash,Gi("descend into sub-shard with prefix %s",u);continue}break}return{path:s,hash:o}};async function In(r,e,t,n){if(r.Data==null)throw new Error("DagPB node had no data");let i=B.unmarshal(r.Data),o;if(i.type==="directory")o=zh(r);else if(i.type==="hamt-sharded-directory")o=await fc(r,0,t,e,n);else throw new Error("Can only estimate the size of directories or shards");return o>t}function zh(r){let e=0;for(let t of r.Links)e+=(t.Name??"").length,e+=t.Hash.version===1?Sn.bytes.byteLength:kn.bytes.byteLength;return e}async function fc(r,e,t,n,i){if(e>t)return t;if(r.Data==null||!B.unmarshal(r.Data).isDirectory())return e;for(let s of r.Links){let a=s.Name??"";if(a=a.substring(2),e+=a.length,e+=s.Hash.bytes.byteLength,s.Hash.code===q){let c=await z(n.get(s.Hash,i)),h=R(c);e+=await fc(h,e,t,n,i)}}return e}var Le=O("helia:unixfs:components:utils:add-link");async function zt(r,e,t,n){if(r.node.Data==null)throw new F("Invalid parent passed to addLink");if(B.unmarshal(r.node.Data).type==="hamt-sharded-directory")return Le("adding link to sharded directory"),$h(r,e,t,n);Le(`adding ${e.Name} (${e.Hash}) to regular directory`);let o=await Uh(r,e,t,n);if(await In(o.node,t,n.shardSplitThresholdBytes??262144,n)){Le("converting directory to sharded directory");let s=await Ph(o,t);o.cid=s.cid,o.node=R(await z(t.get(s.cid,n)))}return o}var Ph=async(r,e)=>{if(r.node.Data==null)throw new F("Invalid parent passed to convertToShardedDirectory");let t=B.unmarshal(r.node.Data),n=await uc(e,r.node.Links.map(i=>({name:i.Name??"",size:BigInt(i.Tsize??0),cid:i.Hash})),{mode:t.mode,mtime:t.mtime,cidVersion:r.cid.version});return Le(`converted directory to sharded directory ${n.cid}`),n},Uh=async(r,e,t,n)=>{let i=r.node.Links.filter(f=>{let l=f.Name===e.Name;if(l&&!n.allowOverwriting)throw new Qe;return!l});if(i.push(e),r.node.Data==null)throw new ee("Parent node with no data passed to addToDirectory");let o=B.unmarshal(r.node.Data),s;if(o.mtime!=null){let f=Date.now(),l=Math.floor(f/1e3);o.mtime={secs:BigInt(l),nsecs:(f-l*1e3)*1e3},s=o.marshal()}else s=r.node.Data;r.node=U({Data:s,Links:i});let a=T(r.node),c=await oe.digest(a),h=A.create(r.cid.version,q,c);return await t.put(h,a),{node:r.node,cid:h}},$h=async(r,e,t,n)=>{let{path:i,hash:o}=await Bn(r.cid,e.Name,t,n),s=i[i.length-1];if(s==null)throw new Error("Invalid HAMT, could not generate path");let a=s.prefix,c=parseInt(a,16);Le("next prefix for %s is %s",e.Name,a);let h=`${a}${e.Name}`,f=s.node.Links.find(l=>(l.Name??"").startsWith(a));if(f!=null)if(Le("link %s was present in shard",h),f.Name===h){if(!n.allowOverwriting)throw new Qe;Le("overwriting %s in sub-shard",e.Name),s.node.Links=s.node.Links.filter(l=>l.Name!==h),s.node.Links.push({Name:h,Hash:e.Hash,Tsize:e.Tsize})}else{if(f.Name?.length===2)throw new Error("Existing link was sub-shard?!");{Le("prefix %s already exists, creating new sub-shard",a);let l=s.node.Links.findIndex(x=>x.Name?.startsWith(a)),y=s.node.Links.splice(l,1)[0],u=(y.Name??"").substring(2),m=bn(Lt)($(u));for(let x=0;x<i.length;x++)await m.take(ot);for(;;){let x=await m.take(ot),g=En(x);y.Name=`${g}${u}`;let w=await o.take(ot),_=En(w);if(g===_){let I=new Wi.default;I.set(w,!0),i.push({prefix:_,children:I,node:{Links:[]}});continue}let S=new Wi.default;S.set(w,!0),S.set(x,!0),i.push({prefix:a,children:S,node:{Links:[y,{Name:`${_}${e.Name}`,Hash:e.Hash,Tsize:e.Tsize}]}});break}}}else Le("link %s was not present in sub-shard",h),e.Name=h,s.node.Links.push(e),s.children.set(c,!0),Le("adding %s to existing sub-shard",h);return vn(i,t,n)};async function Ge(r,e,t={}){let n=await Y(r,e,t);if(n.type!=="directory")throw new Te(`${r.toString()} was not a UnixFS directory`);return{cid:r,node:n.node}}async function Ft(r,e,t,n){let i=await Y(r,t,n);if(i.type!=="directory"&&i.type!=="file"&&i.type!=="raw")throw new Ne(`${r.toString()} was not a UnixFS node`);return{Name:e,Tsize:i.node instanceof Uint8Array?i.node.byteLength:Mh(i.node),Hash:r}}function Mh(r){let e=r.Links.reduce((t,n)=>t+(n.Tsize??0),0);return T(r).byteLength+e}var Rh=O("helia:unixfs:components:utils:resolve");async function ze(r,e,t,n){if(e==null||e==="")return{cid:r};let i=`/ipfs/${r}${e==null?"":`/${e}`}`,o=await rs(Vi(i,t,n));if(o.length===0)throw new Fe("Could not find path in directory");return Rh("resolved %s to %c",e,r),{cid:o[o.length-1].cid,path:e,segments:o}}async function Pt(r,e,t,n){if(e.segments==null||e.segments.length===0)return r;let i=e.segments.pop();if(i==null)throw new Error("Insufficient segments");i.cid=r,e.segments.reverse();for(let o of e.segments){let[s,a]=await Promise.all([Ge(o.cid,t,n),Ft(i.cid,i.name,t,n)]);r=(await zt(s,a,t,{...n,allowOverwriting:!0,cidVersion:r.version})).cid,o.cid=r,i=o}return r}async function*lc(r,e,t={}){let n=await ze(r,t.path,e,t),i=await Y(n.cid,e,t);if(i.type!=="file"&&i.type!=="raw")throw new Or;if(i.content==null)throw new xt;yield*i.content(t)}var Oh=O("helia:unixfs:chmod");async function hc(r,e,t,n={}){let i=await ze(r,n.path,t,n);if(Oh("chmod %c %d",i.cid,e),n.recursive===!0){let l=await De(async function*(){for await(let y of yn(i.cid,t,n)){let u,d=[];if(y.type==="raw")u=new B({type:"file",data:y.node});else if(y.type==="file"||y.type==="directory")u=y.unixfs,d=y.node.Links;else throw new Ne;u.mode=e;let m={Data:u.marshal(),Links:d};yield{path:y.path,content:m}}},y=>Ye(y,t,{...n,dagBuilder:async function*(u,d){for await(let m of u)yield async function(){let x=m.content,g=T(x),w=await ve(g,d,{...n,cidVersion:r.version});if(x.Data==null)throw new ee(`${w} had no data`);let _=B.unmarshal(x.Data);return{cid:w,size:BigInt(g.length),path:m.path,unixfs:_}}}}),async y=>_e(y));if(l==null)throw new He(`Could not chmod ${i.cid.toString()}`);return Pt(l.cid,i,t,n)}let o=await z(t.get(i.cid,n)),s,a=[];if(i.cid.code===Q)s=new B({type:"file",data:o});else{let l=R(o);if(l.Data==null)throw new ee(`${i.cid.toString()} had no data`);a=l.Links,s=B.unmarshal(l.Data)}s.mode=e;let c=T({Data:s.marshal(),Links:a}),h=await oe.digest(c),f=A.create(i.cid.version,q,h);return await t.put(f,c),Pt(f,i,t,n)}var Vh=O("helia:unixfs:cp");async function dc(r,e,t,n,i={}){if(t.includes("/"))throw new F("Name must not have slashes");let[o,s]=await Promise.all([Ge(e,n,i),Ft(r,t,n,i)]);return Vh('Adding %c as "%s" to %c',r,t,e),(await zt(o,s,n,{allowOverwriting:i.force,cidVersion:e.version,...i})).cid}async function*pc(r,e,t={}){let n=await ze(r,t.path,e,t),i=await Y(n.cid,e,{...t,extended:!0});if(i.type==="file"||i.type==="raw"){t.extended===!1?yield{name:i.name,path:i.path,cid:i.cid}:yield i;return}if(i.content==null)throw new xt;if(i.type!=="directory")throw new Te;yield*i.content(t)}var mc=O("helia:unixfs:mkdir");async function yc(r,e,t,n={}){if(e.includes("/"))throw new F("Path must not have slashes");if((await Y(r,t,n)).type!=="directory")throw new Te(`${r.toString()} was not a UnixFS directory`);mc("creating %s",e);let s={Data:new B({type:"directory",mode:n.mode,mtime:n.mtime}).marshal(),Links:[]},a=T(s),c=await oe.digest(a),h=A.create(n.cidVersion??1,q,c);await t.put(h,a);let[f,l]=await Promise.all([Ge(r,t,n),Ft(h,e,t,n)]);return mc("adding empty dir called %s to %c",e,r),(await zt(f,l,t,{...n,allowOverwriting:n.force})).cid}var An=O("helia:unixfs:utils:remove-link");async function gc(r,e,t,n){if(r.node.Data==null)throw new ee("Parent node had no data");if(B.unmarshal(r.node.Data).type==="hamt-sharded-directory"){An(`removing ${e} from sharded directory`);let o=await jh(r,e,t,n);return await In(o.node,t,n.shardSplitThresholdBytes??262144,n)?o:(An("converting shard to flat directory %c",r.cid),qh(o,t,n))}return An(`removing link ${e} regular directory`),Hh(r,e,t,n)}var Hh=async(r,e,t,n)=>{r.node.Links=r.node.Links.filter(s=>s.Name!==e);let i=T(r.node),o=await ve(i,t,{...n,cidVersion:r.cid.version});return An(`Updated regular directory ${o}`),{node:r.node,cid:o}},jh=async(r,e,t,n)=>{let{path:i}=await Bn(r.cid,e,t,n),o=i[i.length-1];if(o==null)throw new Error("Invalid HAMT, could not generate path");let s=o.node.Links.filter(h=>(h.Name??"").substring(2)===e).map(h=>h.Name).pop();if(s==null)throw new Error("File not found");let a=s.substring(0,2),c=parseInt(a,16);if(o.node.Links=o.node.Links.filter(h=>h.Name!==s),o.children.unset(c),o.node.Links.length===1)for(;i.length!==1;){let h=i[i.length-1];if(h==null||h.node.Links.length>1)break;i.pop();let f=i[i.length-1];if(f==null)break;let l=h.node.Links[0];f.node.Links=f.node.Links.filter(y=>!(y.Name??"").startsWith(f.prefix)),f.node.Links.push({Hash:l.Hash,Name:`${f.prefix}${(l.Name??"").substring(2)}`,Tsize:l.Tsize})}return vn(i,t,n)},qh=async(r,e,t)=>{if(r.node.Data==null)throw new F("Invalid parent passed to convertToFlatDirectory");let n={Links:[]},i=await Y(r.cid,e);if(i.type!=="directory")throw new Error("Unexpected node type");for await(let c of i.content()){let h=0;c.node instanceof Uint8Array?h=c.node.byteLength:h=T(c.node).length,n.Links.push({Hash:c.cid,Name:c.name,Tsize:h})}let o=B.unmarshal(r.node.Data);n.Data=new B({type:"directory",mode:o.mode,mtime:o.mtime}).marshal();let s=T(U(n));return{cid:await ve(s,e,{codec:V,cidVersion:r.cid.version,signal:t.signal}),node:n}};var Gh=O("helia:unixfs:rm");async function wc(r,e,t,n={}){if(e.includes("/"))throw new F("Name must not have slashes");let i=await Ge(r,t,n);return Gh("Removing %s from %c",e,r),(await gc(i,e,t,{...n,cidVersion:r.version})).cid}function xc(r,e="utf8"){let t=Tr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var Ki={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},bc={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},_c=new globalThis.TextEncoder;function Wh(r,e){let t=Ki[e],n=bc[e];for(let i=0;i<r.length;i++)n^=BigInt(r[i]),n=BigInt.asUintN(e,n*t);return n}function Kh(r,e,t){if(t.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=Ki[e],i=bc[e],o=r;for(;o.length>0;){let s=_c.encodeInto(o,t);o=o.slice(s.read);for(let a=0;a<s.written;a++)i^=BigInt(t[a]),i=BigInt.asUintN(e,i*n)}return i}function Xi(r,{size:e=32,utf8Buffer:t}={}){if(!Ki[e])throw new Error("The `size` option must be one of 32, 64, 128, 256, 512, or 1024");if(typeof r=="string"){if(t)return Kh(r,e,t);r=_c.encode(r)}return Wh(r,e)}var dr={hash:r=>Number(Xi(r,{size:32})),hashV:(r,e)=>Xh(dr.hash(r,e))};function Xh(r){let e=r.toString(16);return e.length%2===1&&(e=`0${e}`),$(e,"base16")}var kc=64,Be=class{fp;h;seed;constructor(e,t,n,i=2){if(i>kc)throw new TypeError("Invalid Fingerprint Size");let o=t.hashV(e,n),s=ge(i);for(let a=0;a<s.length;a++)s[a]=o[a];s.length===0&&(s[0]=7),this.fp=s,this.h=t,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?Br(this.fp,e.fp):!1}};function st(r,e){return Math.floor(Math.random()*(e-r))+r}var at=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof Be))throw new TypeError("Invalid Fingerprint");return this.contents.some(t=>e.equals(t))}add(e){if(!(e instanceof Be))throw new TypeError("Invalid Fingerprint");for(let t=0;t<this.contents.length;t++)if(this.contents[t]==null)return this.contents[t]=e,!0;return!0}swap(e){if(!(e instanceof Be))throw new TypeError("Invalid Fingerprint");let t=st(0,this.contents.length-1),n=this.contents[t];return this.contents[t]=e,n}remove(e){if(!(e instanceof Be))throw new TypeError("Invalid Fingerprint");let t=this.contents.findIndex(n=>e.equals(n));return t>-1?(this.contents[t]=null,!0):!1}};var Jh=500,pr=class{bucketSize;filterSize;fingerprintSize;buckets;count;hash;seed;constructor(e){this.filterSize=e.filterSize,this.bucketSize=e.bucketSize??4,this.fingerprintSize=e.fingerprintSize??2,this.count=0,this.buckets=[],this.hash=e.hash??dr,this.seed=e.seed??st(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=$(e));let t=new Be(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=(n^t.hash())%this.filterSize;if(this.buckets[n]==null&&(this.buckets[n]=new at(this.bucketSize)),this.buckets[i]==null&&(this.buckets[i]=new at(this.bucketSize)),this.buckets[n].add(t)||this.buckets[i].add(t))return this.count++,!0;let o=[n,i],s=o[st(0,o.length-1)];this.buckets[s]==null&&(this.buckets[s]=new at(this.bucketSize));for(let a=0;a<Jh;a++){let c=this.buckets[s].swap(t);if(c!=null&&(s=(s^c.hash())%this.filterSize,this.buckets[s]==null&&(this.buckets[s]=new at(this.bucketSize)),this.buckets[s].add(c)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=$(e));let t=new Be(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=this.buckets[n]?.has(t)??!1;if(i)return i;let o=(n^t.hash())%this.filterSize;return this.buckets[o]?.has(t)??!1}remove(e){typeof e=="string"&&(e=$(e));let t=new Be(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=this.buckets[n]?.remove(t)??!1;if(i)return this.count--,i;let o=(n^t.hash())%this.filterSize,s=this.buckets[o]?.remove(t)??!1;return s&&this.count--,s}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}};var mr=class{filterSize;bucketSize;fingerprintSize;scale;filterSeries;hash;seed;constructor(e){this.bucketSize=e.bucketSize??4,this.filterSize=e.filterSize??(1<<18)/this.bucketSize,this.fingerprintSize=e.fingerprintSize??2,this.scale=e.scale??2,this.hash=e.hash??dr,this.seed=e.seed??st(0,Math.pow(2,10)),this.filterSeries=[new pr({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=$(e)),this.has(e))return!0;let t=this.filterSeries.find(n=>n.reliable);if(t==null){let n=this.filterSize*Math.pow(this.scale,this.filterSeries.length);t=new pr({filterSize:n,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed}),this.filterSeries.push(t)}return t.add(e)}has(e){typeof e=="string"&&(e=$(e));for(let t=0;t<this.filterSeries.length;t++)if(this.filterSeries[t].has(e))return!0;return!1}remove(e){typeof e=="string"&&(e=$(e));for(let t=0;t<this.filterSeries.length;t++)if(this.filterSeries[t].remove(e))return!0;return!1}get count(){return this.filterSeries.reduce((e,t)=>e+t.count,0)}};var Sc=1877,Cn=1604,Zh=O("helia:unixfs:stat");async function Ec(r,e,t={}){let n=await ze(r,t.path,e,t);Zh("stat %c",n.cid);let i=await Y(n.cid,e,t);if(i.type==="raw")return t.extended===!0?td(i):ed(i);if(i.type==="file"||i.type==="directory")return t.extended===!0?Qh(i,e,t.filter??new mr({filterSize:1024}),t):Yh(i);throw new Ne}function Yh(r){return{type:r.type,cid:r.cid,unixfs:r.unixfs,mode:r.unixfs.mode??(r.unixfs.isDirectory()?Sc:Cn),mtime:r.unixfs.mtime,size:r.unixfs.fileSize()}}async function Qh(r,e,t,n){let i=await vc(r.cid,e,!1,t,n);return{type:r.type,cid:r.cid,unixfs:r.unixfs,size:r.unixfs.isDirectory()?i.dirSize:r.unixfs.fileSize(),mode:r.unixfs.mode??(r.unixfs.isDirectory()?Sc:Cn),mtime:r.unixfs.mtime,localSize:i.localSize,dagSize:i.dagSize,deduplicatedDagSize:i.deduplicatedDagSize,blocks:i.blocks,uniqueBlocks:i.uniqueBlocks}}function ed(r){return{type:r.type,cid:r.cid,unixfs:void 0,mode:Cn,mtime:void 0,size:BigInt(r.node.byteLength)}}function td(r){return{type:r.type,cid:r.cid,unixfs:void 0,mode:Cn,mtime:void 0,size:BigInt(r.node.byteLength),localSize:BigInt(r.node.byteLength),dagSize:BigInt(r.node.byteLength),deduplicatedDagSize:BigInt(r.node.byteLength),blocks:1n,uniqueBlocks:1n}}async function vc(r,e,t,n,i){let o={dirSize:0n,localSize:0n,dagSize:0n,deduplicatedDagSize:0n,blocks:0n,uniqueBlocks:0n};try{let s=n.has(r.bytes);n.add(r.bytes);let a=await z(e.get(r,i));if(o.blocks++,o.dagSize+=BigInt(a.byteLength),s||(o.uniqueBlocks++,o.deduplicatedDagSize+=BigInt(a.byteLength)),r.code===Q)o.localSize+=BigInt(a.byteLength),t&&(o.dirSize+=BigInt(a.byteLength));else if(r.code===q){let c=R(a),h;if(c.Data!=null&&(h=B.unmarshal(c.Data)),c.Links.length>0){for(let f of c.Links){let l=await vc(f.Hash,e,rd(f,h),n,i);o.localSize+=l.localSize,o.dagSize+=l.dagSize,o.deduplicatedDagSize+=l.deduplicatedDagSize,o.blocks+=l.blocks,o.uniqueBlocks+=l.uniqueBlocks,o.dirSize+=l.dirSize}t&&h!=null&&(o.dirSize+=h.fileSize())}else{if(h==null)throw new ee(`PBNode ${r.toString()} had no data`);h.data!=null&&(o.localSize+=BigInt(h.data.byteLength??0)),t&&(o.dirSize+=h.fileSize())}}else throw new He(`${r.toString()} was neither DAG_PB nor RAW`)}catch(s){if(s.name!=="NotFoundError"||i.offline!==!0)throw s}return o}function rd(r,e){if(e==null)return!1;let t=r.Name;return t==null?!1:e.type==="directory"?!0:e.type==="hamt-sharded-directory"&&t.length>2}var nd=O("helia:unixfs:touch");async function Bc(r,e,t={}){let n=await ze(r,t.path,e,t),i=t.mtime??{secs:BigInt(Math.round(Date.now()/1e3)),nsecs:0};if(nd("touch %c %o",n.cid,i),t.recursive){let l=await De(async function*(){for await(let y of yn(n.cid,e)){let u,d;if(y.type==="raw")u=new B({data:y.node}),d=[];else if(y.type==="file"||y.type==="directory")u=y.unixfs,d=y.node.Links;else throw new Ne;u.mtime=i;let m={Data:u.marshal(),Links:d};yield{path:y.path,content:m}}},y=>Ye(y,e,{...t,dagBuilder:async function*(u,d){for await(let m of u)yield async function(){let x=m.content,g=T(x),w=await ve(g,d,{...t,cidVersion:r.version});if(x.Data==null)throw new ee(`${w} had no data`);let _=B.unmarshal(x.Data);return{cid:w,size:BigInt(g.length),path:m.path,unixfs:_}}}}),async y=>_e(y));if(l==null)throw new He(`Could not chmod ${n.cid.toString()}`);return Pt(l.cid,n,e,t)}let o=await z(e.get(n.cid,t)),s,a=[];if(n.cid.code===Q)s=new B({data:o});else{let l=R(o);if(a=l.Links,l.Data==null)throw new ee(`${n.cid.toString()} had no data`);s=B.unmarshal(l.Data)}s.mtime=i;let c=T({Data:s.marshal(),Links:a}),h=await oe.digest(c),f=A.create(n.cid.version,q,h);return await e.put(f,c),Pt(f,n,e,t)}var Nn=class{components;constructor(e){this.components=e}async*addAll(e,t={}){yield*Vr(e,this.components.blockstore,t)}async addBytes(e,t={}){return _s(e,this.components.blockstore,t)}async addByteStream(e,t={}){return ks(e,this.components.blockstore,t)}async addFile(e,t={}){return Ss(e,this.components.blockstore,t)}async addDirectory(e={},t={}){return Es(e,this.components.blockstore,t)}async*cat(e,t={}){yield*lc(e,this.components.blockstore,t)}async chmod(e,t,n={}){return hc(e,t,this.components.blockstore,n)}async cp(e,t,n,i={}){return dc(e,t,n,this.components.blockstore,i)}async*ls(e,t={}){yield*pc(e,this.components.blockstore,t)}async mkdir(e,t,n={}){return yc(e,t,this.components.blockstore,n)}async rm(e,t,n={}){return wc(e,t,this.components.blockstore,n)}async stat(e,t={}){return Ec(e,this.components.blockstore,t)}async touch(e,t={}){return Bc(e,this.components.blockstore,t)}};function Ic(r){return new Nn(r)}var Ue="/",Ac=new TextEncoder().encode(Ue),Tn=Ac[0],yr=class r{_buf;constructor(e,t){if(typeof e=="string")this._buf=$(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]!==Tn)throw new Error("Invalid key")}toString(e="utf8"){return xc(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new r(e.join(Ue))}static random(){return new r(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new r(e):typeof e.uint8Array=="function"?new r(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Ac),this._buf[0]!==Tn){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Tn,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Tn;)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 r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Ue).slice(1)}type(){return id(this.baseNamespace())}name(){return od(this.baseNamespace())}instance(e){return new r(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Ue)||(e+=Ue),e+=this.type(),new r(e)}parent(){let e=this.list();return e.length===1?new r(Ue):new r(e.slice(0,-1).join(Ue))}child(e){return this.toString()===Ue?e:e.toString()===Ue?this:new r(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 r.withNamespaces([...this.namespaces(),...sd(e.map(t=>t.namespaces()))])}};function id(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function od(r){let e=r.split(":");return e[e.length-1]}function sd(r){return[].concat(...r)}function Dn(r){return r.split("/").pop()??""}var Ln=class{components;unixfs;root;key;log;constructor(e,t={}){this.components=e,this.log=e.logger.forComponent("helia:mfs"),this.key=new yr(t.key??"/locals/filesroot"),this.unixfs=Ic(e)}async#e(){if(this.root==null)try{let e=await this.components.datastore.get(this.key);this.root=A.decode(e)}catch(e){if(e.name!=="NotFoundError")throw e;this.root=await this.unixfs.addDirectory()}return this.root}async writeBytes(e,t,n){let i=await this.unixfs.addBytes(e,n);await this.cp(i,t,n),n?.mode!=null&&await this.chmod(t,n.mode,n),n?.mtime!=null&&await this.touch(t,n)}async writeByteStream(e,t,n){let i=await this.unixfs.addByteStream(e,n);await this.cp(i,t,n),n?.mode!=null&&await this.chmod(t,n.mode,n),n?.mtime!=null&&await this.touch(t,n)}async*cat(e,t={}){let n=await this.#e(),i=await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1});yield*this.unixfs.cat(i[i.length-1].cid,t)}async chmod(e,t,n={}){let i=await this.#e();this.root=await this.unixfs.chmod(i,t,{...n,path:e})}async cp(e,t,n){let i=await this.#e(),o=n?.force??!1;typeof e=="string"&&(e=(await this.stat(e,n)).cid),o||await this.#s(t,n);let s=Dn(t),a=t.substring(0,t.length-`/${s}`.length),c=[{cid:i,name:""}];a!==""&&(c=await this.#r(i,a,{...n,createMissingDirectories:n?.force??!1,finalSegmentMustBeDirectory:!0})),c.push({cid:e,name:s}),this.root=await this.#i(c,n)}async*ls(e,t){let n=await this.#e();t?.path!=null&&(e=`${e}/${t.path}`),yield*this.unixfs.ls(n,{...t,path:e})}async mkdir(e,t){let n=t?.force??!1;n||await this.#s(e,t);let i=Dn(e),o=e.substring(0,e.length-`/${i}`.length),s=await this.#e(),a=[{cid:s,name:""}];o!==""&&(a=await this.#r(s,o,{...t,createMissingDirectories:n,finalSegmentMustBeDirectory:!0})),a.push({cid:await this.unixfs.addDirectory({mode:t?.mode,mtime:t?.mtime},t),name:Dn(e)}),this.root=await this.#i(a,t)}async rm(e,t){(t?.force??!1)||await this.#l(e,t);let i=await this.#e(),o=await this.#r(i,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1}),s=o.pop();if(s==null)throw new F("path was too short");let a=o[o.length-1];a.cid=await this.unixfs.rm(a.cid,s.name,t),this.root=await this.#i(o,t)}async stat(e,t){let n=await this.#e(),o=(await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1})).pop();if(o==null)throw new Fe;return this.unixfs.stat(o.cid,t)}async touch(e,t){let n=await this.#e(),i=await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1}),o=i[i.length-1];if(o==null)throw new Fe;o.cid=await this.unixfs.touch(o.cid,t),this.root=await this.#i(i,t)}async#r(e,t,n){if(!t.startsWith("/"))throw new F("path must be absolute");let i=await this.unixfs.stat(e,{...n,offline:!0}),o=[{cid:e,name:"",unixfs:i.unixfs}],s=e,a=t.split("/").filter(Boolean);for(let h=0;h<a.length;h++){let f=a[h];try{let l=await this.unixfs.stat(s,{...n,offline:!0,path:f});o.push({cid:l.cid,name:f,unixfs:l.unixfs}),s=l.cid}catch{if(this.log.error("could not resolve path segment %s of %s under %c",f,t,e),n.createMissingDirectories){let y=await this.unixfs.addDirectory();o.push({cid:y,name:f,unixfs:new B({type:"directory"})})}else throw new Fe(`${t} does not exist`)}}let c=o[o.length-1];if(n.finalSegmentMustBeDirectory&&c.unixfs?.isDirectory()!==!0)throw new Te(`${t} was not a directory`);return o}async#i(e,t={}){let n=e.pop();if(n==null)throw new F("path was too short");let i=n.cid;for(let o=e.length-1;o>-1;o--){let s=e[o];s.cid=await this.unixfs.cp(n.cid,s.cid,n.name,{...t,force:!0}),n=s,i=s.cid}return await this.components.datastore.put(this.key,i.bytes,t),i}async#l(e,t={}){if(!await this.#a(e,t))throw new Fe}async#s(e,t={}){if(await this.#a(e,t))throw new Qe}async#a(e,t={}){try{return await this.stat(e,{...t,offline:!0}),!0}catch{return!1}}};function ad(r,e={}){return new Ln(r,e)}return zc(cd);})();
2
+ "use strict";var HeliaMfs=(()=>{var Nc=Object.create;var br=Object.defineProperty;var Tc=Object.getOwnPropertyDescriptor;var Dc=Object.getOwnPropertyNames;var Lc=Object.getPrototypeOf,zc=Object.prototype.hasOwnProperty;var _r=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),W=(r,e)=>{for(var t in e)br(r,t,{get:e[t],enumerable:!0})},Zi=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Dc(e))!zc.call(r,i)&&i!==t&&br(r,i,{get:()=>e[i],enumerable:!(n=Tc(e,i))||n.enumerable});return r};var $t=(r,e,t)=>(t=r!=null?Nc(Lc(r)):{},Zi(e||!r||!r.__esModule?br(t,"default",{value:r,enumerable:!0}):t,r)),Fc=r=>Zi(br({},"__esModule",{value:!0}),r);var is=_r((nr,Pr)=>{(function(r,e){"use strict";var t={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(u){if(!Array.isArray(u)&&!ArrayBuffer.isView(u))return!1;for(var d=0;d<u.length;d++)if(!Number.isInteger(u[d])||u[d]<0||u[d]>255)return!1;return!0}function i(u,d){return(u&65535)*d+(((u>>>16)*d&65535)<<16)}function o(u,d){return u<<d|u>>>32-d}function s(u){return u^=u>>>16,u=i(u,2246822507),u^=u>>>13,u=i(u,3266489909),u^=u>>>16,u}function a(u,d){u=[u[0]>>>16,u[0]&65535,u[1]>>>16,u[1]&65535],d=[d[0]>>>16,d[0]&65535,d[1]>>>16,d[1]&65535];var m=[0,0,0,0];return m[3]+=u[3]+d[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=u[2]+d[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=u[1]+d[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=u[0]+d[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function c(u,d){u=[u[0]>>>16,u[0]&65535,u[1]>>>16,u[1]&65535],d=[d[0]>>>16,d[0]&65535,d[1]>>>16,d[1]&65535];var m=[0,0,0,0];return m[3]+=u[3]*d[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=u[2]*d[3],m[1]+=m[2]>>>16,m[2]&=65535,m[2]+=u[3]*d[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=u[1]*d[3],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=u[2]*d[2],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=u[3]*d[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=u[0]*d[3]+u[1]*d[2]+u[2]*d[1]+u[3]*d[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function h(u,d){return d%=64,d===32?[u[1],u[0]]:d<32?[u[0]<<d|u[1]>>>32-d,u[1]<<d|u[0]>>>32-d]:(d-=32,[u[1]<<d|u[0]>>>32-d,u[0]<<d|u[1]>>>32-d])}function f(u,d){return d%=64,d===0?u:d<32?[u[0]<<d|u[1]>>>32-d,u[1]<<d]:[u[1]<<d-32,0]}function l(u,d){return[u[0]^d[0],u[1]^d[1]]}function y(u){return u=l(u,[0,u[0]>>>1]),u=c(u,[4283543511,3981806797]),u=l(u,[0,u[0]>>>1]),u=c(u,[3301882366,444984403]),u=l(u,[0,u[0]>>>1]),u}t.x86.hash32=function(u,d){if(t.inputValidation&&!n(u))return e;d=d||0;for(var m=u.length%4,x=u.length-m,g=d,w=0,b=3432918353,S=461845907,B=0;B<x;B=B+4)w=u[B]|u[B+1]<<8|u[B+2]<<16|u[B+3]<<24,w=i(w,b),w=o(w,15),w=i(w,S),g^=w,g=o(g,13),g=i(g,5)+3864292196;switch(w=0,m){case 3:w^=u[B+2]<<16;case 2:w^=u[B+1]<<8;case 1:w^=u[B],w=i(w,b),w=o(w,15),w=i(w,S),g^=w}return g^=u.length,g=s(g),g>>>0},t.x86.hash128=function(u,d){if(t.inputValidation&&!n(u))return e;d=d||0;for(var m=u.length%16,x=u.length-m,g=d,w=d,b=d,S=d,B=0,C=0,E=0,L=0,le=597399067,ct=2869860233,wr=951274213,xr=2716044179,N=0;N<x;N=N+16)B=u[N]|u[N+1]<<8|u[N+2]<<16|u[N+3]<<24,C=u[N+4]|u[N+5]<<8|u[N+6]<<16|u[N+7]<<24,E=u[N+8]|u[N+9]<<8|u[N+10]<<16|u[N+11]<<24,L=u[N+12]|u[N+13]<<8|u[N+14]<<16|u[N+15]<<24,B=i(B,le),B=o(B,15),B=i(B,ct),g^=B,g=o(g,19),g+=w,g=i(g,5)+1444728091,C=i(C,ct),C=o(C,16),C=i(C,wr),w^=C,w=o(w,17),w+=b,w=i(w,5)+197830471,E=i(E,wr),E=o(E,17),E=i(E,xr),b^=E,b=o(b,15),b+=S,b=i(b,5)+2530024501,L=i(L,xr),L=o(L,18),L=i(L,le),S^=L,S=o(S,13),S+=g,S=i(S,5)+850148119;switch(B=0,C=0,E=0,L=0,m){case 15:L^=u[N+14]<<16;case 14:L^=u[N+13]<<8;case 13:L^=u[N+12],L=i(L,xr),L=o(L,18),L=i(L,le),S^=L;case 12:E^=u[N+11]<<24;case 11:E^=u[N+10]<<16;case 10:E^=u[N+9]<<8;case 9:E^=u[N+8],E=i(E,wr),E=o(E,17),E=i(E,xr),b^=E;case 8:C^=u[N+7]<<24;case 7:C^=u[N+6]<<16;case 6:C^=u[N+5]<<8;case 5:C^=u[N+4],C=i(C,ct),C=o(C,16),C=i(C,wr),w^=C;case 4:B^=u[N+3]<<24;case 3:B^=u[N+2]<<16;case 2:B^=u[N+1]<<8;case 1:B^=u[N],B=i(B,le),B=o(B,15),B=i(B,ct),g^=B}return g^=u.length,w^=u.length,b^=u.length,S^=u.length,g+=w,g+=b,g+=S,w+=g,b+=g,S+=g,g=s(g),w=s(w),b=s(b),S=s(S),g+=w,g+=b,g+=S,w+=g,b+=g,S+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(w>>>0).toString(16)).slice(-8)+("00000000"+(b>>>0).toString(16)).slice(-8)+("00000000"+(S>>>0).toString(16)).slice(-8)},t.x64.hash128=function(u,d){if(t.inputValidation&&!n(u))return e;d=d||0;for(var m=u.length%16,x=u.length-m,g=[0,d],w=[0,d],b=[0,0],S=[0,0],B=[2277735313,289559509],C=[1291169091,658871167],E=0;E<x;E=E+16)b=[u[E+4]|u[E+5]<<8|u[E+6]<<16|u[E+7]<<24,u[E]|u[E+1]<<8|u[E+2]<<16|u[E+3]<<24],S=[u[E+12]|u[E+13]<<8|u[E+14]<<16|u[E+15]<<24,u[E+8]|u[E+9]<<8|u[E+10]<<16|u[E+11]<<24],b=c(b,B),b=h(b,31),b=c(b,C),g=l(g,b),g=h(g,27),g=a(g,w),g=a(c(g,[0,5]),[0,1390208809]),S=c(S,C),S=h(S,33),S=c(S,B),w=l(w,S),w=h(w,31),w=a(w,g),w=a(c(w,[0,5]),[0,944331445]);switch(b=[0,0],S=[0,0],m){case 15:S=l(S,f([0,u[E+14]],48));case 14:S=l(S,f([0,u[E+13]],40));case 13:S=l(S,f([0,u[E+12]],32));case 12:S=l(S,f([0,u[E+11]],24));case 11:S=l(S,f([0,u[E+10]],16));case 10:S=l(S,f([0,u[E+9]],8));case 9:S=l(S,[0,u[E+8]]),S=c(S,C),S=h(S,33),S=c(S,B),w=l(w,S);case 8:b=l(b,f([0,u[E+7]],56));case 7:b=l(b,f([0,u[E+6]],48));case 6:b=l(b,f([0,u[E+5]],40));case 5:b=l(b,f([0,u[E+4]],32));case 4:b=l(b,f([0,u[E+3]],24));case 3:b=l(b,f([0,u[E+2]],16));case 2:b=l(b,f([0,u[E+1]],8));case 1:b=l(b,[0,u[E]]),b=c(b,B),b=h(b,31),b=c(b,C),g=l(g,b)}return g=l(g,[0,u.length]),w=l(w,[0,u.length]),g=a(g,w),w=a(w,g),g=y(g),w=y(w),g=a(g,w),w=a(w,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(w[0]>>>0).toString(16)).slice(-8)+("00000000"+(w[1]>>>0).toString(16)).slice(-8)},typeof nr<"u"?(typeof Pr<"u"&&Pr.exports&&(nr=Pr.exports=t),nr.murmurHash3=t):typeof define=="function"&&define.amd?define([],function(){return t}):(t._murmurHash3=r.murmurHash3,t.noConflict=function(){return r.murmurHash3=t._murmurHash3,t._murmurHash3=e,t.noConflict=e,t},r.murmurHash3=t)})(nr)});var ss=_r((Ym,os)=>{os.exports=is()});var $r=_r((o0,cs)=>{"use strict";cs.exports=class{constructor(){this._bitArrays=[],this._data=[],this._length=0,this._changedLength=!1,this._changedData=!1}set(e,t){let n=this._internalPositionFor(e,!1);if(t===void 0)n!==-1&&(this._unsetInternalPos(n),this._unsetBit(e),this._changedLength=!0,this._changedData=!0);else{let i=!1;n===-1?(n=this._data.length,this._setBit(e),this._changedData=!0):i=!0,this._setInternalPos(n,e,t,i),this._changedLength=!0}}unset(e){this.set(e,void 0)}get(e){this._sortData();let t=this._internalPositionFor(e,!0);if(t!==-1)return this._data[t][1]}push(e){return this.set(this.length,e),this.length}get length(){if(this._sortData(),this._changedLength){let e=this._data[this._data.length-1];this._length=e?e[0]+1:0,this._changedLength=!1}return this._length}forEach(e){let t=0;for(;t<this.length;)e(this.get(t),t,this),t++}map(e){let t=0,n=new Array(this.length);for(;t<this.length;)n[t]=e(this.get(t),t,this),t++;return n}reduce(e,t){let n=0,i=t;for(;n<this.length;){let o=this.get(n);i=e(i,o,n),n++}return i}find(e){let t=0,n,i;for(;t<this.length&&!n;)i=this.get(t),n=e(i),t++;return n?i:void 0}_internalPositionFor(e,t){let n=this._bytePosFor(e,t);if(n>=this._bitArrays.length)return-1;let i=this._bitArrays[n],o=e-n*7;if(!((i&1<<o)>0))return-1;let a=this._bitArrays.slice(0,n).reduce(Df,0),c=~(4294967295<<o+1),h=as(i&c);return a+h-1}_bytePosFor(e,t){let n=Math.floor(e/7),i=n+1;for(;!t&&this._bitArrays.length<i;)this._bitArrays.push(0);return n}_setBit(e){let t=this._bytePosFor(e,!1);this._bitArrays[t]|=1<<e-t*7}_unsetBit(e){let t=this._bytePosFor(e,!1);this._bitArrays[t]&=~(1<<e-t*7)}_setInternalPos(e,t,n,i){let o=this._data,s=[t,n];if(i)this._sortData(),o[e]=s;else{if(o.length)if(o[o.length-1][0]>=t)o.push(s);else if(o[0][0]<=t)o.unshift(s);else{let a=Math.round(o.length/2);this._data=o.slice(0,a).concat(s).concat(o.slice(a))}else this._data.push(s);this._changedData=!0,this._changedLength=!0}}_unsetInternalPos(e){this._data.splice(e,1)}_sortData(){this._changedData&&this._data.sort(Lf),this._changedData=!1}bitField(){let e=[],t=8,n=0,i=0,o,s=this._bitArrays.slice();for(;s.length||n;){n===0&&(o=s.shift(),n=7);let c=Math.min(n,t),h=~(255<<c),f=o&h;i|=f<<8-t,o=o>>>c,n-=c,t-=c,(!t||!n&&!s.length)&&(e.push(i),i=0,t=8)}for(var a=e.length-1;a>0&&e[a]===0;a--)e.pop();return e}compactArray(){return this._sortData(),this._data.map(zf)}};function Df(r,e){return r+as(e)}function as(r){let e=r;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function Lf(r,e){return r[0]-e[0]}function zf(r){return r[1]}});var Za=_r((Lw,Pi)=>{"use strict";var oh=Object.prototype.hasOwnProperty,Z="~";function fr(){}Object.create&&(fr.prototype=Object.create(null),new fr().__proto__||(Z=!1));function sh(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function Ja(r,e,t,n,i){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new sh(t,n||r,i),s=Z?Z+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 mn(r,e){--r._eventsCount===0?r._events=new fr:delete r._events[e]}function X(){this._events=new fr,this._eventsCount=0}X.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(Z?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};X.prototype.listeners=function(e){var t=Z?Z+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};X.prototype.listenerCount=function(e){var t=Z?Z+e:e,n=this._events[t];return n?n.fn?1:n.length:0};X.prototype.emit=function(e,t,n,i,o,s){var a=Z?Z+e:e;if(!this._events[a])return!1;var c=this._events[a],h=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),h){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(l=1,f=new Array(h-1);l<h;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var y=c.length,u;for(l=0;l<y;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),h){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,t);break;case 3:c[l].fn.call(c[l].context,t,n);break;case 4:c[l].fn.call(c[l].context,t,n,i);break;default:if(!f)for(u=1,f=new Array(h-1);u<h;u++)f[u-1]=arguments[u];c[l].fn.apply(c[l].context,f)}}return!0};X.prototype.on=function(e,t,n){return Ja(this,e,t,n,!1)};X.prototype.once=function(e,t,n){return Ja(this,e,t,n,!0)};X.prototype.removeListener=function(e,t,n,i){var o=Z?Z+e:e;if(!this._events[o])return this;if(!t)return mn(this,o),this;var s=this._events[o];if(s.fn)s.fn===t&&(!i||s.once)&&(!n||s.context===n)&&mn(this,o);else{for(var a=0,c=[],h=s.length;a<h;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:mn(this,o)}return this};X.prototype.removeAllListeners=function(e){var t;return e?(t=Z?Z+e:e,this._events[t]&&mn(this,t)):(this._events=new fr,this._eventsCount=0),this};X.prototype.off=X.prototype.removeListener;X.prototype.addListener=X.prototype.on;X.prefixed=Z;X.EventEmitter=X;typeof Pi<"u"&&(Pi.exports=X)});var fd={};W(fd,{mfs:()=>ud});var On={};W(On,{base32:()=>Me,base32hex:()=>Kc,base32hexpad:()=>Jc,base32hexpadupper:()=>Zc,base32hexupper:()=>Xc,base32pad:()=>Gc,base32padupper:()=>Wc,base32upper:()=>qc,base32z:()=>Yc});var ut={};W(ut,{coerce:()=>he,empty:()=>Yi,equals:()=>zn,fromHex:()=>Uc,fromString:()=>Fn,isBinary:()=>$c,toHex:()=>Pc,toString:()=>Pn});var Yi=new Uint8Array(0);function Pc(r){return r.reduce((e,t)=>e+t.toString(16).padStart(2,"0"),"")}function Uc(r){let e=r.match(/../g);return e!=null?new Uint8Array(e.map(t=>parseInt(t,16))):Yi}function zn(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function he(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function $c(r){return r instanceof ArrayBuffer||ArrayBuffer.isView(r)}function Fn(r){return new TextEncoder().encode(r)}function Pn(r){return new TextDecoder().decode(r)}function Mc(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),h=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var m=0,x=0,g=0,w=d.length;g!==w&&d[g]===0;)g++,m++;for(var b=(w-g)*f+1>>>0,S=new Uint8Array(b);g!==w;){for(var B=d[g],C=0,E=b-1;(B!==0||C<x)&&E!==-1;E--,C++)B+=256*S[E]>>>0,S[E]=B%a>>>0,B=B/a>>>0;if(B!==0)throw new Error("Non-zero carry");x=C,g++}for(var L=b-x;L!==b&&S[L]===0;)L++;for(var le=c.repeat(m);L<b;++L)le+=r.charAt(S[L]);return le}function y(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var m=0;if(d[m]!==" "){for(var x=0,g=0;d[m]===c;)x++,m++;for(var w=(d.length-m)*h+1>>>0,b=new Uint8Array(w);d[m];){var S=t[d.charCodeAt(m)];if(S===255)return;for(var B=0,C=w-1;(S!==0||B<g)&&C!==-1;C--,B++)S+=a*b[C]>>>0,b[C]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=B,m++}if(d[m]!==" "){for(var E=w-g;E!==w&&b[E]===0;)E++;for(var L=new Uint8Array(x+(w-E)),le=x;E!==w;)L[le++]=b[E++];return L}}}function u(d){var m=y(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:y,decode:u}}var Rc=Mc,Oc=Rc,Qi=Oc;var Un=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},$n=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let i=t.codePointAt(0);if(i===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=i,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 eo(this,e)}},Mn=class{decoders;constructor(e){this.decoders=e}or(e){return eo(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function eo(r,e){return new Mn({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Rn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new Un(e,t,n),this.decoder=new $n(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ft({name:r,prefix:e,encode:t,decode:n}){return new Rn(r,e,t,n)}function $e({name:r,prefix:e,alphabet:t}){let{encode:n,decode:i}=Qi(t,r);return ft({prefix:e,name:r,encode:n,decode:o=>he(i(o))})}function Vc(r,e,t,n){let i=r.length;for(;r[i-1]==="=";)--i;let o=new Uint8Array(i*t/8|0),s=0,a=0,c=0;for(let h=0;h<i;++h){let f=e[r[h]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|f,s+=t,s>=8&&(s-=8,o[c++]=255&a>>s)}if(s>=t||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return o}function Hc(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!==0&&(o+=e[i&a<<t-s]),n)for(;(o.length*t&7)!==0;)o+="=";return o}function jc(r){let e={};for(let t=0;t<r.length;++t)e[r[t]]=t;return e}function P({name:r,prefix:e,bitsPerChar:t,alphabet:n}){let i=jc(n);return ft({prefix:e,name:r,encode(o){return Hc(o,n,t)},decode(o){return Vc(o,i,t,r)}})}var Me=P({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),qc=P({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Gc=P({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Wc=P({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Kc=P({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Xc=P({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Jc=P({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Zc=P({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Yc=P({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Vn={};W(Vn,{base36:()=>Mt,base36upper:()=>Qc});var Mt=$e({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Qc=$e({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Hn={};W(Hn,{base58btc:()=>de,base58flickr:()=>eu});var de=$e({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),eu=$e({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var tu=no,to=128,ru=127,nu=~ru,iu=Math.pow(2,31);function no(r,e,t){e=e||[],t=t||0;for(var n=t;r>=iu;)e[t++]=r&255|to,r/=128;for(;r&nu;)e[t++]=r&255|to,r>>>=7;return e[t]=r|0,no.bytes=t-n+1,e}var ou=jn,su=128,ro=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&ro)<<i:(s&ro)*Math.pow(2,i),i+=7}while(s>=su);return jn.bytes=o-n,t}var au=Math.pow(2,7),cu=Math.pow(2,14),uu=Math.pow(2,21),fu=Math.pow(2,28),lu=Math.pow(2,35),hu=Math.pow(2,42),du=Math.pow(2,49),pu=Math.pow(2,56),mu=Math.pow(2,63),yu=function(r){return r<au?1:r<cu?2:r<uu?3:r<fu?4:r<lu?5:r<hu?6:r<du?7:r<pu?8:r<mu?9:10},gu={encode:tu,decode:ou,encodingLength:yu},wu=gu,Rt=wu;function Ot(r,e=0){return[Rt.decode(r,e),Rt.decode.bytes]}function lt(r,e,t=0){return Rt.encode(r,e,t),e}function ht(r){return Rt.encodingLength(r)}function pt(r,e){let t=e.byteLength,n=ht(r),i=n+ht(t),o=new Uint8Array(i+t);return lt(r,o,0),lt(t,o,n),o.set(e,i),new dt(r,t,e,o)}function Sr(r){let e=he(r),[t,n]=Ot(e),[i,o]=Ot(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new dt(t,i,s,e)}function io(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&zn(r.bytes,t.bytes)}}var dt=class{code;size;digest;bytes;constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};function oo(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return bu(t,qn(r),e??de.encoder);default:return _u(t,qn(r),e??Me.encoder)}}var so=new WeakMap;function qn(r){let e=so.get(r);if(e==null){let t=new Map;return so.set(r,t),t}return e}var A=class r{code;version;multihash;bytes;"/";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!==Vt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==ku)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=pt(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&io(e.multihash,n.multihash)}toString(e){return oo(this,e)}toJSON(){return{"/":oo(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:i,multihash:o,bytes:s}=t;return new r(n,i,o,s??ao(n,i,o.bytes))}else if(t[Su]===!0){let{version:n,multihash:i,code:o}=t,s=Sr(i);return r.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!==Vt)throw new Error(`Version 0 CID must use dag-pb (code: ${Vt}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let i=ao(e,t,n.bytes);return new r(e,t,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Vt,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,i=he(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?r.createV0(s):r.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,y]=Ot(e.subarray(t));return t+=y,l},i=n(),o=Vt;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(),h=t+c,f=h-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:h}}static parse(e,t){let[n,i]=xu(e,t),o=r.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return qn(o).set(n,e),o}};function xu(r,e){switch(r[0]){case"Q":{let t=e??de;return[de.prefix,t.decode(`${de.prefix}${r}`)]}case de.prefix:{let t=e??de;return[de.prefix,t.decode(r)]}case Me.prefix:{let t=e??Me;return[Me.prefix,t.decode(r)]}case Mt.prefix:{let t=e??Mt;return[Mt.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function bu(r,e,t){let{prefix:n}=t;if(n!==de.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}function _u(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}var Vt=112,ku=18;function ao(r,e,t){let n=ht(r),i=n+ht(e),o=new Uint8Array(i+t.byteLength);return lt(r,o,0),lt(e,o,n),o.set(t,i),o}var Su=Symbol.for("@ipld/js-cid/CID");function Eu(r){return r[Symbol.asyncIterator]!=null}function vu(r){if(Eu(r))return(async()=>{for await(let e of r)return e})();for(let e of r)return e}var Er=vu;function Bu(r){return r[Symbol.asyncIterator]!=null}function Iu(r,e=1){return e=Number(e),Bu(r)?(async function*(){let t=[];if(e<1&&(e=1),e!==Math.round(e))throw new Error("Batch size must be an integer");for await(let n of r)for(t.push(n);t.length>=e;)yield t.slice(0,e),t=t.slice(e);for(;t.length>0;)yield t.slice(0,e),t=t.slice(e)})():(function*(){let t=[];if(e<1&&(e=1),e!==Math.round(e))throw new Error("Batch size must be an integer");for(let n of r)for(t.push(n);t.length>=e;)yield t.slice(0,e),t=t.slice(e);for(;t.length>0;)yield t.slice(0,e),t=t.slice(e)})()}var vr=Iu;async function*Ht(r,e=1){for await(let t of vr(r,e)){let n=t.map(async i=>i().then(o=>({ok:!0,value:o}),o=>({ok:!1,err:o})));for(let i=0;i<n.length;i++){let o=await n[i];if(o.ok)yield o.value;else throw o.err}}}function ge(r=0){return new Uint8Array(r)}function ne(r=0){return new Uint8Array(r)}function Ie(r,e){e==null&&(e=r.reduce((i,o)=>i+o.length,0));let t=ne(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return t}function Br(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 uo=Symbol.for("@achingbrain/uint8arraylist");function co(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 Ir(r){return!!r?.[uo]}var yt=class r{bufs;length;[uo]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(Ir(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(Ir(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=co(this.bufs,e);return t.buf[t.index]}set(e,t){let n=co(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(Ir(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 Ie(n,i)}subarray(e,t){let{bufs:n,length:i}=this._subList(e,t);return n.length===1?n[0]:Ie(n,i)}sublist(e,t){let{bufs:n,length:i}=this._subList(e,t),o=new r;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 h=e>=a&&e<c,f=t>a&&t<=c;if(h&&f){if(e===a&&t===c){n.push(s);break}let l=e-a;n.push(s.subarray(l,l+(t-e)));break}if(h){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(f){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(!Ir(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 l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,h=n.byteLength-1,f;for(let l=t;l<=c;l+=f){f=0;for(let y=h;y>=0;y--){let u=this.get(l+y);if(n[y]!==u){f=Math.max(1,y-a[u]);break}}if(f===0)return l}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=ne(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=ge(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=ge(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=ge(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=ne(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=ge(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=ge(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=ge(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=ge(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=ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,t,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!Br(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((i,o)=>i+o.byteLength,0)),n.length=t,n}};var Au=262144,jt=(r={})=>{let e=r.chunkSize??Au;return async function*(n){let i=new yt,o=0,s=!1;for await(let a of n)for(i.append(a),o+=a.length;o>=e;)if(yield i.slice(0,e),s=!0,e===i.length)i=new yt,o=0;else{let c=new yt;c.append(i.sublist(e)),i=c,o-=e}(!s||o>0)&&(yield i.subarray(0,o))}};var V={};W(V,{code:()=>q,createLink:()=>bo,createNode:()=>xo,decode:()=>R,encode:()=>T,name:()=>Mu,prepare:()=>U,validate:()=>Kn});var Cu=new TextDecoder;function Gn(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 Ar(r,e){let t;[t,e]=Gn(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 fo(r,e){let t;return[t,e]=Gn(r,e),[t&7,t>>3,e]}function Nu(r){let e={},t=r.length,n=0;for(;n<t;){let i,o;if([i,o,n]=fo(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]=Ar(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]=Ar(r,n),e.Name=Cu.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]=Gn(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 lo(r){let e=r.length,t=0,n,i=!1,o;for(;t<e;){let a,c;if([a,c,t]=fo(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]=Ar(r,t),n&&(i=!0)}else if(c===2){if(i)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let h;[h,t]=Ar(r,t),n.push(Nu(h))}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 po=new TextEncoder,ho=2**32,Tu=2**31;function Du(r,e){let t=e.length;if(typeof r.Tsize=="number"){if(r.Tsize<0)throw new Error("Tsize cannot be negative");if(!Number.isSafeInteger(r.Tsize))throw new Error("Tsize too large for encoding");t=qt(e,t,r.Tsize)-1,e[t]=24}if(typeof r.Name=="string"){let n=po.encode(r.Name);t-=n.length,e.set(n,t),t=qt(e,t,n.length)-1,e[t]=18}return r.Hash&&(t-=r.Hash.length,e.set(r.Hash,t),t=qt(e,t,r.Hash.length)-1,e[t]=10),e.length-t}function mo(r){let e=zu(r),t=new Uint8Array(e),n=e;if(r.Data&&(n-=r.Data.length,t.set(r.Data,n),n=qt(t,n,r.Data.length)-1,t[n]=10),r.Links)for(let i=r.Links.length-1;i>=0;i--){let o=Du(r.Links[i],t.subarray(0,n));n-=o,n=qt(t,n,o)-1,t[n]=18}return t}function Lu(r){let e=0;if(r.Hash){let t=r.Hash.length;e+=1+t+gt(t)}if(typeof r.Name=="string"){let t=po.encode(r.Name).length;e+=1+t+gt(t)}return typeof r.Tsize=="number"&&(e+=1+gt(r.Tsize)),e}function zu(r){let e=0;if(r.Data){let t=r.Data.length;e+=1+t+gt(t)}if(r.Links)for(let t of r.Links){let n=Lu(t);e+=1+n+gt(n)}return e}function qt(r,e,t){e-=gt(t);let n=e;for(;t>=Tu;)r[e++]=t&127|128,t/=128;for(;t>=128;)r[e++]=t&127|128,t>>>=7;return r[e]=t,n}function gt(r){return r%2===0&&r++,Math.floor((Fu(r)+6)/7)}function Fu(r){let e=0;return r>=ho&&(r=Math.floor(r/ho),e=32),r>=65536&&(r>>>=16,e+=16),r>=256&&(r>>>=8,e+=8),e+Pu[r]}var Pu=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8];var Uu=["Data","Links"],$u=["Hash","Name","Tsize"],Wn=new TextEncoder;function go(r,e){if(r===e)return 0;let t=r.Name?Wn.encode(r.Name):[],n=e.Name?Wn.encode(e.Name):[],i=t.length,o=n.length;for(let s=0,a=Math.min(i,o);s<a;++s)if(t[s]!==n[s]){i=t[s],o=n[s];break}return i<o?-1:o<i?1:0}function yo(r,e){return!Object.keys(r).some(t=>!e.includes(t))}function wo(r){if(typeof r.asCID=="object"){let t=A.asCID(r);if(!t)throw new TypeError("Invalid DAG-PB form");return{Hash:t}}if(typeof r!="object"||Array.isArray(r))throw new TypeError("Invalid DAG-PB form");let e={};if(r.Hash){let t=A.asCID(r.Hash);try{t||(typeof r.Hash=="string"?t=A.parse(r.Hash):r.Hash instanceof Uint8Array&&(t=A.decode(r.Hash)))}catch(n){throw new TypeError(`Invalid DAG-PB form: ${n.message}`)}t&&(e.Hash=t)}if(!e.Hash)throw new TypeError("Invalid DAG-PB form");return typeof r.Name=="string"&&(e.Name=r.Name),typeof r.Tsize=="number"&&(e.Tsize=r.Tsize),e}function U(r){if((r instanceof Uint8Array||typeof r=="string")&&(r={Data:r}),typeof r!="object"||Array.isArray(r))throw new TypeError("Invalid DAG-PB form");let e={};if(r.Data!==void 0)if(typeof r.Data=="string")e.Data=Wn.encode(r.Data);else if(r.Data instanceof Uint8Array)e.Data=r.Data;else throw new TypeError("Invalid DAG-PB form");if(r.Links!==void 0)if(Array.isArray(r.Links))e.Links=r.Links.map(wo),e.Links.sort(go);else throw new TypeError("Invalid DAG-PB form");else e.Links=[];return e}function Kn(r){if(!r||typeof r!="object"||Array.isArray(r)||r instanceof Uint8Array||r["/"]&&r["/"]===r.bytes)throw new TypeError("Invalid DAG-PB form");if(!yo(r,Uu))throw new TypeError("Invalid DAG-PB form (extraneous properties)");if(r.Data!==void 0&&!(r.Data instanceof Uint8Array))throw new TypeError("Invalid DAG-PB form (Data must be bytes)");if(!Array.isArray(r.Links))throw new TypeError("Invalid DAG-PB form (Links must be a list)");for(let e=0;e<r.Links.length;e++){let t=r.Links[e];if(!t||typeof t!="object"||Array.isArray(t)||t instanceof Uint8Array||t["/"]&&t["/"]===t.bytes)throw new TypeError("Invalid DAG-PB form (bad link)");if(!yo(t,$u))throw new TypeError("Invalid DAG-PB form (extraneous properties on link)");if(t.Hash===void 0)throw new TypeError("Invalid DAG-PB form (link must have a Hash)");if(t.Hash==null||!t.Hash["/"]||t.Hash["/"]!==t.Hash.bytes)throw new TypeError("Invalid DAG-PB form (link Hash must be a CID)");if(t.Name!==void 0&&typeof t.Name!="string")throw new TypeError("Invalid DAG-PB form (link Name must be a string)");if(t.Tsize!==void 0){if(typeof t.Tsize!="number"||t.Tsize%1!==0)throw new TypeError("Invalid DAG-PB form (link Tsize must be an integer)");if(t.Tsize<0)throw new TypeError("Invalid DAG-PB form (link Tsize cannot be negative)")}if(e>0&&go(t,r.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}function xo(r,e=[]){return U({Data:r,Links:e})}function bo(r,e,t){return wo({Hash:t,Name:r,Tsize:e})}function _o(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var Mu="dag-pb",q=112;function T(r){Kn(r);let e={};return r.Links&&(e.Links=r.Links.map(t=>{let n={};return t.Hash&&(n.Hash=t.Hash.bytes),t.Name!==void 0&&(n.Name=t.Name),t.Tsize!==void 0&&(n.Tsize=t.Tsize),n})),r.Data&&(e.Data=r.Data),mo(e)}function R(r){let e=_o(r),t=lo(e),n={};return t.Data&&(n.Data=t.Data),t.Links&&(n.Links=t.Links.map(i=>{let o={};try{o.Hash=A.decode(i.Hash)}catch{}if(!o.Hash)throw new Error("Invalid Hash field found in link, expected CID");return i.Name!==void 0&&(o.Name=i.Name),i.Tsize!==void 0&&(o.Tsize=i.Tsize),o})),n}var Gt=class r extends Error{static name="InvalidTypeError";static code="ERR_INVALID_TYPE";name=r.name;code=r.code;constructor(e="Invalid type"){super(e)}},Cr=class r extends Error{static name="InvalidUnixFSMessageError";static code="ERR_INVALID_MESSAGE";name=r.name;code=r.code;constructor(e="Invalid message"){super(e)}};var Ru=Math.pow(2,7),Ou=Math.pow(2,14),Vu=Math.pow(2,21),ko=Math.pow(2,28),So=Math.pow(2,35),Eo=Math.pow(2,42),vo=Math.pow(2,49),J=128,Re=127;function Wt(r){if(r<Ru)return 1;if(r<Ou)return 2;if(r<Vu)return 3;if(r<ko)return 4;if(r<So)return 5;if(r<Eo)return 6;if(r<vo)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Bo(r,e,t=0){switch(Wt(r)){case 8:e[t++]=r&255|J,r/=128;case 7:e[t++]=r&255|J,r/=128;case 6:e[t++]=r&255|J,r/=128;case 5:e[t++]=r&255|J,r/=128;case 4:e[t++]=r&255|J,r>>>=7;case 3:e[t++]=r&255|J,r>>>=7;case 2:e[t++]=r&255|J,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function Io(r,e){let t=r[e],n=0;if(n+=t&Re,t<J||(t=r[e+1],n+=(t&Re)<<7,t<J)||(t=r[e+2],n+=(t&Re)<<14,t<J)||(t=r[e+3],n+=(t&Re)<<21,t<J)||(t=r[e+4],n+=(t&Re)*ko,t<J)||(t=r[e+5],n+=(t&Re)*So,t<J)||(t=r[e+6],n+=(t&Re)*Eo,t<J)||(t=r[e+7],n+=(t&Re)*vo,t<J))return n;throw new RangeError("Could not decode varint")}var Xn=new Float32Array([-0]),Oe=new Uint8Array(Xn.buffer);function Ao(r,e,t){Xn[0]=r,e[t]=Oe[0],e[t+1]=Oe[1],e[t+2]=Oe[2],e[t+3]=Oe[3]}function Co(r,e){return Oe[0]=r[e],Oe[1]=r[e+1],Oe[2]=r[e+2],Oe[3]=r[e+3],Xn[0]}var Jn=new Float64Array([-0]),K=new Uint8Array(Jn.buffer);function No(r,e,t){Jn[0]=r,e[t]=K[0],e[t+1]=K[1],e[t+2]=K[2],e[t+3]=K[3],e[t+4]=K[4],e[t+5]=K[5],e[t+6]=K[6],e[t+7]=K[7]}function To(r,e){return K[0]=r[e],K[1]=r[e+1],K[2]=r[e+2],K[3]=r[e+3],K[4]=r[e+4],K[5]=r[e+5],K[6]=r[e+6],K[7]=r[e+7],Jn[0]}var Hu=BigInt(Number.MAX_SAFE_INTEGER),ju=BigInt(Number.MIN_SAFE_INTEGER),ie=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)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)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let 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}static fromBigInt(e){if(e===0n)return We;if(e<Hu&&e>ju)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,i=e-(n<<32n);return t&&(n=~n|0n,i=~i|0n,++i>Do&&(i=0n,++n>Do&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(e){if(e===0)return We;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 r(n,i)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):We}},We=new ie(0,0);We.toBigInt=function(){return 0n};We.zzEncode=We.zzDecode=function(){return this};We.length=function(){return 1};var Do=4294967296n;function Lo(r){let e=0,t=0;for(let n=0;n<r.length;++n)t=r.charCodeAt(n),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function zo(r,e,t){if(t-e<1)return"";let i,o=[],s=0,a;for(;e<t;)a=r[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|r[e++]&63:a>239&&a<365?(a=((a&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function Zn(r,e,t){let n=t,i,o;for(let s=0;s<r.length;++s)i=r.charCodeAt(s),i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&((o=r.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128);return t-n}function we(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function Nr(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var Yn=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;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,we(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw we(this,4);return Nr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw we(this,4);return Nr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw we(this,4);let e=Co(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw we(this,4);let e=To(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw we(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return zo(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw we(this,e);this.pos+=e}else do if(this.pos>=this.len)throw we(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new ie(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw we(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw we(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw we(this,8);let e=Nr(this.buf,this.pos+=4),t=Nr(this.buf,this.pos+=4);return new ie(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=Io(this.buf,this.pos);return this.pos+=Wt(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Qn(r){return new Yn(r instanceof Uint8Array?r:r.subarray())}function Kt(r,e,t){let n=Qn(r);return e.decode(n,void 0,t)}var ei={};W(ei,{base10:()=>qu});var qu=$e({prefix:"9",name:"base10",alphabet:"0123456789"});var ti={};W(ti,{base16:()=>Gu,base16upper:()=>Wu});var Gu=P({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Wu=P({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ri={};W(ri,{base2:()=>Ku});var Ku=P({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ni={};W(ni,{base256emoji:()=>Qu});var Po=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}"),Xu=Po.reduce((r,e,t)=>(r[t]=e,r),[]),Ju=Po.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function Zu(r){return r.reduce((e,t)=>(e+=Xu[t],e),"")}function Yu(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let i=Ju[n];if(i==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}var Qu=ft({prefix:"\u{1F680}",name:"base256emoji",encode:Zu,decode:Yu});var ii={};W(ii,{base64:()=>Xt,base64pad:()=>ef,base64url:()=>tf,base64urlpad:()=>rf});var Xt=P({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ef=P({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),tf=P({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),rf=P({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var oi={};W(oi,{base8:()=>nf});var nf=P({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var si={};W(si,{identity:()=>of});var of=ft({prefix:"\0",name:"identity",encode:r=>Pn(r),decode:r=>Fn(r)});var wp=new TextEncoder,sf=new TextDecoder;var Uo=512;function $o(r){return JSON.parse(sf.decode(r))}var Ae={};W(Ae,{code:()=>Q,decode:()=>uf,encode:()=>cf,name:()=>af});var af="raw",Q=85;function cf(r){return he(r)}function uf(r){return he(r)}var ui={};W(ui,{identity:()=>ci});var Mo=0,ff="identity",Ro=he;function lf(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return pt(Mo,Ro(r))}var ci={code:Mo,name:ff,encode:Ro,digest:lf};var li={};W(li,{sha256:()=>oe,sha512:()=>df});var hf=20;function Ke({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:i}){return new fi(r,e,t,n,i)}var fi=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,i,o){this.name=e,this.code=t,this.encode=n,this.minDigestLength=i??hf,this.maxDigestLength=o}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Oo(n,this.code,t?.truncate):n.then(i=>Oo(i,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function Oo(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return pt(e,r)}function Ho(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var oe=Ke({name:"sha2-256",code:18,encode:Ho("SHA-256")}),df=Ke({name:"sha2-512",code:19,encode:Ho("SHA-512")});var hi={...si,...ri,...oi,...ei,...ti,...On,...Vn,...Hn,...ii,...ni},Tp={...li,...ui};function qo(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var jo=qo("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),di=qo("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=ne(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),pf={utf8:jo,"utf-8":jo,hex:hi.base16,latin1:di,ascii:di,binary:di,...hi},Tr=pf;function $(r,e="utf8"){let t=Tr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function pi(r){let e=r??8192,t=e>>>1,n,i=e;return function(s){if(s<1||s>t)return ne(s);i+s>e&&(n=ne(e),i=0);let a=n.subarray(i,i+=s);return(i&7)!==0&&(i=(i|7)+1),a}}var Xe=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function mi(){}var gi=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},mf=pi();function yf(r){return globalThis.Buffer!=null?ne(r):mf(r)}var Zt=class{len;head;tail;states;constructor(){this.len=0,this.head=new Xe(mi,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new Xe(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new wi((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Dr,10,ie.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=ie.fromBigInt(e);return this._push(Dr,t.length(),t)}uint64Number(e){return this._push(Bo,Wt(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=ie.fromBigInt(e).zzEncode();return this._push(Dr,t.length(),t)}sint64Number(e){let t=ie.fromNumber(e).zzEncode();return this._push(Dr,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(yi,1,e?1:0)}fixed32(e){return this._push(Jt,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=ie.fromBigInt(e);return this._push(Jt,4,t.lo)._push(Jt,4,t.hi)}fixed64Number(e){let t=ie.fromNumber(e);return this._push(Jt,4,t.lo)._push(Jt,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Ao,4,e)}double(e){return this._push(No,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(yi,1,0):this.uint32(t)._push(wf,t,e)}string(e){let t=Lo(e);return t!==0?this.uint32(t)._push(Zn,t,e):this._push(yi,1,0)}fork(){return this.states=new gi(this),this.head=this.tail=new Xe(mi,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Xe(mi,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=t,this.len+=n),this}finish(){let e=this.head.next,t=yf(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function yi(r,e,t){e[t]=r&255}function gf(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var wi=class extends Xe{next;constructor(e,t){super(gf,e,t),this.next=void 0}};function Dr(r,e,t){for(;r.hi!==0;)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}function Jt(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 wf(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(Zt.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(xf,e,r),this},Zt.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(bf,e,r),this});function xf(r,e,t){e.set(r,t)}function bf(r,e,t){r.length<40?Zn(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set($(r),t)}function xi(){return new Zt}function Yt(r,e){let t=xi();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var wt;(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"})(wt||(wt={}));function Lr(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function bi(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 Lr("enum",wt.VARINT,t,n)}function Qt(r,e){return Lr("message",wt.LENGTH_DELIMITED,r,e)}var xe;(function(r){let e;(function(i){i.Raw="Raw",i.Directory="Directory",i.File="File",i.Metadata="Metadata",i.Symlink="Symlink",i.HAMTShard="HAMTShard"})(e=r.DataType||(r.DataType={}));let t;(function(i){i[i.Raw=0]="Raw",i[i.Directory=1]="Directory",i[i.File=2]="File",i[i.Metadata=3]="Metadata",i[i.Symlink=4]="Symlink",i[i.HAMTShard=5]="HAMTShard"})(t||(t={})),(function(i){i.codec=()=>bi(t)})(e=r.DataType||(r.DataType={}));let n;r.codec=()=>(n==null&&(n=Qt((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.Type!=null&&(o.uint32(8),r.DataType.codec().encode(i.Type,o)),i.Data!=null&&(o.uint32(18),o.bytes(i.Data)),i.filesize!=null&&(o.uint32(24),o.uint64(i.filesize)),i.blocksizes!=null)for(let a of i.blocksizes)o.uint32(32),o.uint64(a);i.hashType!=null&&(o.uint32(40),o.uint64(i.hashType)),i.fanout!=null&&(o.uint32(48),o.uint64(i.fanout)),i.mode!=null&&(o.uint32(56),o.uint32(i.mode)),i.mtime!=null&&(o.uint32(66),zr.codec().encode(i.mtime,o)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={blocksizes:[]},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.Type=r.DataType.codec().decode(i);break;case 2:s.Data=i.bytes();break;case 3:s.filesize=i.uint64();break;case 4:s.blocksizes.push(i.uint64());break;case 5:s.hashType=i.uint64();break;case 6:s.fanout=i.uint64();break;case 7:s.mode=i.uint32();break;case 8:s.mtime=zr.codec().decode(i,i.uint32());break;default:i.skipType(c&7);break}}return s})),n),r.encode=i=>Yt(i,r.codec()),r.decode=i=>Kt(i,r.codec())})(xe||(xe={}));var zr;(function(r){let e;r.codec=()=>(e==null&&(e=Qt((t,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),t.Seconds!=null&&(n.uint32(8),n.int64(t.Seconds)),t.FractionalNanoseconds!=null&&(n.uint32(21),n.fixed32(t.FractionalNanoseconds)),i.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let i={},o=n==null?t.len:t.pos+n;for(;t.pos<o;){let s=t.uint32();switch(s>>>3){case 1:i.Seconds=t.int64();break;case 2:i.FractionalNanoseconds=t.fixed32();break;default:t.skipType(s&7);break}}return i})),e),r.encode=t=>Yt(t,r.codec()),r.decode=t=>Kt(t,r.codec())})(zr||(zr={}));var Go;(function(r){let e;r.codec=()=>(e==null&&(e=Qt((t,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),t.MimeType!=null&&(n.uint32(10),n.string(t.MimeType)),i.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let i={},o=n==null?t.len:t.pos+n;for(;t.pos<o;){let s=t.uint32();switch(s>>>3){case 1:i.MimeType=t.string();break;default:t.skipType(s&7);break}}return i})),e),r.encode=t=>Yt(t,r.codec()),r.decode=t=>Kt(t,r.codec())})(Go||(Go={}));var Wo={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},_f=["directory","hamt-sharded-directory"],Ko=parseInt("0644",8),Xo=parseInt("0755",8),Jo=BigInt(1024),I=class r{static unmarshal(e){let t=xe.decode(e);if(t.fanout!=null&&t.fanout>Jo)throw new Cr(`Fanout size was too large - ${t.fanout} > ${Jo}`);let n=new r({type:Wo[t.Type!=null?t.Type.toString():"File"],data:t.Data,blockSizes:t.blocksizes,mode:t.mode,mtime:t.mtime!=null?{secs:t.mtime.Seconds??0n,nsecs:t.mtime.FractionalNanoseconds}:void 0,fanout:t.fanout});return n._originalMode=t.mode??0,n}type;data;blockSizes;hashType;fanout;mtime;_mode;_originalMode;constructor(e={type:"file"}){let{type:t,data:n,blockSizes:i,hashType:o,fanout:s,mtime:a,mode:c}=e;if(t!=null&&!Object.values(Wo).includes(t))throw new Gt("Type: "+t+" is not valid");this.type=t??"file",this.data=n,this.hashType=o,this.fanout=s,this.blockSizes=i??[],this._originalMode=0,this.mode=c,this.mtime=a}set mode(e){e==null?this._mode=this.isDirectory()?Xo:Ko:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return _f.includes(this.type)}addBlockSize(e){this.blockSizes.push(e)}removeBlockSize(e){this.blockSizes.splice(e,1)}fileSize(){if(this.isDirectory())return 0n;let e=0n;return this.blockSizes.forEach(t=>{e+=t}),this.data!=null&&(e+=BigInt(this.data.length)),e}marshal(){let e;switch(this.type){case"raw":e=xe.DataType.Raw;break;case"directory":e=xe.DataType.Directory;break;case"file":e=xe.DataType.File;break;case"metadata":e=xe.DataType.Metadata;break;case"symlink":e=xe.DataType.Symlink;break;case"hamt-sharded-directory":e=xe.DataType.HAMTShard;break;default:throw new Gt(`Type: ${e} is not valid`)}let t=this.data;(this.data==null||this.data.length===0)&&(t=void 0);let n;this.mode!=null&&(n=this._originalMode&4294963200|(this.mode??0),n===Ko&&!this.isDirectory()&&(n=void 0),n===Xo&&this.isDirectory()&&(n=void 0));let i;return this.mtime!=null&&(i={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),xe.encode({Type:e,Data:t,filesize:this.isDirectory()?void 0:this.fileSize(),blocksizes:this.blockSizes,hashType:this.hashType,fanout:this.fanout,mode:n,mtime:i})}};var M=class extends Event{type;detail;constructor(e,t){super(e),this.type=e,this.detail=t}};var be=async(r,e,t)=>{t.codec==null&&(t.codec=V);let n=await oe.digest(r),i=A.create(t.cidVersion,t.codec.code,n);return await e.put(i,r,t),i};function Zo(r){return async function*(t,n){let i=0n;for await(let o of t.content)yield async()=>{let s,a={codec:V,cidVersion:r.cidVersion,onProgress:r.onProgress};r.rawLeaves?(a.codec=Ae,a.cidVersion=1):(s=new I({type:r.leafType,data:o}),o=T({Data:s.marshal(),Links:[]}));let c=await be(o,n,a);return i+=BigInt(o.byteLength),r.onProgress?.(new M("unixfs:importer:progress:file:write",{bytesWritten:i,cid:c,path:t.path})),{cid:c,unixfs:s,size:BigInt(o.length),block:o}}}}var Fr=class r extends Error{static name="InvalidParametersError";static code="ERR_INVALID_PARAMS";name=r.name;code=r.code;constructor(e="Invalid parameters"){super(e)}};var Ve=class r extends Error{static name="InvalidContentError";static code="ERR_INVALID_CONTENT";name=r.name;code=r.code;constructor(e="Invalid content"){super(e)}};var Yo=async(r,e,t)=>{let n=new I({type:"directory",mtime:r.mtime,mode:r.mode}),i=T(U({Data:n.marshal()})),o=await be(i,e,t),s=r.path;return{cid:o,path:s,unixfs:n,size:BigInt(i.length),originalPath:r.originalPath,block:i}};async function*kf(r,e,t){let n=-1,i;for await(let o of Ht(t.bufferImporter(r,e),t.blockWriteConcurrency)){if(n++,n===0){i={...o,single:!0};continue}else n===1&&i!=null&&(yield{...i,block:void 0,single:void 0},i=void 0);yield{...o,block:void 0}}i!=null&&(yield i)}function Qo(r){return r.single===!0}var Sf=(r,e,t)=>async function(i){if(i.length===1&&Qo(i[0])&&t.reduceSingleLeafToSelf){let f=i[0],l=f.block;return Qo(f)&&(r.mtime!==void 0||r.mode!==void 0)&&(f.unixfs=new I({type:"file",mtime:r.mtime,mode:r.mode,data:f.block}),l={Data:f.unixfs.marshal(),Links:[]},f.block=T(U(l)),f.cid=await be(f.block,e,{...t,cidVersion:t.cidVersion}),f.size=BigInt(f.block.length)),t.onProgress?.(new M("unixfs:importer:progress:file:layout",{cid:f.cid,path:f.originalPath})),{cid:f.cid,path:r.path,unixfs:f.unixfs,size:f.size,originalPath:f.originalPath}}let o=new I({type:"file",mtime:r.mtime,mode:r.mode}),s=i.filter(f=>f.cid.code===Q&&f.size>0||f.unixfs!=null&&f.unixfs.data==null&&f.unixfs.fileSize()>0n?!0:!!f.unixfs?.data?.length).map(f=>f.cid.code===Q?(o.addBlockSize(f.size),{Name:"",Tsize:Number(f.size),Hash:f.cid}):(f.unixfs?.data==null?o.addBlockSize(f.unixfs?.fileSize()??0n):o.addBlockSize(BigInt(f.unixfs.data.length)),{Name:"",Tsize:Number(f.size),Hash:f.cid})),a={Data:o.marshal(),Links:s},c=T(U(a)),h=await be(c,e,t);return t.onProgress?.(new M("unixfs:importer:progress:file:layout",{cid:h,path:r.originalPath})),{cid:h,path:r.path,unixfs:o,size:BigInt(c.length+a.Links.reduce((f,l)=>f+(l.Tsize??0),0)),originalPath:r.originalPath,block:c}},es=async(r,e,t)=>t.layout(kf(r,e,t),Sf(r,e,t));function Ef(r){return Symbol.iterator in r}function vf(r){return Symbol.asyncIterator in r}function Bf(r){try{if(r instanceof Uint8Array)return(async function*(){yield r})();if(Ef(r))return(async function*(){yield*r})();if(vf(r))return r}catch{throw new Ve("Content was invalid")}throw new Ve("Content was invalid")}function ts(r){return async function*(t,n){for await(let i of t){let o;if(i.path!=null&&(o=i.path,i.path=i.path.split("/").filter(s=>s!=null&&s!==".").join("/")),If(i)){let s={path:i.path,mtime:i.mtime,mode:i.mode,content:(async function*(){let c=0n;for await(let h of r.chunker(r.chunkValidator(Bf(i.content)))){let f=BigInt(h.byteLength);c+=f,r.onProgress?.(new M("unixfs:importer:progress:file:read",{bytesRead:c,chunkSize:f,path:i.path})),yield h}})(),originalPath:o},a=r.fileBuilder??es;yield async()=>a(s,n,r)}else if(i.path!=null){let s={path:i.path,mtime:i.mtime,mode:i.mode,originalPath:o},a=r.dirBuilder??Yo;yield async()=>a(s,n,r)}else throw new Error("Import candidate must have content or path or both")}}}function If(r){return r.content!=null}var rs=()=>async function*(e){for await(let t of e){if(t.length===void 0)throw new Ve("Content was invalid");if(typeof t=="string"||t instanceof String)yield $(t.toString());else if(Array.isArray(t))yield Uint8Array.from(t);else if(t instanceof Uint8Array)yield t;else throw new Ve("Content was invalid")}};var Af=174;function er(r){let e=r?.maxChildrenPerNode??Af;return async function t(n,i){let o=[];for await(let s of vr(n,e))o.push(await i(s));return o.length>1?t(o,i):o[0]}}function Cf(r){return r[Symbol.asyncIterator]!=null}function Nf(r){if(Cf(r))return(async()=>{let t=[];for await(let n of r)t.push(n);return t})();let e=[];for(let t of r)e.push(t);return e}var ns=Nf;var Ce=class{options;root;dir;path;dirty;flat;parent;parentKey;unixfs;mode;mtime;cid;size;nodeSize;constructor(e,t){this.options=t??{},this.root=e.root,this.dir=e.dir,this.path=e.path,this.dirty=e.dirty,this.flat=e.flat,this.parent=e.parent,this.parentKey=e.parentKey,this.unixfs=e.unixfs,this.mode=e.mode,this.mtime=e.mtime}},tr=A.parse("QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn"),rr=A.parse("zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi");var Je=class extends Ce{_children;constructor(e,t){super(e,t),this._children=new Map}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,this._children.set(e,t)}async get(e){return Promise.resolve(this._children.get(e))}childCount(){return this._children.size}directChildrenCount(){return this.childCount()}onlyChild(){return this._children.values().next().value}*eachChildSeries(){for(let[e,t]of this._children.entries())yield{key:e,child:t}}estimateNodeSize(){if(this.nodeSize!==void 0)return this.nodeSize;this.nodeSize=0;for(let[e,t]of this._children.entries())t.size!=null&&t.cid!=null&&(this.nodeSize+=e.length+(this.options.cidVersion===1?rr.bytes.byteLength:tr.bytes.byteLength));return this.nodeSize}async*flush(e){let t=[];for(let[c,h]of this._children.entries()){let f=h;if(h instanceof Ce)for await(let l of h.flush(e))f=l,yield l;f.size!=null&&f.cid!=null&&t.push({Name:c,Tsize:Number(f.size),Hash:f.cid})}let n=new I({type:"directory",mtime:this.mtime,mode:this.mode}),i={Data:n.marshal(),Links:t},o=T(U(i)),s=await be(o,e,this.options),a=o.length+i.Links.reduce((c,h)=>c+(h.Tsize??0),0);this.cid=s,this.size=a,yield{cid:s,unixfs:n,path:this.path,size:BigInt(a)}}};var Ur=$t(ss(),1);function Tf(r){let e=new Array(4);for(let t=0;t<4;t++)e[t]=r&255,r=r>>8;return new Uint8Array(e)}var t0=Ke({name:"murmur3-32",code:35,encode:r=>Tf(Ur.default.x86.hash32(r))}),Ze=Ke({name:"murmur3-128",code:34,encode:r=>ut.fromHex(Ur.default.x64.hash128(r))}),r0=Ke({name:"murmur3-x64-64",code:34,encode:r=>ut.fromHex(Ur.default.x64.hash128(r)).subarray(0,8)});var us=$t($r(),1);var se=class r{_options;_popCount;_parent;_posAtParent;_children;key;constructor(e,t,n=0){this._options=e,this._popCount=0,this._parent=t,this._posAtParent=n,this._children=new us.default,this.key=null}async put(e,t){let n=await this._findNewBucketAndPos(e);n.bucket._putAt(n,e,t)}async get(e){let t=await this._findChild(e);if(t!=null)return t.value}async del(e){let t=await this._findPlace(e),n=t.bucket._at(t.pos);n!=null&&n.key===e&&t.bucket._delAt(t.pos)}leafCount(){return this._children.compactArray().reduce((t,n)=>n instanceof r?t+n.leafCount():t+1,0)}childrenCount(){return this._children.length}onlyChild(){return this._children.get(0)}*eachLeafSeries(){let e=this._children.compactArray();for(let t of e)t instanceof r?yield*t.eachLeafSeries():yield t}serialize(e,t){let n=[];return t(this._children.reduce((i,o,s)=>(o!=null&&(o instanceof r?i.push(o.serialize(e,t)):i.push(e(o,s))),i),n))}async asyncTransform(e,t){return fs(this,e,t)}toJSON(){return this.serialize(Pf,Uf)}prettyPrint(){return JSON.stringify(this.toJSON(),null," ")}tableSize(){return Math.pow(2,this._options.bits)}async _findChild(e){let t=await this._findPlace(e),n=t.bucket._at(t.pos);if(!(n instanceof r)&&n!=null&&n.key===e)return n}async _findPlace(e){let t=this._options.hash(typeof e=="string"?$(e):e),n=await t.take(this._options.bits),i=this._children.get(n);return i instanceof r?i._findPlace(t):{bucket:this,pos:n,hash:t,existingChild:i}}async _findNewBucketAndPos(e){let t=await this._findPlace(e);if(t.existingChild!=null&&t.existingChild.key!==e){let n=new r(this._options,t.bucket,t.pos);t.bucket._putObjectAt(t.pos,n);let i=await n._findPlace(t.existingChild.hash);return i.bucket._putAt(i,t.existingChild.key,t.existingChild.value),n._findNewBucketAndPos(t.hash)}return t}_putAt(e,t,n){this._putObjectAt(e.pos,{key:t,value:n,hash:e.hash})}_putObjectAt(e,t){this._children.get(e)==null&&this._popCount++,this._children.set(e,t)}_delAt(e){if(e===-1)throw new Error("Invalid position");this._children.get(e)!=null&&this._popCount--,this._children.unset(e),this._level()}_level(){if(this._parent!=null&&this._popCount<=1)if(this._popCount===1){let e=this._children.find(Ff);if(e!=null&&!(e instanceof r)){let t=e.hash;t.untake(this._options.bits);let n={pos:this._posAtParent,hash:t,bucket:this._parent};this._parent._putAt(n,e.key,e.value)}}else this._parent._delAt(this._posAtParent)}_at(e){return this._children.get(e)}};function Ff(r){return!!r}function Pf(r,e){return r.key}function Uf(r){return r}async function fs(r,e,t){let n=[];for(let i of r._children.compactArray())if(i instanceof se)await fs(i,e,t);else{let o=await e(i);n.push({bitField:r._children.bitField(),children:o})}return t(n)}var $f=[255,254,252,248,240,224,192,128],Mf=[1,3,7,15,31,63,127,255],Mr=class{_value;_currentBytePos;_currentBitPos;constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let t=e,n=0;for(;t>0&&this._haveBits();){let i=this._value[this._currentBytePos],o=this._currentBitPos+1,s=Math.min(o,t),a=Rf(i,o-s,s);n=(n<<s)+a,t-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function Rf(r,e,t){let n=Of(e,t);return(r&n)>>>e}function Of(r,e){return $f[r]&Mf[Math.min(e+r-1,7)]}function ls(r){function e(t){return t instanceof Rr?t:new Rr(t,r)}return e}var Rr=class{_value;_hashFn;_depth;_availableBits;_currentBufferIndex;_buffers;constructor(e,t){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=t,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let t=e;for(;this._availableBits<t;)await this._produceMoreBits();let n=0;for(;t>0;){let i=this._buffers[this._currentBufferIndex],o=Math.min(i.availableBits(),t),s=i.take(o);n=(n<<o)+s,t-=o,this._availableBits-=o,i.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let t=e;for(;t>0;){let n=this._buffers[this._currentBufferIndex],i=Math.min(n.totalBits()-n.availableBits(),t);n.untake(i),t-=i,this._availableBits+=i,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?Ie([this._value,Uint8Array.from([this._depth])]):this._value,t=await this._hashFn(e),n=new Mr(t);this._buffers.push(n),this._availableBits+=n.availableBits()}};function xt(r){if(r==null||r.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:r.bits??8,hash:ls(r.hashFn)};return new se(e)}async function Vf(r){return(await Ze.encode(r)).slice(0,8).reverse()}var hs=BigInt(34),Hf=8,_i=class extends Ce{_bucket;constructor(e,t){super(e,t),this._bucket=xt({hashFn:Vf,bits:t.shardFanoutBits??Hf})}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,await this._bucket.put(e,t)}async get(e){return this._bucket.get(e)}childCount(){return this._bucket.leafCount()}directChildrenCount(){return this._bucket.childrenCount()}onlyChild(){return this._bucket.onlyChild()}*eachChildSeries(){for(let{key:e,value:t}of this._bucket.eachLeafSeries())yield{key:e,child:t}}estimateNodeSize(){return this.nodeSize!==void 0?this.nodeSize:(this.nodeSize=ms(this._bucket,this,this.options),this.nodeSize)}async*flush(e){for await(let t of ps(this._bucket,e,this,this.options))yield{...t,path:this.path}}},ds=_i;async function*ps(r,e,t,n){let i=r._children,o=(r.tableSize()-1).toString(16).length,s=[],a=0n;for(let d=0;d<i.length;d++){let m=i.get(d);if(m==null)continue;let x=d.toString(16).toUpperCase().padStart(o,"0");if(m instanceof se){let g;for await(let w of ps(m,e,null,n))g=w;if(g==null)throw new Error("Could not flush sharded directory, no subshard found");s.push({Name:x,Tsize:Number(g.size),Hash:g.cid}),a+=g.size}else if(jf(m.value)){let g=m.value,w;for await(let S of g.flush(e))w=S,yield w;if(w==null)throw new Error("Did not flush dir");let b=x+m.key;s.push({Name:b,Tsize:Number(w.size),Hash:w.cid}),a+=w.size}else{let g=m.value;if(g.cid==null)continue;let w=x+m.key,b=g.size;s.push({Name:w,Tsize:Number(b),Hash:g.cid}),a+=BigInt(b??0)}}let c=Uint8Array.from(i.bitField().reverse()),h=new I({type:"hamt-sharded-directory",data:c,fanout:BigInt(r.tableSize()),hashType:hs,mtime:t?.mtime,mode:t?.mode}),f={Data:h.marshal(),Links:s},l=T(U(f)),y=await be(l,e,n),u=BigInt(l.byteLength)+a;yield{cid:y,unixfs:h,size:u}}function jf(r){return typeof r.flush=="function"}function ms(r,e,t){let n=r._children,i=(r.tableSize()-1).toString(16).length,o=[];for(let h=0;h<n.length;h++){let f=n.get(h);if(f==null)continue;let l=h.toString(16).toUpperCase().padStart(i,"0");if(f instanceof se){let y=ms(f,null,t);o.push({Name:l,Tsize:Number(y),Hash:t.cidVersion===0?tr:rr})}else if(typeof f.value.flush=="function"){let u=f.value.nodeSize();o.push({Name:l+f.key,Tsize:Number(u),Hash:t.cidVersion===0?tr:rr})}else{let y=f.value;if(y.cid==null)continue;let u=l+f.key,d=y.size;o.push({Name:u,Tsize:Number(d),Hash:y.cid})}}let s=Uint8Array.from(n.bitField().reverse()),a=new I({type:"hamt-sharded-directory",data:s,fanout:BigInt(r.tableSize()),hashType:hs,mtime:e?.mtime,mode:e?.mode});return T(U({Data:a.marshal(),Links:o})).length}async function ki(r,e,t,n){let i=e;e instanceof Je&&e.estimateNodeSize()>t&&(i=await qf(e,n));let o=i.parent;if(o!=null){if(i!==e){if(r!=null&&(r.parent=i),i.parentKey==null)throw new Error("No parent key found");await o.put(i.parentKey,i)}return ki(i,o,t,n)}return i}async function qf(r,e){let t=new ds({root:r.root,dir:!0,parent:r.parent,parentKey:r.parentKey,path:r.path,dirty:r.dirty,flat:!1,mtime:r.mtime,mode:r.mode},e);for(let{key:n,child:i}of r.eachChildSeries())await t.put(n,i);return t}var ys=(r="")=>r.split(/(?<!\\)\//).filter(Boolean);async function Gf(r,e,t){let n=ys(r.path??""),i=n.length-1,o=e,s="";for(let a=0;a<n.length;a++){let c=n[a];s+=`${s!==""?"/":""}${c}`;let h=a===i;if(o.dirty=!0,o.cid=void 0,o.size=void 0,h)await o.put(c,r),e=await ki(null,o,t.shardSplitThresholdBytes,t);else{let f=await o.get(c);(f==null||!(f instanceof Ce))&&(f=new Je({root:!1,dir:!0,parent:o,parentKey:c,path:s,dirty:!0,flat:!0,mtime:f?.unixfs?.mtime,mode:f?.unixfs?.mode},t)),await o.put(c,f),o=f}}return e}async function*gs(r,e){if(!(r instanceof Ce)){r.unixfs?.isDirectory()===!0&&(yield r);return}yield*r.flush(e)}function ws(r){return async function*(t,n){let i=new Je({root:!0,dir:!0,path:"",dirty:!0,flat:!0},r),o,s=!1;for await(let a of t){if(a==null)continue;let c=`${a.originalPath??""}`.split("/")[0];c!=null&&c!==""&&(o==null?(o=c,s=!0):o!==c&&(s=!1)),i=await Gf(a,i,r),a.unixfs?.isDirectory()!==!0&&(yield a)}if(r.wrapWithDirectory||s&&i.childCount()>1)yield*gs(i,n);else for(let a of i.eachChildSeries())a!=null&&(yield*gs(a.child,n))}}async function*Ye(r,e,t={}){let n;Symbol.asyncIterator in r||Symbol.iterator in r?n=r:n=[r];let i=t.wrapWithDirectory??!1,o=t.shardSplitThresholdBytes??262144,s=t.shardFanoutBits??8,a=t.cidVersion??1,c=t.rawLeaves??!0,h=t.leafType??"file",f=t.fileImportConcurrency??50,l=t.blockWriteConcurrency??10,y=t.reduceSingleLeafToSelf??!0,u=t.chunker??jt(),d=t.chunkValidator??rs(),m=t.dagBuilder??ts({chunker:u,chunkValidator:d,wrapWithDirectory:i,layout:t.layout??er(),bufferImporter:t.bufferImporter??Zo({cidVersion:a,rawLeaves:c,leafType:h,onProgress:t.onProgress}),blockWriteConcurrency:l,reduceSingleLeafToSelf:y,cidVersion:a,onProgress:t.onProgress,dirBuilder:t.dirBuilder,fileBuilder:t.fileBuilder}),x=t.treeBuilder??ws({wrapWithDirectory:i,shardSplitThresholdBytes:o,shardFanoutBits:s,cidVersion:a,onProgress:t.onProgress});for await(let g of x(Ht(m(n,e),f),e))yield{cid:g.cid,path:g.path,unixfs:g.unixfs,size:g.size}}async function xs(r,e,t={}){let n=await Er(Ye([r],e,t));if(n==null)throw new Fr("Nothing imported");return n}async function bs(r,e,t={}){return xs({content:r},e,t)}async function _s(r,e,t={}){return xs({content:r},e,t)}function Wf(r){return r[Symbol.asyncIterator]!=null}function Kf(r){if(Wf(r))return(async()=>{let t;for await(let n of r)t=n;return t})();let e;for(let t of r)e=t;return e}var _e=Kf;var ke=class extends Error{name;code;constructor(e,t,n){super(e),this.name=t,this.code=n}},Ne=class extends ke{constructor(e="not a Unixfs node"){super(e,"NotUnixFSError","ERR_NOT_UNIXFS")}},ee=class extends ke{constructor(e="invalid PBNode"){super(e,"InvalidPBNodeError","ERR_INVALID_PB_NODE")}},He=class extends ke{constructor(e="unknown error"){super(e,"InvalidPBNodeError","ERR_UNKNOWN_ERROR")}},Qe=class extends ke{constructor(e="path already exists"){super(e,"AlreadyExistsError","ERR_ALREADY_EXISTS")}},Fe=class extends ke{constructor(e="path does not exist"){super(e,"DoesNotExistError","ERR_DOES_NOT_EXIST")}},bt=class extends ke{constructor(e="no content"){super(e,"NoContentError","ERR_NO_CONTENT")}},Or=class extends ke{constructor(e="not a file"){super(e,"NotAFileError","ERR_NOT_A_FILE")}},Te=class extends ke{constructor(e="not a directory"){super(e,"NotADirectoryError","ERR_NOT_A_DIRECTORY")}},F=class extends ke{constructor(e="invalid parameters"){super(e,"InvalidParametersError","ERR_INVALID_PARAMETERS")}};var ir={cidVersion:1,rawLeaves:!0,layout:er({maxChildrenPerNode:1024}),chunker:jt({chunkSize:1048576})};async function*Vr(r,e,t={}){yield*Ye(r,e,{...ir,...t})}async function ks(r,e,t={}){let{cid:n}=await bs(r,e,{...ir,...t});return n}async function Ss(r,e,t={}){let{cid:n}=await _s(r,e,{...ir,...t});return n}async function Es(r,e,t={}){if(r.path==null)throw new F("path is required");if(r.content==null)throw new F("content is required");let n=await _e(Vr([r],e,{...ir,...t,wrapWithDirectory:!0}));if(n==null)throw new F("Nothing imported");return n.cid}async function vs(r,e,t={}){if(r.content!=null)throw new F("Directories cannot have content, use addFile instead");let i=await(r.path==null?Er:_e)(Vr([{...r,path:r.path??"-"}],e,{...ir,...t,wrapWithDirectory:r.path!=null}));if(i==null)throw new F("Nothing imported");return i.cid}var Hr=class r extends Error{static name="BadPathError";static code="ERR_BAD_PATH";name=r.name;code=r.code;constructor(e="Bad path"){super(e)}},pe=class r extends Error{static name="NotFoundError";static code="ERR_NOT_FOUND";name=r.name;code=r.code;constructor(e="Not found"){super(e)}},jr=class r extends Error{static name="NoResolverError";static code="ERR_NO_RESOLVER";name=r.name;code=r.code;constructor(e="No resolver"){super(e)}},H=class r extends Error{static name="NotUnixFSError";static code="ERR_NOT_UNIXFS";name=r.name;code=r.code;constructor(e="Not UnixFS"){super(e)}},qr=class r extends Error{static name="OverReadError";static code="ERR_OVER_READ";name=r.name;code=r.code;constructor(e="Over read"){super(e)}},Gr=class r extends Error{static name="UnderReadError";static code="ERR_UNDER_READ";name=r.name;code=r.code;constructor(e="Under read"){super(e)}},Wr=class r extends Error{static name="NoPropError";static code="ERR_NO_PROP";name=r.name;code=r.code;constructor(e="No Property found"){super(e)}},et=class r extends Error{static name="InvalidParametersError";static code="ERR_INVALID_PARAMS";name=r.name;code=r.code;constructor(e="Invalid parameters"){super(e)}};var Xf=["string","number","bigint","symbol"],Jf=["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 Bs(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let e=typeof r;if(Xf.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(r))return"Array";if(Zf(r))return"Buffer";let t=Yf(r);return t||"Object"}function Zf(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function Yf(r){let e=Object.prototype.toString.call(r).slice(8,-1);if(Jf.includes(e))return e}var p=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}};p.uint=new p(0,"uint",!0);p.negint=new p(1,"negint",!0);p.bytes=new p(2,"bytes",!0);p.string=new p(3,"string",!0);p.array=new p(4,"array",!1);p.map=new p(5,"map",!1);p.tag=new p(6,"tag",!1);p.float=new p(7,"float",!0);p.false=new p(7,"false",!0);p.true=new p(7,"true",!0);p.null=new p(7,"null",!0);p.undefined=new p(7,"undefined",!0);p.break=new p(7,"break",!0);var _=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 _t=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Qf=new TextDecoder,el=new TextEncoder;function Kr(r){return _t&&globalThis.Buffer.isBuffer(r)}function Xr(r){return r instanceof Uint8Array?Kr(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Ns=_t?(r,e,t)=>t-e>64?globalThis.Buffer.from(r.subarray(e,t)).toString("utf8"):As(r,e,t):(r,e,t)=>t-e>64?Qf.decode(r.subarray(e,t)):As(r,e,t),Jr=_t?r=>r.length>64?globalThis.Buffer.from(r):Is(r):r=>r.length>64?el.encode(r):Is(r);var kt=_t?(r,e,t)=>Kr(r)?new Uint8Array(r.subarray(e,t)):r.slice(e,t):(r,e,t)=>r.slice(e,t),Ts=_t?(r,e)=>(r=r.map(t=>t instanceof Uint8Array?t:globalThis.Buffer.from(t)),Xr(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},Ds=_t?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function Ls(r,e){if(Kr(r)&&Kr(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 Is(r){let e=[],t=0;for(let n=0;n<r.length;n++){let i=r.charCodeAt(n);i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&n+1<r.length&&(r.charCodeAt(n+1)&64512)===56320?(i=65536+((i&1023)<<10)+(r.charCodeAt(++n)&1023),e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128)}return e}function As(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,h,f;switch(s){case 1:i<128&&(o=i);break;case 2:a=r[e+1],(a&192)===128&&(f=(i&31)<<6|a&63,f>127&&(o=f));break;case 3:a=r[e+1],c=r[e+2],(a&192)===128&&(c&192)===128&&(f=(i&15)<<12|(a&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:a=r[e+1],c=r[e+2],h=r[e+3],(a&192)===128&&(c&192)===128&&(h&192)===128&&(f=(i&15)<<18|(a&63)<<12|(c&63)<<6|h&63,f>65535&&f<1114112&&(o=f))}}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 Si(n)}var Cs=4096;function Si(r){let e=r.length;if(e<=Cs)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=Cs));return t}var tl=256,Zr=class{constructor(e=tl){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=Ds(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=kt(n,0,this.cursor)}else t=Ts(this.chunks,this.cursor);return e&&this.reset(),t}};var v="CBOR decode error:",St="CBOR encode error:",or=[];or[23]=1;or[24]=2;or[25]=3;or[26]=5;or[27]=9;function Pe(r,e,t){if(r.length-e<t)throw new Error(`${v} not enough data for type`)}var j=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ae(r,e,t){Pe(r,e,1);let n=r[e];if(t.strict===!0&&n<j[0])throw new Error(`${v} integer encoded in more bytes than necessary (strict decode)`);return n}function ce(r,e,t){Pe(r,e,2);let n=r[e]<<8|r[e+1];if(t.strict===!0&&n<j[1])throw new Error(`${v} integer encoded in more bytes than necessary (strict decode)`);return n}function ue(r,e,t){Pe(r,e,4);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];if(t.strict===!0&&n<j[2])throw new Error(`${v} integer encoded in more bytes than necessary (strict decode)`);return n}function fe(r,e,t){Pe(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<j[3])throw new Error(`${v} 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(`${v} integers outside of the safe integer range are not supported`)}function zs(r,e,t,n){return new _(p.uint,ae(r,e+1,n),2)}function Fs(r,e,t,n){return new _(p.uint,ce(r,e+1,n),3)}function Ps(r,e,t,n){return new _(p.uint,ue(r,e+1,n),5)}function Us(r,e,t,n){return new _(p.uint,fe(r,e+1,n),9)}function me(r,e){return G(r,0,e.value)}function G(r,e,t){if(t<j[0]){let n=Number(t);r.push([e|n])}else if(t<j[1]){let n=Number(t);r.push([e|24,n])}else if(t<j[2]){let n=Number(t);r.push([e|25,n>>>8,n&255])}else if(t<j[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<j[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(`${v} encountered BigInt larger than allowable range`)}}me.encodedSize=function(e){return G.encodedSize(e.value)};G.encodedSize=function(e){return e<j[0]?1:e<j[1]?2:e<j[2]?3:e<j[3]?5:9};me.compareTokens=function(e,t){return e.value<t.value?-1:e.value>t.value?1:0};function $s(r,e,t,n){return new _(p.negint,-1-ae(r,e+1,n),2)}function Ms(r,e,t,n){return new _(p.negint,-1-ce(r,e+1,n),3)}function Rs(r,e,t,n){return new _(p.negint,-1-ue(r,e+1,n),5)}var Ei=BigInt(-1),Os=BigInt(1);function Vs(r,e,t,n){let i=fe(r,e+1,n);if(typeof i!="bigint"){let o=-1-i;if(o>=Number.MIN_SAFE_INTEGER)return new _(p.negint,o,9)}if(n.allowBigInt!==!0)throw new Error(`${v} integers outside of the safe integer range are not supported`);return new _(p.negint,Ei-BigInt(i),9)}function Yr(r,e){let t=e.value,n=typeof t=="bigint"?t*Ei-Os:t*-1-1;G(r,e.type.majorEncoded,n)}Yr.encodedSize=function(e){let t=e.value,n=typeof t=="bigint"?t*Ei-Os:t*-1-1;return n<j[0]?1:n<j[1]?2:n<j[2]?3:n<j[3]?5:9};Yr.compareTokens=function(e,t){return e.value<t.value?1:e.value>t.value?-1:0};function sr(r,e,t,n){Pe(r,e,t+n);let i=kt(r,e+t,e+t+n);return new _(p.bytes,i,t+n)}function Hs(r,e,t,n){return sr(r,e,1,t)}function js(r,e,t,n){return sr(r,e,2,ae(r,e+1,n))}function qs(r,e,t,n){return sr(r,e,3,ce(r,e+1,n))}function Gs(r,e,t,n){return sr(r,e,5,ue(r,e+1,n))}function Ws(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${v} 64-bit integer bytes lengths not supported`);return sr(r,e,9,i)}function Qr(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===p.string?Jr(r.value):r.value),r.encodedBytes}function Et(r,e){let t=Qr(e);G(r,e.type.majorEncoded,t.length),r.push(t)}Et.encodedSize=function(e){let t=Qr(e);return G.encodedSize(t.length)+t.length};Et.compareTokens=function(e,t){return nl(Qr(e),Qr(t))};function nl(r,e){return r.length<e.length?-1:r.length>e.length?1:Ls(r,e)}function ar(r,e,t,n,i){let o=t+n;Pe(r,e,o);let s=new _(p.string,Ns(r,e+t,e+o),o);return i.retainStringBytes===!0&&(s.byteValue=kt(r,e+t,e+o)),s}function Ks(r,e,t,n){return ar(r,e,1,t,n)}function Xs(r,e,t,n){return ar(r,e,2,ae(r,e+1,n),n)}function Js(r,e,t,n){return ar(r,e,3,ce(r,e+1,n),n)}function Zs(r,e,t,n){return ar(r,e,5,ue(r,e+1,n),n)}function Ys(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${v} 64-bit integer string lengths not supported`);return ar(r,e,9,i,n)}var Qs=Et;function vt(r,e,t,n){return new _(p.array,n,t)}function ea(r,e,t,n){return vt(r,e,1,t)}function ta(r,e,t,n){return vt(r,e,2,ae(r,e+1,n))}function ra(r,e,t,n){return vt(r,e,3,ce(r,e+1,n))}function na(r,e,t,n){return vt(r,e,5,ue(r,e+1,n))}function ia(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${v} 64-bit integer array lengths not supported`);return vt(r,e,9,i)}function oa(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${v} indefinite length items not allowed`);return vt(r,e,1,1/0)}function en(r,e){G(r,p.array.majorEncoded,e.value)}en.compareTokens=me.compareTokens;en.encodedSize=function(e){return G.encodedSize(e.value)};function Bt(r,e,t,n){return new _(p.map,n,t)}function sa(r,e,t,n){return Bt(r,e,1,t)}function aa(r,e,t,n){return Bt(r,e,2,ae(r,e+1,n))}function ca(r,e,t,n){return Bt(r,e,3,ce(r,e+1,n))}function ua(r,e,t,n){return Bt(r,e,5,ue(r,e+1,n))}function fa(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${v} 64-bit integer map lengths not supported`);return Bt(r,e,9,i)}function la(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${v} indefinite length items not allowed`);return Bt(r,e,1,1/0)}function tn(r,e){G(r,p.map.majorEncoded,e.value)}tn.compareTokens=me.compareTokens;tn.encodedSize=function(e){return G.encodedSize(e.value)};function ha(r,e,t,n){return new _(p.tag,t,1)}function da(r,e,t,n){return new _(p.tag,ae(r,e+1,n),2)}function pa(r,e,t,n){return new _(p.tag,ce(r,e+1,n),3)}function ma(r,e,t,n){return new _(p.tag,ue(r,e+1,n),5)}function ya(r,e,t,n){return new _(p.tag,fe(r,e+1,n),9)}function rn(r,e){G(r,p.tag.majorEncoded,e.value)}rn.compareTokens=me.compareTokens;rn.encodedSize=function(e){return G.encodedSize(e.value)};var ul=20,fl=21,ll=22,hl=23;function ga(r,e,t,n){if(n.allowUndefined===!1)throw new Error(`${v} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new _(p.null,null,1):new _(p.undefined,void 0,1)}function wa(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${v} indefinite length items not allowed`);return new _(p.break,void 0,1)}function vi(r,e,t){if(t){if(t.allowNaN===!1&&Number.isNaN(r))throw new Error(`${v} NaN values are not supported`);if(t.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${v} Infinity values are not supported`)}return new _(p.float,r,e)}function xa(r,e,t,n){return vi(Bi(r,e+1),3,n)}function ba(r,e,t,n){return vi(Ii(r,e+1),5,n)}function _a(r,e,t,n){return vi(va(r,e+1),9,n)}function nn(r,e,t){let n=e.value;if(n===!1)r.push([p.float.majorEncoded|ul]);else if(n===!0)r.push([p.float.majorEncoded|fl]);else if(n===null)r.push([p.float.majorEncoded|ll]);else if(n===void 0)r.push([p.float.majorEncoded|hl]);else{let i,o=!1;(!t||t.float64!==!0)&&(Sa(n),i=Bi(Se,1),n===i||Number.isNaN(n)?(Se[0]=249,r.push(Se.slice(0,3)),o=!0):(Ea(n),i=Ii(Se,1),n===i&&(Se[0]=250,r.push(Se.slice(0,5)),o=!0))),o||(dl(n),i=va(Se,1),Se[0]=251,r.push(Se.slice(0,9)))}}nn.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){Sa(n);let i=Bi(Se,1);if(n===i||Number.isNaN(n))return 3;if(Ea(n),i=Ii(Se,1),n===i)return 5}return 9};var ka=new ArrayBuffer(9),ye=new DataView(ka,1),Se=new Uint8Array(ka,0);function Sa(r){if(r===1/0)ye.setUint16(0,31744,!1);else if(r===-1/0)ye.setUint16(0,64512,!1);else if(Number.isNaN(r))ye.setUint16(0,32256,!1);else{ye.setFloat32(0,r);let e=ye.getUint32(0),t=(e&2139095040)>>23,n=e&8388607;if(t===255)ye.setUint16(0,31744,!1);else if(t===0)ye.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let i=t-127;i<-24?ye.setUint16(0,0):i<-14?ye.setUint16(0,(e&2147483648)>>16|1<<24+i,!1):ye.setUint16(0,(e&2147483648)>>16|i+15<<10|n>>13,!1)}}}function Bi(r,e){if(r.length-e<2)throw new Error(`${v} 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 Ea(r){ye.setFloat32(0,r,!1)}function Ii(r,e){if(r.length-e<4)throw new Error(`${v} not enough data for float32`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,4).getFloat32(0,!1)}function dl(r){ye.setFloat64(0,r,!1)}function va(r,e){if(r.length-e<8)throw new Error(`${v} not enough data for float64`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,8).getFloat64(0,!1)}nn.compareTokens=me.compareTokens;function D(r,e,t){throw new Error(`${v} encountered invalid minor (${t}) for major ${r[e]>>>5}`)}function on(r){return()=>{throw new Error(`${v} ${r}`)}}var k=[];for(let r=0;r<=23;r++)k[r]=D;k[24]=zs;k[25]=Fs;k[26]=Ps;k[27]=Us;k[28]=D;k[29]=D;k[30]=D;k[31]=D;for(let r=32;r<=55;r++)k[r]=D;k[56]=$s;k[57]=Ms;k[58]=Rs;k[59]=Vs;k[60]=D;k[61]=D;k[62]=D;k[63]=D;for(let r=64;r<=87;r++)k[r]=Hs;k[88]=js;k[89]=qs;k[90]=Gs;k[91]=Ws;k[92]=D;k[93]=D;k[94]=D;k[95]=on("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)k[r]=Ks;k[120]=Xs;k[121]=Js;k[122]=Zs;k[123]=Ys;k[124]=D;k[125]=D;k[126]=D;k[127]=on("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)k[r]=ea;k[152]=ta;k[153]=ra;k[154]=na;k[155]=ia;k[156]=D;k[157]=D;k[158]=D;k[159]=oa;for(let r=160;r<=183;r++)k[r]=sa;k[184]=aa;k[185]=ca;k[186]=ua;k[187]=fa;k[188]=D;k[189]=D;k[190]=D;k[191]=la;for(let r=192;r<=215;r++)k[r]=ha;k[216]=da;k[217]=pa;k[218]=ma;k[219]=ya;k[220]=D;k[221]=D;k[222]=D;k[223]=D;for(let r=224;r<=243;r++)k[r]=on("simple values are not supported");k[244]=D;k[245]=D;k[246]=D;k[247]=ga;k[248]=on("simple values are not supported");k[249]=xa;k[250]=ba;k[251]=_a;k[252]=D;k[253]=D;k[254]=D;k[255]=wa;var Ee=[];for(let r=0;r<24;r++)Ee[r]=new _(p.uint,r,1);for(let r=-1;r>=-24;r--)Ee[31-r]=new _(p.negint,r,1);Ee[64]=new _(p.bytes,new Uint8Array(0),1);Ee[96]=new _(p.string,"",1);Ee[128]=new _(p.array,0,1);Ee[160]=new _(p.map,0,1);Ee[244]=new _(p.false,!1,1);Ee[245]=new _(p.true,!0,1);Ee[246]=new _(p.null,null,1);function ml(){let r=[];return r[p.uint.major]=me,r[p.negint.major]=Yr,r[p.bytes.major]=Et,r[p.string.major]=Qs,r[p.array.major]=en,r[p.map.major]=tn,r[p.tag.major]=rn,r[p.float.major]=nn,r}var qy=ml(),Gy=new Zr,sn=class r{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(`${St} object contains circular references`);return new r(t,e)}},je={null:new _(p.null,null),undefined:new _(p.undefined,void 0),true:new _(p.true,!0),false:new _(p.false,!1),emptyArray:new _(p.array,0),emptyMap:new _(p.map,0)},qe={number(r,e,t,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new _(p.float,r):r>=0?new _(p.uint,r):new _(p.negint,r)},bigint(r,e,t,n){return r>=BigInt(0)?new _(p.uint,r):new _(p.negint,r)},Uint8Array(r,e,t,n){return new _(p.bytes,r)},string(r,e,t,n){return new _(p.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.bytes,new Uint8Array(r))},DataView(r,e,t,n){return new _(p.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.break)]:je.emptyArray;n=sn.createCheck(n,r);let i=[],o=0;for(let s of r)i[o++]=Ai(s,t,n);return t.addBreakTokens?[new _(p.array,r.length),i,new _(p.break)]:[new _(p.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.break)]:je.emptyMap;n=sn.createCheck(n,r);let a=[],c=0;for(let h of o)a[c++]=[Ai(h,t,n),Ai(i?r.get(h):r[h],t,n)];return yl(a,t),t.addBreakTokens?[new _(p.map,s),a,new _(p.break)]:[new _(p.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 Ai(r,e={},t){let n=Bs(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(`${St} unsupported type: ${n}`);return o(r,n,e,t)}function yl(r,e){e.mapSorter&&r.sort(e.mapSorter)}var gl={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},an=class{constructor(e,t={}){this._pos=0,this.data=e,this.options=t}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],t=Ee[e];if(t===void 0){let n=k[e];if(!n)throw new Error(`${v} 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}},cr=Symbol.for("DONE"),cn=Symbol.for("BREAK");function wl(r,e,t){let n=[];for(let i=0;i<r.value;i++){let o=It(e,t);if(o===cn){if(r.value===1/0)break;throw new Error(`${v} got unexpected break to lengthed array`)}if(o===cr)throw new Error(`${v} found array but not enough entries (got ${i}, expected ${r.value})`);n[i]=o}return n}function xl(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=It(e,t);if(a===cn){if(r.value===1/0)break;throw new Error(`${v} got unexpected break to lengthed map`)}if(a===cr)throw new Error(`${v} found map but not enough entries (got ${s} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${v} non-string keys not supported (got ${typeof a})`);if(t.rejectDuplicateMapKeys===!0&&(n&&o.has(a)||!n&&a in i))throw new Error(`${v} found repeat map key "${a}"`);let c=It(e,t);if(c===cr)throw new Error(`${v} 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 It(r,e){if(r.done())return cr;let t=r.next();if(t.type===p.break)return cn;if(t.type.terminal)return t.value;if(t.type===p.array)return wl(t,r,e);if(t.type===p.map)return xl(t,r,e);if(t.type===p.tag){if(e.tags&&typeof e.tags[t.value]=="function"){let n=It(r,e);return e.tags[t.value](n)}throw new Error(`${v} tag not supported (${t.value})`)}throw new Error("unsupported")}function Ci(r,e){if(!(r instanceof Uint8Array))throw new Error(`${v} data to decode must be a Uint8Array`);e=Object.assign({},gl,e);let t=e.tokenizer||new an(r,e),n=It(t,e);if(n===cr)throw new Error(`${v} did not find any content to decode`);if(n===cn)throw new Error(`${v} got unexpected break`);return[n,r.subarray(t.pos())]}function ur(r,e){let[t,n]=Ci(r,e);if(n.length>0)throw new Error(`${v} too many terminals, data makes no sense`);return t}var Ia=42;function kl(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}function Sl(r){if(r.asCID!==r&&r["/"]!==r.bytes)return null;let e=A.asCID(r);if(!e)return null;let t=new Uint8Array(e.bytes.byteLength+1);return t.set(e.bytes,1),[new _(p.tag,Ia),new _(p.bytes,t)]}function El(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function vl(r){if(Number.isNaN(r))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(r===1/0||r===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}function Bl(r){for(let e of r.keys())if(typeof e!="string"||e.length===0)throw new Error("Non-string Map keys are not supported by the IPLD Data Model and cannot be encoded");return null}var Ba={float64:!0,typeEncoders:{Map:Bl,Object:Sl,undefined:El,number:vl}},rg={...Ba,typeEncoders:{...Ba.typeEncoders}};function Il(r){if(r[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return A.decode(r.subarray(1))}var un={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};un.tags[Ia]=Il;var ng={...un,tags:un.tags.slice()};var Aa=113;var Ca=r=>ur(kl(r),un);var Ta=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let t=this.inRecursive[this.inRecursive.length-1];t&&(t.type===p.array&&(t.elements++,t.elements!==1&&e.push([44])),t.type===p.map&&(t.elements++,t.elements!==1&&(t.elements%2===1?e.push([44]):e.push([58]))))}[p.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)}[p.negint.major](e,t){this[p.uint.major](e,t)}[p.bytes.major](e,t){throw new Error(`${St} unsupported type: Uint8Array`)}[p.string.major](e,t){this.prefix(e);let n=Jr(JSON.stringify(t.value));e.push(n.length>32?Xr(n):n)}[p.array.major](e,t){this.prefix(e),this.inRecursive.push({type:p.array,elements:0}),e.push([91])}[p.map.major](e,t){this.prefix(e),this.inRecursive.push({type:p.map,elements:0}),e.push([123])}[p.tag.major](e,t){}[p.float.major](e,t){if(t.type.name==="break"){let s=this.inRecursive.pop();if(s){if(s.type===p.array)e.push([93]);else if(s.type===p.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(`${St} 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 At=class{constructor(e,t={}){this._pos=0,this.data=e,this.options=t,this.modeStack=["value"],this.lastToken=""}pos(){return this._pos}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(`${v} 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(`${v} 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.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(`${v} unexpected token at position ${this._pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${v} 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.float,s,this._pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(s)?new _(s>=0?p.uint:p.negint,s,this._pos-e):new _(s>=0?p.uint:p.negint,BigInt(o),this._pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${v} 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.string,c,s)}}let e=this._pos,t=[],n=()=>{if(this._pos+4>=this.data.length)throw new Error(`${v} 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(`${v} 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(`${v} unexpected unicode sequence at position ${this._pos}`);let c,h,f,l;switch(a){case 1:o<128&&(s=o);break;case 2:c=this.data[this._pos+1],(c&192)===128&&(l=(o&31)<<6|c&63,l>127&&(s=l));break;case 3:c=this.data[this._pos+1],h=this.data[this._pos+2],(c&192)===128&&(h&192)===128&&(l=(o&15)<<12|(c&63)<<6|h&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:c=this.data[this._pos+1],h=this.data[this._pos+2],f=this.data[this._pos+3],(c&192)===128&&(h&192)===128&&(f&192)===128&&(l=(o&15)<<18|(c&63)<<12|(h&63)<<6|f&63,l>65535&&l<1114112&&(s=l))}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(`${v} 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(`${v} unexpected string escape character at position ${this._pos}`)}break;case 34:return this._pos++,new _(p.string,Si(t),this._pos-e);default:if(o<32)throw new Error(`${v} invalid control character at position ${this._pos}`);o<128?(t.push(o),this._pos++):i()}}throw new Error(`${v} unexpected end of string at position ${this._pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this._pos++,new _(p.map,1/0,1);case 91:return this.modeStack.push("array-start"),this._pos++,new _(p.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new _(p.null,null,4);case 102:return this.expect([102,97,108,115,101]),new _(p.false,!1,5);case 116:return this.expect([116,114,117,101]),new _(p.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(`${v} 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.break,void 0,1);if(this.ch()!==44)throw new Error(`${v} 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.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.break,void 0,1);if(this.ch()!==44)throw new Error(`${v} 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.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${v} 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(`${v} unexpected parse state at position ${this._pos}; this shouldn't happen`)}}};function Ni(r,e){return e=Object.assign({tokenizer:new At(r,e)},e),ur(r,e)}function Nl(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var Ti=class extends At{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===p.map){let t=this._next();if(t.type===p.string&&t.value==="/"){let n=this._next();if(n.type===p.string){if(this._next().type!==p.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new _(p.tag,42,0)}if(n.type===p.map){let i=this._next();if(i.type===p.string&&i.value==="bytes"){let o=this._next();if(o.type===p.string){for(let a=0;a<2;a++)if(this._next().type!==p.break)throw new Error("Invalid encoded Bytes form");let s=Xt.decode(`m${o.value}`);return new _(p.bytes,s,o.value.length)}this.tokenBuffer.push(o)}this.tokenBuffer.push(i)}this.tokenBuffer.push(n)}this.tokenBuffer.push(t)}return e}},Di={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Di.tags[42]=A.parse;var Da=297;var La=r=>{let e=Nl(r),t=Object.assign(Di,{tokenizer:new Ti(e,Di)});return Ni(e,t)};var _g=new TextDecoder;var kg=new TextEncoder;function Tl(r){return r[Symbol.asyncIterator]!=null}function Dl(r){if(Tl(r))return(async()=>{let n=new Uint8Array(0);for await(let i of r)n=Ie([n,i],n.length+i.length);return n})();let e=[],t=0;for(let n of r)e.push(n),t+=n.byteLength;return Ie(e,t)}var z=Dl;function Ct(r,e,t,n,i,o,s){let a=r,c=i;for(;o.length>0;){let h=o[0];if(h in a){o.shift(),c=`${c}/${h}`;let f=A.asCID(a[h]);if(f!=null)return{entry:{type:"object",name:n,path:i,cid:t,node:e,depth:s,size:BigInt(e.length),content:async function*(){yield r}},next:{cid:f,name:h,path:c,toResolve:o}};a=a[h]}else throw new Wr(`No property named ${h} found in node ${t}`)}return{entry:{type:"object",name:n,path:i,cid:t,node:e,depth:s,size:BigInt(e.length),content:async function*(){yield r}}}}var Ll=async(r,e,t,n,i,o,s,a)=>{let c=await z(s.get(r,a)),h=Ca(c);return Ct(h,c,r,e,t,n,o)},Fa=Ll;var zl=async(r,e,t,n,i,o,s,a)=>{let c=await z(s.get(r,a)),h=La(c);return Ct(h,c,r,e,t,n,o)},Pa=zl;function Fl(r,e,t,n){let i=BigInt(r.length),o=BigInt(e+i);return t>=o||n<e?new Uint8Array(0):(n>=e&&n<o&&(r=r.subarray(0,Number(n-e))),t>=e&&t<o&&(r=r.subarray(Number(t-e))),r)}var rt=Fl;var Pl=(r,e=0,t=r)=>{let n=BigInt(r),i=BigInt(e??0),o=BigInt(t);if(o!==n&&(o=i+o),o>n&&(o=n),i<0n)throw new et("Offset must be greater than or equal to 0");if(i>n)throw new et("Offset must be less than the file size");if(o<0n)throw new et("Length must be greater than or equal to 0");if(o>n)throw new et("Length must be less than the file size");return{start:i,end:o}},Nt=Pl;var Ul=r=>{async function*e(t={}){let{start:n,end:i}=Nt(r.length,t.offset,t.length),o=rt(r,0n,n,i);t.onProgress?.(new M("unixfs:exporter:progress:identity",{bytesRead:BigInt(o.byteLength),totalBytes:i-n,fileSize:BigInt(r.byteLength)})),yield o}return e},$l=async(r,e,t,n,i,o,s,a)=>{if(n.length>0)throw new pe(`No link named ${t} found in raw node ${r}`);let c=Sr(r.multihash.bytes);return{entry:{type:"identity",name:e,path:t,cid:r,content:Ul(c.digest),depth:o,size:BigInt(c.digest.length),node:c.digest}}},Ua=$l;var Ml=async(r,e,t,n,i,o,s,a)=>{let c=await z(s.get(r,a)),h=$o(c);return Ct(h,c,r,e,t,n,o)},$a=Ml;var Rl=r=>{async function*e(t={}){let{start:n,end:i}=Nt(r.length,t.offset,t.length),o=rt(r,0n,n,i);t.onProgress?.(new M("unixfs:exporter:progress:raw",{bytesRead:BigInt(o.byteLength),totalBytes:i-n,fileSize:BigInt(r.byteLength)})),yield o}return e},Ol=async(r,e,t,n,i,o,s,a)=>{if(n.length>0)throw new pe(`No link named ${t} found in raw node ${r}`);let c=await z(s.get(r,a));return{entry:{type:"raw",name:e,path:t,cid:r,content:Rl(c),depth:o,size:BigInt(c.length),node:c}}},Ma=Ol;var Vl=async function(r){return(await Ze.encode(r)).slice(0,8).reverse()},Hl=async(r,e,t)=>{let n=(e.tableSize()-1).toString(16).length;await Promise.all(r.map(async i=>{if(i.Name==null)throw new Error("Unexpected Link without a Name");if(i.Name.length===n){let o=parseInt(i.Name,16);e._putObjectAt(o,new se({hash:t._options.hash,bits:t._options.bits},e,o));return}await t.put(i.Name.substring(2),!0)}))},Ra=(r,e)=>r.toString(16).toUpperCase().padStart(e,"0").substring(0,e),jl=r=>{let e=r.bucket,t=[];for(;e._parent!=null;)t.push(e),e=e._parent;return t.push(e),t.reverse()},Oa=async(r,e,t,n,i)=>{if(n==null){if(r.Data==null)throw new H("no data in PBNode");let l;try{l=I.unmarshal(r.Data)}catch(u){throw new H(u.message)}if(l.type!=="hamt-sharded-directory")throw new H("not a HAMT");if(l.fanout==null)throw new H("missing fanout");let y=xt({hashFn:Vl,bits:Math.log2(Number(l.fanout))});n={rootBucket:y,hamtDepth:1,lastBucket:y}}let o=(n.lastBucket.tableSize()-1).toString(16).length;await Hl(r.Links,n.lastBucket,n.rootBucket);let s=await n.rootBucket._findNewBucketAndPos(e),a=Ra(s.pos,o),c=jl(s);c.length>n.hamtDepth&&(n.lastBucket=c[n.hamtDepth],a=Ra(n.lastBucket._posAtParent,o));let h=r.Links.find(l=>{if(l.Name==null)return!1;let y=l.Name.substring(0,o),u=l.Name.substring(o);return!(y!==a||u!==""&&u!==e)});if(h==null)return;if(h.Name!=null&&h.Name.substring(o)===e)return h.Hash;n.hamtDepth++;let f=await z(t.get(h.Hash,i));return r=R(f),Oa(r,e,t,n,i)},Va=Oa;function Tt(r){return r?.extended===!1}function ql(r){let[e,t]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[t](){return this}}}var fn=ql;function Gl(r){return r[Symbol.asyncIterator]!=null}function Wl(r,e){let t=0;if(Gl(r))return(async function*(){for await(let c of r)await e(c,t++)&&(yield c)})();let n=fn(r),{value:i,done:o}=n.next();if(o===!0)return(function*(){})();let s=e(i,t++);if(typeof s.then=="function")return(async function*(){await s&&(yield i);for(let c of n)await e(c,t++)&&(yield c)})();let a=e;return(function*(){s===!0&&(yield i);for(let c of n)a(c,t++)&&(yield c)})()}var Ha=Wl;function Kl(r){return r[Symbol.asyncIterator]!=null}function Xl(r,e){let t=0;if(Kl(r))return(async function*(){for await(let c of r)yield e(c,t++)})();let n=fn(r),{value:i,done:o}=n.next();if(o===!0)return(function*(){})();let s=e(i,t++);if(typeof s.then=="function")return(async function*(){yield await s;for(let c of n)yield e(c,t++)})();let a=e;return(function*(){yield s;for(let c of n)yield a(c,t++)})()}var Dt=Xl;function te(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var ln=globalThis.CustomEvent??Event;async function*nt(r,e={}){let t=e.concurrency??1/0;t<1&&(t=1/0);let n=e.ordered??!1,i=new EventTarget,o=[],s=te(),a=te(),c=!1,h,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let d of r){if(o.length===t&&(s=te(),await s.promise),f)break;let m={done:!1};o.push(m),d().then(x=>{m.done=!0,m.ok=!0,m.value=x,i.dispatchEvent(new ln("task-complete"))},x=>{m.done=!0,m.err=x,i.dispatchEvent(new ln("task-complete"))})}c=!0,i.dispatchEvent(new ln("task-complete"))}catch(d){h=d,i.dispatchEvent(new ln("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(d=>d.done)}function*y(){for(;o.length>0&&o[0].done;){let d=o[0];if(o.shift(),d.ok)yield d.value;else throw f=!0,s.resolve(),d.err;s.resolve()}}function*u(){for(;l();)for(let d=0;d<o.length;d++)if(o[d].done){let m=o[d];if(o.splice(d,1),d--,m.ok)yield m.value;else throw f=!0,s.resolve(),m.err;s.resolve()}}for(;;){if(l()||(a=te(),await a.promise),h!=null||(n?yield*y():yield*u(),h!=null))throw h;if(c&&o.length===0)break}}var hn=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)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}},Lt=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new hn(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 hn(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()}};var Li=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function dn(r={}){return Jl(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 Jl(r,e){e=e??{};let t=e.onEnd,n=new Lt,i,o,s,a=te(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((x,g)=>{o=w=>{o=null,n.push(w);try{x(r(n))}catch(b){g(b)}return i}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=te()})}},h=x=>o!=null?o(x):(n.push(x),i),f=x=>(n=new Lt,o!=null?o({error:x}):(n.push({error:x}),i)),l=x=>{if(s)return i;if(e?.objectMode!==!0&&x?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return h({done:!1,value:x})},y=x=>s?i:(s=!0,x!=null?f(x):h({done:!0})),u=()=>(n=new Lt,y(),{done:!0}),d=x=>(y(x),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:u,throw:d,push:l,end:y,get readableLength(){return n.size},onEmpty:async x=>{let g=x?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let w,b;g!=null&&(w=new Promise((S,B)=>{b=()=>{B(new Li)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,w])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},t==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(x){return m.throw(x),t!=null&&(t(x),t=void 0),{done:!0}},return(){return m.return(),t!=null&&(t(),t=void 0),{done:!0}},push:l,end(x){return m.end(x),t!=null&&(t(x),t=void 0),i},get readableLength(){return m.readableLength},onEmpty:x=>m.onEmpty(x)},i}var pn=class extends Error{type;code;constructor(e,t,n){super(e??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=t??"ABORT_ERR"}};async function ja(r,e,t){if(e==null)return r;if(e.aborted)return r.catch(()=>{}),Promise.reject(new pn(t?.errorMessage,t?.errorCode,t?.errorName));let n,i=new pn(t?.errorMessage,t?.errorCode,t?.errorName);try{return await Promise.race([r,new Promise((o,s)=>{n=()=>{s(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var zi=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=te(),this.haveNext=te()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=te(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),e}async push(e,t){await this._push(e,t)}async end(e,t){e!=null?await this.throw(e):await this._push(void 0,t)}async _push(e,t){if(e!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=te(),await ja(this.readNext.promise,t?.signal,t)}};function qa(){return new zi}function Zl(r){return r[Symbol.asyncIterator]!=null}async function Yl(r,e,t){try{await Promise.all(r.map(async n=>{for await(let i of n)await e.push(i,{signal:t}),t.throwIfAborted()})),await e.end(void 0,{signal:t})}catch(n){await e.end(n,{signal:t}).catch(()=>{})}}async function*Ql(r){let e=new AbortController,t=qa();Yl(r,t,e.signal).catch(()=>{});try{yield*t}finally{e.abort()}}function*eh(r){for(let e of r)yield*e}function th(...r){let e=[];for(let t of r)Zl(t)||e.push(t);return e.length===r.length?eh(e):Ql(r)}var Ga=th;function De(r,...e){if(r==null)throw new Error("Empty pipeline");if(Fi(r)){let n=r;r=()=>n.source}else if(Ka(r)||Wa(r)){let n=r;r=()=>n}let t=[r,...e];if(t.length>1&&Fi(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++)Fi(t[n])&&(t[n]=nh(t[n]));return rh(...t)}var rh=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},Wa=r=>r?.[Symbol.asyncIterator]!=null,Ka=r=>r?.[Symbol.iterator]!=null,Fi=r=>r==null?!1:r.sink!=null&&r.source!=null,nh=r=>e=>{let t=r.sink(e);if(t?.then!=null){let n=dn({objectMode:!0});t.then(()=>{n.end()},s=>{n.end(s)});let i,o=r.source;if(Wa(o))i=async function*(){yield*o,n.end()};else if(Ka(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Ga(n,i())}return r.source};var ih=(r,e,t,n,i,o,s)=>{async function*a(c={}){let h=c.offset??0,f=c.length??e.Links.length,l=e.Links.slice(h,f);c.onProgress?.(new M("unixfs:exporter:walk:directory",{cid:r})),yield*De(l,y=>Dt(y,u=>async()=>{let d=u.Name??"",m=`${n}/${d}`;return Tt(c)?{cid:u.Hash,name:d,path:m}:(await i(u.Hash,d,m,[],o+1,s,c)).entry}),y=>nt(y,{ordered:!0,concurrency:c.blockReadConcurrency}),y=>Ha(y,u=>u!=null))}return a},Xa=ih;var Ui=$t(Za(),1);var $i=class r extends Error{name="TimeoutError";constructor(e,t){super(e,t),Error.captureStackTrace?.(this,r)}},Ya=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function Mi(r,e){let{milliseconds:t,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout},signal:s}=e,a,c,f=new Promise((l,y)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(s?.aborted){y(Ya(s));return}if(s&&(c=()=>{y(Ya(s))},s.addEventListener("abort",c,{once:!0})),r.then(l,y),t===Number.POSITIVE_INFINITY)return;let u=new $i;a=o.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(d){y(d)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?l():i instanceof Error?y(i):(u.message=i??`Promise timed out after ${t} milliseconds`,y(u))},t)}).finally(()=>{f.clear(),c&&s&&s.removeEventListener("abort",c)});return f.clear=()=>{o.clearTimeout.call(void 0,a),a=void 0},f}function Ri(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 lr=class{#e=[];enqueue(e,t){let{priority:n=0,id:i}=t??{},o={priority:n,id:i,run:e};if(this.size===0||this.#e[this.size-1].priority>=n){this.#e.push(o);return}let s=Ri(this.#e,o,(a,c)=>c.priority-a.priority);this.#e.splice(s,0,o)}setPriority(e,t){let n=this.#e.findIndex(o=>o.id===e);if(n===-1)throw new ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[i]=this.#e.splice(n,1);this.enqueue(i.run,{priority:t,id:e})}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return this.#e.length}};var hr=class extends Ui.default{#e;#r;#i=0;#l;#s=!1;#a=!1;#h;#x=0;#y=0;#o;#c;#t;#b;#n=0;#d;#u;#B=1n;#p=new Map;timeout;constructor(e){if(super(),e={carryoverIntervalCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:lr,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${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 \`${e.interval?.toString()??""}\` (${typeof e.interval})`);if(this.#e=e.carryoverIntervalCount??e.carryoverConcurrencyCount??!1,this.#r=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#l=e.intervalCap,this.#h=e.interval,this.#t=new e.queueClass,this.#b=e.queueClass,this.concurrency=e.concurrency,e.timeout!==void 0&&!(Number.isFinite(e.timeout)&&e.timeout>0))throw new TypeError(`Expected \`timeout\` to be a positive finite number, got \`${e.timeout}\` (${typeof e.timeout})`);this.timeout=e.timeout,this.#u=e.autoStart===!1,this.#z()}get#I(){return this.#r||this.#i<this.#l}get#A(){return this.#n<this.#d}#C(){this.#n--,this.#n===0&&this.emit("pendingZero"),this.#g(),this.emit("next")}#N(){this.#E(),this.#S(),this.#c=void 0}get#T(){let e=Date.now();if(this.#o===void 0){let t=this.#x-e;if(t<0){if(this.#y>0){let n=e-this.#y;if(n<this.#h)return this.#_(this.#h-n),!0}this.#i=this.#e?this.#n:0}else return this.#_(t),!0}return!1}#_(e){this.#c===void 0&&(this.#c=setTimeout(()=>{this.#N()},e))}#k(){this.#o&&(clearInterval(this.#o),this.#o=void 0)}#D(){this.#c&&(clearTimeout(this.#c),this.#c=void 0)}#g(){if(this.#t.size===0)return this.#k(),this.emit("empty"),this.#n===0&&(this.#D(),this.emit("idle")),!1;let e=!1;if(!this.#u){let t=!this.#T;if(this.#I&&this.#A){let n=this.#t.dequeue();this.#r||(this.#i++,this.#m()),this.emit("active"),this.#y=Date.now(),n(),t&&this.#S(),e=!0}}return e}#S(){this.#r||this.#o!==void 0||(this.#o=setInterval(()=>{this.#E()},this.#h),this.#x=Date.now()+this.#h)}#E(){this.#i===0&&this.#n===0&&this.#o&&this.#k(),this.#i=this.#e?this.#n:0,this.#w(),this.#m()}#w(){for(;this.#g(););}get concurrency(){return this.#d}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})`);this.#d=e,this.#w()}async#L(e){return new Promise((t,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}setPriority(e,t){if(typeof t!="number"||!Number.isFinite(t))throw new TypeError(`Expected \`priority\` to be a finite number, got \`${t}\` (${typeof t})`);this.#t.setPriority(e,t)}async add(e,t={}){return t.id??=(this.#B++).toString(),t={timeout:this.timeout,...t},new Promise((n,i)=>{let o=Symbol(`task-${t.id}`);this.#t.enqueue(async()=>{this.#n++,this.#p.set(o,{id:t.id,priority:t.priority??0,startTime:Date.now(),timeout:t.timeout});try{try{t.signal?.throwIfAborted()}catch(c){throw this.#r||this.#i--,this.#p.delete(o),c}let s=e({signal:t.signal});t.timeout&&(s=Mi(Promise.resolve(s),{milliseconds:t.timeout,message:`Task timed out after ${t.timeout}ms (queue has ${this.#n} running, ${this.#t.size} waiting)`})),t.signal&&(s=Promise.race([s,this.#L(t.signal)]));let a=await s;n(a),this.emit("completed",a)}catch(s){i(s),this.emit("error",s)}finally{this.#p.delete(o),queueMicrotask(()=>{this.#C()})}},t),this.emit("add"),this.#g()})}async addAll(e,t){return Promise.all(e.map(async n=>this.add(n,t)))}start(){return this.#u?(this.#u=!1,this.#w(),this):this}pause(){this.#u=!0}clear(){this.#t=new this.#b,this.#v()}async onEmpty(){this.#t.size!==0&&await this.#f("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#f("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#f("idle")}async onPendingZero(){this.#n!==0&&await this.#f("pendingZero")}async onRateLimit(){this.isRateLimited||await this.#f("rateLimit")}async onRateLimitCleared(){this.isRateLimited&&await this.#f("rateLimitCleared")}async onError(){return new Promise((e,t)=>{let n=i=>{this.off("error",n),t(i)};this.on("error",n)})}async#f(e,t){return new Promise(n=>{let i=()=>{t&&!t()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#u}#z(){this.#r||(this.on("add",()=>{this.#t.size>0&&this.#m()}),this.on("next",()=>{this.#m()}))}#m(){this.#r||this.#a||(this.#a=!0,queueMicrotask(()=>{this.#a=!1,this.#v()}))}#v(){let e=this.#s,t=!this.#r&&this.#i>=this.#l&&this.#t.size>0;t!==e&&(this.#s=t,this.emit(t?"rateLimit":"rateLimitCleared"))}get isRateLimited(){return this.#s}get isSaturated(){return this.#n===this.#d&&this.#t.size>0||this.isRateLimited&&this.#t.size>0}get runningTasks(){return[...this.#p.values()].map(e=>({...e}))}};async function Qa(r,e,t,n,i,o,s){if(e instanceof Uint8Array){let h=rt(e,n,i,o);t.push(h);return}if(e.Data==null)throw new H("no data in PBNode");let a;try{a=I.unmarshal(e.Data)}catch(h){throw new H(h.message)}if(a.data!=null){let h=a.data,f=rt(h,n,i,o);t.push(f),n+=BigInt(f.byteLength)}let c=[];if(e.Links.length!==a.blockSizes.length)throw new H("Inconsistent block sizes and dag links");for(let h=0;h<e.Links.length;h++){let f=e.Links[h],l=n,y=l+a.blockSizes[h];if((i>=l&&i<y||o>=l&&o<=y||i<l&&o>y)&&c.push({link:f,blockStart:n}),n=y,n>o)break}await De(c,h=>Dt(h,f=>async()=>{let l=await z(r.get(f.link.Hash,s));return{...f,block:l}}),h=>nt(h,{ordered:!0,concurrency:s.blockReadConcurrency}),async h=>{for await(let{link:f,block:l,blockStart:y}of h){let u;switch(f.Hash.code){case q:u=R(l);break;case Q:u=l;break;default:t.end(new H(`Unsupported codec: ${f.Hash.code}`));return}let d=new hr({concurrency:1});d.on("error",m=>{t.end(m)}),d.add(async()=>{s.onProgress?.(new M("unixfs:exporter:walk:file",{cid:f.Hash})),await Qa(r,u,t,y,i,o,s)}),await d.onIdle()}}),n>=o&&t.end()}var ah=(r,e,t,n,i,o,s)=>{async function*a(c={}){let h=t.fileSize();if(h===void 0)throw new Error("File was a directory");let{start:f,end:l}=Nt(h,c.offset,c.length);if(l===0n)return;let y=0n,u=l-f,d=dn();c.onProgress?.(new M("unixfs:exporter:walk:file",{cid:r})),Qa(s,e,d,0n,f,l,c).catch(m=>{d.end(m)});for await(let m of d)if(m!=null){if(y+=BigInt(m.byteLength),y>u)throw d.end(),new qr("Read too many bytes - the file size reported by the UnixFS data in the root node may be incorrect");y===u&&d.end(),c.onProgress?.(new M("unixfs:exporter:progress:unixfs:file",{bytesRead:y,totalBytes:u,fileSize:h})),yield m}if(y<u)throw new Gr("Traversed entire DAG but did not read enough bytes")}return a},Oi=ah;var ch=(r,e,t,n,i,o,s)=>{function a(c={}){return c.onProgress?.(new M("unixfs:exporter:walk:hamt-sharded-directory",{cid:r})),ec(e,n,i,o,s,c)}return a};async function*ec(r,e,t,n,i,o){let s=r.Links;if(r.Data==null)throw new H("no data in PBNode");let a;try{a=I.unmarshal(r.Data)}catch(f){throw new H(f.message)}if(a.fanout==null)throw new H("missing fanout");let c=(a.fanout-1n).toString(16).length,h=De(s,f=>Dt(f,l=>async()=>{let y=l.Name!=null?l.Name.substring(c):null;if(y!=null&&y!==""){let u=`${e}/${y}`;return Tt(o)?{entries:[{cid:l.Hash,name:y,path:u}]}:{entries:[(await t(l.Hash,y,u,[],n+1,i,o)).entry].filter(Boolean)}}else{let u=await z(i.get(l.Hash,o));return r=R(u),o.onProgress?.(new M("unixfs:exporter:walk:hamt-sharded-directory",{cid:l.Hash})),{entries:ec(r,e,t,n,i,o)}}}),f=>nt(f,{ordered:!0,concurrency:o.blockReadConcurrency}));for await(let{entries:f}of h)yield*f}var tc=ch;var uh=(r,e)=>r.Links.find(n=>n.Name===e)?.Hash,fh={raw:Oi,file:Oi,directory:Xa,"hamt-sharded-directory":tc,metadata:(r,e,t,n,i,o,s)=>()=>[],symlink:(r,e,t,n,i,o,s)=>()=>[]},lh=async(r,e,t,n,i,o,s,a)=>{if(Tt(a)&&n.length===0)return{entry:{cid:r,name:e,path:t}};let c=await z(s.get(r,a)),h=R(c),f,l;if(e==null&&(e=r.toString()),h.Data==null)throw new H("no data in PBNode");try{f=I.unmarshal(h.Data)}catch(u){throw new H(u.message)}if(t==null&&(t=e),n.length>0){let u;if(f?.type==="hamt-sharded-directory"?u=await Va(h,n[0],s):u=uh(h,n[0]),u==null)throw new pe("file does not exist");let d=n.shift(),m=`${t}/${d}`;l={cid:u,toResolve:n,name:d??"",path:m}}let y=fh[f.type](r,h,f,t,i,o,s);if(y==null)throw new pe("could not find content exporter");return f.isDirectory()?{entry:{type:"directory",name:e,path:t,cid:r,content:y,unixfs:f,depth:o,node:h,size:f.fileSize()},next:l}:{entry:{type:"file",name:e,path:t,cid:r,content:y,unixfs:f,depth:o,node:h,size:f.fileSize()},next:l}},rc=lh;var hh={[q]:rc,[Q]:Ma,[Aa]:Fa,[Da]:Pa,[ci.code]:Ua,[Uo]:$a},nc=async(r,e,t,n,i,o,s)=>{let a=hh[r.code];if(a==null)throw new jr(`No resolver for code ${r.code}`);return a(r,e,t,n,nc,i,o,s)},ic=nc;var dh=(r="")=>(r.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),ph=r=>{if(r instanceof Uint8Array)return{cid:A.decode(r),toResolve:[]};let e=A.asCID(r);if(e!=null)return{cid:e,toResolve:[]};if(typeof r=="string"){r.indexOf("/ipfs/")===0&&(r=r.substring(6));let t=dh(r);return{cid:A.parse(t[0]),toResolve:t.slice(1)}}throw new Hr(`Unknown path type ${r}`)};async function*Vi(r,e,t={}){let{cid:n,toResolve:i}=ph(r),o=n.toString(),s=o,a=i.length;for(;;){let c=await ic(n,o,s,i,a,e,t);if(c.entry==null&&c.next==null)throw new pe(`Could not resolve ${r}`);if(c.entry!=null&&(yield c.entry),c.next==null)return;i=c.next.toResolve,n=c.next.cid,o=c.next.name,s=c.next.path}}async function Y(r,e,t={}){let n=await _e(Vi(r,e,t));if(n==null)throw new pe(`Could not resolve ${r}`);return n}async function*yn(r,e,t={}){let n=await Y(r,e,t);if(n==null)return;if(yield n,n.type==="directory")for await(let o of i(n,t))yield o;async function*i(o,s){for await(let a of o.content(s))yield a,!(a instanceof Uint8Array)&&a.type==="directory"&&(yield*i(a,s))}}function mh(r,e){if(typeof r=="string")return yh(r);if(typeof r=="number")return xh(r,e);throw Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(r)}`)}var gn=mh;function yh(r){if(typeof r!="string"||r.length===0||r.length>100)throw Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(r)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(r);if(!e?.groups)return NaN;let{value:t,unit:n="ms"}=e.groups,i=parseFloat(t),o=n.toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return i*315576e5;case"months":case"month":case"mo":return i*26298e5;case"weeks":case"week":case"w":return i*6048e5;case"days":case"day":case"d":return i*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return i*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return i*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return i*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:throw Error(`Unknown unit "${o}" provided to ms.parse(). value=${JSON.stringify(r)}`)}}function gh(r){let e=Math.abs(r);return e>=315576e5?`${Math.round(r/315576e5)}y`:e>=26298e5?`${Math.round(r/26298e5)}mo`:e>=6048e5?`${Math.round(r/6048e5)}w`:e>=864e5?`${Math.round(r/864e5)}d`:e>=36e5?`${Math.round(r/36e5)}h`:e>=6e4?`${Math.round(r/6e4)}m`:e>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function wh(r){let e=Math.abs(r);return e>=315576e5?it(r,e,315576e5,"year"):e>=26298e5?it(r,e,26298e5,"month"):e>=6048e5?it(r,e,6048e5,"week"):e>=864e5?it(r,e,864e5,"day"):e>=36e5?it(r,e,36e5,"hour"):e>=6e4?it(r,e,6e4,"minute"):e>=1e3?it(r,e,1e3,"second"):`${r} ms`}function xh(r,e){if(typeof r!="number"||!Number.isFinite(r))throw Error("Value provided to ms.format() must be of type number.");return e?.long?wh(r):gh(r)}function it(r,e,t,n){let i=e>=t*1.5;return`${Math.round(r/t)} ${n}${i?"s":""}`}function Hi(r){t.debug=t,t.default=t,t.coerce=c,t.disable=o,t.enable=i,t.enabled=s,t.humanize=gn,t.destroy=h,Object.keys(r).forEach(f=>{t[f]=r[f]}),t.names=[],t.skips=[],t.formatters={};function e(f){let l=0;for(let y=0;y<f.length;y++)l=(l<<5)-l+f.charCodeAt(y),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=e;function t(f,l){let y,u=null,d,m;function x(...g){if(!x.enabled)return;let w=x,b=Number(new Date),S=b-(y||b);w.diff=S,w.prev=y,w.curr=b,y=b,g[0]=t.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let B=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(E,L)=>{if(E==="%%")return"%";B++;let le=t.formatters[L];if(typeof le=="function"){let ct=g[B];E=le.call(w,ct),g.splice(B,1),B--}return E}),t.formatArgs.call(w,g),l?.onLog!=null&&l.onLog(...g),(w.log||t.log).apply(w,g)}return x.namespace=f,x.useColors=t.useColors(),x.color=t.selectColor(f),x.extend=n,x.destroy=t.destroy,Object.defineProperty(x,"enabled",{enumerable:!0,configurable:!1,get:()=>u!==null?u:(d!==t.namespaces&&(d=t.namespaces,m=t.enabled(f)),m),set:g=>{u=g}}),typeof t.init=="function"&&t.init(x),x}function n(f,l){let y=t(this.namespace+(typeof l>"u"?":":l)+f);return y.log=this.log,y}function i(f){t.save(f),t.namespaces=f,t.names=[],t.skips=[];let l,y=(typeof f=="string"?f:"").split(/[\s,]+/),u=y.length;for(l=0;l<u;l++)y[l]&&(f=y[l].replace(/\*/g,".*?"),f[0]==="-"?t.skips.push(new RegExp("^"+f.substr(1)+"$")):t.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...t.names.map(a),...t.skips.map(a).map(l=>"-"+l)].join(",");return t.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,y;for(l=0,y=t.skips.length;l<y;l++)if(t.skips[l].test(f))return!1;for(l=0,y=t.names.length;l<y;l++)if(t.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack??f.message:f}function h(){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.setupFormatters(t.formatters),t.enable(t.load()),t}var wn=Bh(),bh=["#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 _h(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function kh(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+gn(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)}var Sh=console.debug??console.log??(()=>{});function Eh(r){try{r?wn?.setItem("debug",r):wn?.removeItem("debug")}catch{}}function vh(){let r;try{r=wn?.getItem("debug")}catch{}return!r&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(r=globalThis.process.env.DEBUG),r}function Bh(){try{return localStorage}catch{}}function Ih(r){r.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}}var oc=Hi({formatArgs:kh,save:Eh,load:vh,useColors:_h,setupFormatters:Ih,colors:bh,storage:wn,log:Sh});var re=oc;re.formatters.b=r=>r==null?"undefined":de.baseEncode(r);re.formatters.t=r=>r==null?"undefined":Me.baseEncode(r);re.formatters.m=r=>r==null?"undefined":Xt.baseEncode(r);re.formatters.p=r=>r==null?"undefined":r.toString();re.formatters.c=r=>r==null?"undefined":r.toString();re.formatters.k=r=>r==null?"undefined":r.toString();re.formatters.a=r=>r==null?"undefined":r.toString();function ji(r){let e=sc(r.message),t=sc(r.stack);return e!=null&&t!=null?t.includes(e)?t:`${e}
3
+ ${t}`:t??e??r.toString()}function Ah(r){return r?.name==="AggregateError"}re.formatters.e=r=>{if(r==null)return"undefined";if(Ah(r)){let e=" ",t=ji(r);return r.errors.length>0?t+=`
4
+ ${e}${r.errors.map(n=>` ${ji(n).split(`
5
+ `).join(`
6
+ ${e}`)}`).join(`
7
+ ${e}`)}`:t+=`
8
+ ${e}[Error list was empty]`,t.trim()}return ji(r)};function Ch(r){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=r,e.destroy=()=>!0,e.extend=()=>e,e}function O(r,e){let t=Ch(`${r}:trace`);return re.enabled(`${r}:trace`)&&re.names.map(n=>n.toString()).find(n=>n.includes(":trace"))!=null&&(t=re(`${r}:trace`,e)),Object.assign(re(r,e),{error:re(`${r}:error`,e),trace:t,newScope:n=>O(`${r}:${n}`,e)})}function sc(r){if(r!=null&&(r=r.trim(),r.length!==0))return r}var Ki=$t($r(),1);function bn(r){function e(t){return t instanceof xn?t:new xn(t,r)}return e}var xn=class{_value;_hashFn;_depth;_availableBits;_currentBufferIndex;_buffers;constructor(e,t){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=t,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let t=e;for(;this._availableBits<t;)await this._produceMoreBits();let n=0;for(;t>0;){let i=this._buffers[this._currentBufferIndex],o=Math.min(i.availableBits(),t),s=i.take(o);n=(n<<o)+s,t-=o,this._availableBits-=o,i.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let t=e;for(;t>0;){let n=this._buffers[this._currentBufferIndex],i=Math.min(n.totalBits()-n.availableBits(),t);n.untake(i),t-=i,this._availableBits+=i,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?Ie([this._value,Uint8Array.from([this._depth])]):this._value,t=await this._hashFn(e),n=new qi(t);this._buffers.push(n),this._availableBits+=n.availableBits()}},Nh=[255,254,252,248,240,224,192,128],Th=[1,3,7,15,31,63,127,255],qi=class{_value;_currentBytePos;_currentBitPos;constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let t=e,n=0;for(;t>0&&this._haveBits();){let i=this._value[this._currentBytePos],o=this._currentBitPos+1,s=Math.min(o,t),a=Dh(i,o-s,s);n=(n<<s)+a,t-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function Dh(r,e,t){let n=Lh(e,t);return(r&n)>>>e}function Lh(r,e){return Nh[r]&Th[Math.min(e+r-1,7)]}var dr=BigInt(Ze.code),ot=8;async function zt(r){return(await Ze.encode(r)).subarray(0,8).reverse()}var uc=$t($r(),1);var ve=async(r,e,t)=>{t.codec==null&&(t.codec=V);let n=await oe.digest(r),i=A.create(t.cidVersion??1,t.codec.code,n);return await e.put(i,r,{...t,signal:t.signal}),i};var Gi=class{options;root;dir;path;dirty;flat;parent;parentKey;unixfs;mode;mtime;cid;size;nodeSize;constructor(e,t){this.options=t??{},this.root=e.root,this.dir=e.dir,this.path=e.path,this.dirty=e.dirty,this.flat=e.flat,this.parent=e.parent,this.parentKey=e.parentKey,this.unixfs=e.unixfs,this.mode=e.mode,this.mtime=e.mtime}},_n=class extends Gi{_bucket;constructor(e,t){super(e,t),this._bucket=xt({hashFn:zt,bits:8})}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,await this._bucket.put(e,t)}async get(e){return this._bucket.get(e)}childCount(){return this._bucket.leafCount()}directChildrenCount(){return this._bucket.childrenCount()}onlyChild(){return this._bucket.onlyChild()}async*eachChildSeries(){for(let{key:e,value:t}of this._bucket.eachLeafSeries())yield{key:e,child:t}}estimateNodeSize(){return this.nodeSize!==void 0?this.nodeSize:(this.nodeSize=cc(this._bucket,this,this.options),this.nodeSize)}async*flush(e){for await(let t of ac(this._bucket,e,this,this.options))yield{...t,path:this.path}}};async function*ac(r,e,t,n){let i=r._children,o=[],s=0n;for(let u=0;u<i.length;u++){let d=i.get(u);if(d==null)continue;let m=u.toString(16).toUpperCase().padStart(2,"0");if(d instanceof se){let x;for await(let g of ac(d,e,null,n))x=g;if(x==null)throw new Error("Could not flush sharded directory, no sub-shard found");o.push({Name:m,Tsize:Number(x.size),Hash:x.cid}),s+=x.size}else if(Fh(d.value)){let x=d.value,g;for await(let b of x.flush(e))g=b,yield g;if(g==null)throw new Error("Did not flush dir");let w=m+d.key;o.push({Name:w,Tsize:Number(g.size),Hash:g.cid}),s+=g.size}else{let x=d.value;if(x.cid==null)continue;let g=m+d.key,w=x.size;o.push({Name:g,Tsize:Number(w),Hash:x.cid}),s+=BigInt(w??0)}}let a=Uint8Array.from(i.bitField().reverse()),c=new I({type:"hamt-sharded-directory",data:a,fanout:BigInt(r.tableSize()),hashType:dr,mtime:t?.mtime,mode:t?.mode}),h={Data:c.marshal(),Links:o},f=T(U(h)),l=await ve(f,e,n),y=BigInt(f.byteLength)+s;yield{cid:l,unixfs:c,size:y}}function Fh(r){return typeof r.flush=="function"}function cc(r,e,t){let n=r._children,i=[];for(let c=0;c<n.length;c++){let h=n.get(c);if(h==null)continue;let f=c.toString(16).toUpperCase().padStart(2,"0");if(h instanceof se){let l=cc(h,null,t);i.push({Name:f,Tsize:Number(l),Hash:t.cidVersion===0?kn:Sn})}else if(typeof h.value.flush=="function"){let y=h.value.nodeSize();i.push({Name:f+h.key,Tsize:Number(y),Hash:t.cidVersion===0?kn:Sn})}else{let l=h.value;if(l.cid==null)continue;let y=f+h.key,u=l.size;i.push({Name:y,Tsize:Number(u),Hash:l.cid})}}let o=Uint8Array.from(n.bitField().reverse()),s=new I({type:"hamt-sharded-directory",data:o,fanout:BigInt(r.tableSize()),hashType:dr,mtime:e?.mtime,mode:e?.mode});return T(U({Data:s.marshal(),Links:i})).length}var kn=A.parse("QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn"),Sn=A.parse("zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi");var Wi=O("helia:unixfs:commands:utils:hamt-utils"),En=r=>r.toString(16).toUpperCase().padStart(2,"0").substring(0,2),fc=async(r,e,t)=>{let n=new _n({root:!0,dir:!0,parent:void 0,parentKey:void 0,path:"",dirty:!0,flat:!1,mtime:t.mtime,mode:t.mode},t);for(let o=0;o<e.length;o++)await n._bucket.put(e[o].name,{size:e[o].size,cid:e[o].cid});let i=await _e(n.flush(r));if(i==null)throw new Error("Flushing shard yielded no result");return i},vn=async(r,e,t)=>{let n=I.unmarshal(r[0].node.Data??new Uint8Array(0)),i=BigInt(Math.pow(2,ot));r.reverse();let o,s;for(let a=0;a<r.length;a++){let c=a===r.length-1,h=r[a],f=Uint8Array.from(h.children.bitField().reverse()),l=new I({type:"hamt-sharded-directory",data:f,fanout:i,hashType:dr});c&&(l.mtime=n.mtime,l.mode=n.mode),s={Data:l.marshal(),Links:h.node.Links};let y=T(U(s));if(o=await ve(y,e,t),!c){let u=r[a+1];if(u==null)throw new Error("Was not operating on shard root but also had no parent?");Wi("updating link in parent sub-shard with prefix %s",u.prefix),u.node.Links=u.node.Links.filter(d=>d.Name!==u.prefix),u.node.Links.push({Name:u.prefix,Hash:o,Tsize:h.node.Links.reduce((d,m)=>d+(m.Tsize??0),y.byteLength)})}}if(o==null||s==null)throw new Error("Noting persisted");return{cid:o,node:s}},Bn=async(r,e,t,n)=>{let o=bn(zt)($(e)),s=[];for(;;){let a=await z(t.get(r,n)),c=R(a),h=new uc.default,f=await o.take(ot),l=En(f);s.push({prefix:l,children:h,node:c});let y;for(let d of c.Links){let m=d.Name??"";if(m.length<2)throw new Error("Invalid HAMT - link name was too short");let x=parseInt(m.substring(0,2),16);h.set(x,!0),m.startsWith(l)&&(y=d)}if(y==null){Wi("no link found with prefix %s for %s",l,e);break}let u=y.Name??"";if(u.length<2)throw new Error("Invalid HAMT - link name was too short");if(u.length===2){r=y.Hash,Wi("descend into sub-shard with prefix %s",u);continue}break}return{path:s,hash:o}};async function In(r,e,t,n){if(r.Data==null)throw new Error("DagPB node had no data");let i=I.unmarshal(r.Data),o;if(i.type==="directory")o=Ph(r);else if(i.type==="hamt-sharded-directory")o=await lc(r,0,t,e,n);else throw new Error("Can only estimate the size of directories or shards");return o>t}function Ph(r){let e=0;for(let t of r.Links)e+=(t.Name??"").length,e+=t.Hash.version===1?Sn.bytes.byteLength:kn.bytes.byteLength;return e}async function lc(r,e,t,n,i){if(e>t)return t;if(r.Data==null||!I.unmarshal(r.Data).isDirectory())return e;for(let s of r.Links){let a=s.Name??"";if(a=a.substring(2),e+=a.length,e+=s.Hash.bytes.byteLength,s.Hash.code===q){let c=await z(n.get(s.Hash,i)),h=R(c);e+=await lc(h,e,t,n,i)}}return e}var Le=O("helia:unixfs:components:utils:add-link");async function Ft(r,e,t,n){if(r.node.Data==null)throw new F("Invalid parent passed to addLink");if(I.unmarshal(r.node.Data).type==="hamt-sharded-directory")return Le("adding link to sharded directory"),Rh(r,e,t,n);Le(`adding ${e.Name} (${e.Hash}) to regular directory`);let o=await Mh(r,e,t,n);if(await In(o.node,t,n.shardSplitThresholdBytes??262144,n)){Le("converting directory to sharded directory");let s=await $h(o,t);o.cid=s.cid,o.node=R(await z(t.get(s.cid,n)))}return o}var $h=async(r,e)=>{if(r.node.Data==null)throw new F("Invalid parent passed to convertToShardedDirectory");let t=I.unmarshal(r.node.Data),n=await fc(e,r.node.Links.map(i=>({name:i.Name??"",size:BigInt(i.Tsize??0),cid:i.Hash})),{mode:t.mode,mtime:t.mtime,cidVersion:r.cid.version});return Le(`converted directory to sharded directory ${n.cid}`),n},Mh=async(r,e,t,n)=>{let i=r.node.Links.filter(f=>{let l=f.Name===e.Name;if(l&&!n.allowOverwriting)throw new Qe;return!l});if(i.push(e),r.node.Data==null)throw new ee("Parent node with no data passed to addToDirectory");let o=I.unmarshal(r.node.Data),s;if(o.mtime!=null){let f=Date.now(),l=Math.floor(f/1e3);o.mtime={secs:BigInt(l),nsecs:(f-l*1e3)*1e3},s=o.marshal()}else s=r.node.Data;r.node=U({Data:s,Links:i});let a=T(r.node),c=await oe.digest(a),h=A.create(r.cid.version,q,c);return await t.put(h,a),{node:r.node,cid:h}},Rh=async(r,e,t,n)=>{let{path:i,hash:o}=await Bn(r.cid,e.Name,t,n),s=i[i.length-1];if(s==null)throw new Error("Invalid HAMT, could not generate path");let a=s.prefix,c=parseInt(a,16);Le("next prefix for %s is %s",e.Name,a);let h=`${a}${e.Name}`,f=s.node.Links.find(l=>(l.Name??"").startsWith(a));if(f!=null)if(Le("link %s was present in shard",h),f.Name===h){if(!n.allowOverwriting)throw new Qe;Le("overwriting %s in sub-shard",e.Name),s.node.Links=s.node.Links.filter(l=>l.Name!==h),s.node.Links.push({Name:h,Hash:e.Hash,Tsize:e.Tsize})}else{if(f.Name?.length===2)throw new Error("Existing link was sub-shard?!");{Le("prefix %s already exists, creating new sub-shard",a);let l=s.node.Links.findIndex(x=>x.Name?.startsWith(a)),y=s.node.Links.splice(l,1)[0],u=(y.Name??"").substring(2),m=bn(zt)($(u));for(let x=0;x<i.length;x++)await m.take(ot);for(;;){let x=await m.take(ot),g=En(x);y.Name=`${g}${u}`;let w=await o.take(ot),b=En(w);if(g===b){let B=new Ki.default;B.set(w,!0),i.push({prefix:b,children:B,node:{Links:[]}});continue}let S=new Ki.default;S.set(w,!0),S.set(x,!0),i.push({prefix:a,children:S,node:{Links:[y,{Name:`${b}${e.Name}`,Hash:e.Hash,Tsize:e.Tsize}]}});break}}}else Le("link %s was not present in sub-shard",h),e.Name=h,s.node.Links.push(e),s.children.set(c,!0),Le("adding %s to existing sub-shard",h);return vn(i,t,n)};async function Ge(r,e,t={}){let n=await Y(r,e,t);if(n.type!=="directory")throw new Te(`${r.toString()} was not a UnixFS directory`);return{cid:r,node:n.node}}async function Pt(r,e,t,n){let i=await Y(r,t,n);if(i.type!=="directory"&&i.type!=="file"&&i.type!=="raw")throw new Ne(`${r.toString()} was not a UnixFS node`);return{Name:e,Tsize:i.node instanceof Uint8Array?i.node.byteLength:Oh(i.node),Hash:r}}function Oh(r){let e=r.Links.reduce((t,n)=>t+(n.Tsize??0),0);return T(r).byteLength+e}var Vh=O("helia:unixfs:components:utils:resolve");async function ze(r,e,t,n){if(e==null||e==="")return{cid:r};let i=`/ipfs/${r}${e==null?"":`/${e}`}`,o=await ns(Vi(i,t,n));if(o.length===0)throw new Fe("Could not find path in directory");return Vh("resolved %s to %c",e,r),{cid:o[o.length-1].cid,path:e,segments:o}}async function Ut(r,e,t,n){if(e.segments==null||e.segments.length===0)return r;let i=e.segments.pop();if(i==null)throw new Error("Insufficient segments");i.cid=r,e.segments.reverse();for(let o of e.segments){let[s,a]=await Promise.all([Ge(o.cid,t,n),Pt(i.cid,i.name,t,n)]);r=(await Ft(s,a,t,{...n,allowOverwriting:!0,cidVersion:r.version})).cid,o.cid=r,i=o}return r}async function*hc(r,e,t={}){let n=await ze(r,t.path,e,t),i=await Y(n.cid,e,t);if(i.type!=="file"&&i.type!=="raw")throw new Or;if(i.content==null)throw new bt;yield*i.content(t)}var Hh=O("helia:unixfs:chmod");async function dc(r,e,t,n={}){let i=await ze(r,n.path,t,n);if(Hh("chmod %c %d",i.cid,e),n.recursive===!0){let l=await De(async function*(){for await(let y of yn(i.cid,t,n)){let u,d=[];if(y.type==="raw")u=new I({type:"file",data:y.node});else if(y.type==="file"||y.type==="directory")u=y.unixfs,d=y.node.Links;else throw new Ne;u.mode=e;let m={Data:u.marshal(),Links:d};yield{path:y.path,content:m}}},y=>Ye(y,t,{...n,dagBuilder:async function*(u,d){for await(let m of u)yield async function(){let x=m.content,g=T(x),w=await ve(g,d,{...n,cidVersion:r.version});if(x.Data==null)throw new ee(`${w} had no data`);let b=I.unmarshal(x.Data);return{cid:w,size:BigInt(g.length),path:m.path,unixfs:b}}}}),async y=>_e(y));if(l==null)throw new He(`Could not chmod ${i.cid.toString()}`);return Ut(l.cid,i,t,n)}let o=await z(t.get(i.cid,n)),s,a=[];if(i.cid.code===Q)s=new I({type:"file",data:o});else{let l=R(o);if(l.Data==null)throw new ee(`${i.cid.toString()} had no data`);a=l.Links,s=I.unmarshal(l.Data)}s.mode=e;let c=T({Data:s.marshal(),Links:a}),h=await oe.digest(c),f=A.create(i.cid.version,q,h);return await t.put(f,c),Ut(f,i,t,n)}var jh=O("helia:unixfs:cp");async function pc(r,e,t,n,i={}){if(t.includes("/"))throw new F("Name must not have slashes");let[o,s]=await Promise.all([Ge(e,n,i),Pt(r,t,n,i)]);return jh('Adding %c as "%s" to %c',r,t,e),(await Ft(o,s,n,{allowOverwriting:i.force,cidVersion:e.version,...i})).cid}async function*mc(r,e,t={}){let n=await ze(r,t.path,e,t),i=await Y(n.cid,e,{...t,extended:!0});if(i.type==="file"||i.type==="raw"){t.extended===!1?yield{name:i.name,path:i.path,cid:i.cid}:yield i;return}if(i.content==null)throw new bt;if(i.type!=="directory")throw new Te;yield*i.content(t)}var yc=O("helia:unixfs:mkdir");async function gc(r,e,t,n={}){if(e.includes("/"))throw new F("Path must not have slashes");if((await Y(r,t,n)).type!=="directory")throw new Te(`${r.toString()} was not a UnixFS directory`);yc("creating %s",e);let s={Data:new I({type:"directory",mode:n.mode,mtime:n.mtime}).marshal(),Links:[]},a=T(s),c=await oe.digest(a),h=A.create(n.cidVersion??1,q,c);await t.put(h,a);let[f,l]=await Promise.all([Ge(r,t,n),Pt(h,e,t,n)]);return yc("adding empty dir called %s to %c",e,r),(await Ft(f,l,t,{...n,allowOverwriting:n.force})).cid}var An=O("helia:unixfs:utils:remove-link");async function wc(r,e,t,n){if(r.node.Data==null)throw new ee("Parent node had no data");if(I.unmarshal(r.node.Data).type==="hamt-sharded-directory"){An(`removing ${e} from sharded directory`);let o=await Gh(r,e,t,n);return await In(o.node,t,n.shardSplitThresholdBytes??262144,n)?o:(An("converting shard to flat directory %c",r.cid),Wh(o,t,n))}return An(`removing link ${e} regular directory`),qh(r,e,t,n)}var qh=async(r,e,t,n)=>{r.node.Links=r.node.Links.filter(s=>s.Name!==e);let i=T(r.node),o=await ve(i,t,{...n,cidVersion:r.cid.version});return An(`Updated regular directory ${o}`),{node:r.node,cid:o}},Gh=async(r,e,t,n)=>{let{path:i}=await Bn(r.cid,e,t,n),o=i[i.length-1];if(o==null)throw new Error("Invalid HAMT, could not generate path");let s=o.node.Links.filter(h=>(h.Name??"").substring(2)===e).map(h=>h.Name).pop();if(s==null)throw new Error("File not found");let a=s.substring(0,2),c=parseInt(a,16);if(o.node.Links=o.node.Links.filter(h=>h.Name!==s),o.children.unset(c),o.node.Links.length===1)for(;i.length!==1;){let h=i[i.length-1];if(h==null||h.node.Links.length>1)break;i.pop();let f=i[i.length-1];if(f==null)break;let l=h.node.Links[0];f.node.Links=f.node.Links.filter(y=>!(y.Name??"").startsWith(f.prefix)),f.node.Links.push({Hash:l.Hash,Name:`${f.prefix}${(l.Name??"").substring(2)}`,Tsize:l.Tsize})}return vn(i,t,n)},Wh=async(r,e,t)=>{if(r.node.Data==null)throw new F("Invalid parent passed to convertToFlatDirectory");let n={Links:[]},i=await Y(r.cid,e);if(i.type!=="directory")throw new Error("Unexpected node type");for await(let c of i.content()){let h=0;c.node instanceof Uint8Array?h=c.node.byteLength:h=T(c.node).length,n.Links.push({Hash:c.cid,Name:c.name,Tsize:h})}let o=I.unmarshal(r.node.Data);n.Data=new I({type:"directory",mode:o.mode,mtime:o.mtime}).marshal();let s=T(U(n));return{cid:await ve(s,e,{codec:V,cidVersion:r.cid.version,signal:t.signal}),node:n}};var Kh=O("helia:unixfs:rm");async function xc(r,e,t,n={}){if(e.includes("/"))throw new F("Name must not have slashes");let i=await Ge(r,t,n);return Kh("Removing %s from %c",e,r),(await wc(i,e,t,{...n,cidVersion:r.version})).cid}function bc(r,e="utf8"){let t=Tr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var Xi={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},_c={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},kc=new globalThis.TextEncoder;function Xh(r,e){let t=Xi[e],n=_c[e];for(let i=0;i<r.length;i++)n^=BigInt(r[i]),n=BigInt.asUintN(e,n*t);return n}function Jh(r,e,t){if(t.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=Xi[e],i=_c[e],o=r;for(;o.length>0;){let s=kc.encodeInto(o,t);o=o.slice(s.read);for(let a=0;a<s.written;a++)i^=BigInt(t[a]),i=BigInt.asUintN(e,i*n)}return i}function Ji(r,{size:e=32,utf8Buffer:t}={}){if(!Xi[e])throw new Error("The `size` option must be one of 32, 64, 128, 256, 512, or 1024");if(typeof r=="string"){if(t)return Jh(r,e,t);r=kc.encode(r)}return Xh(r,e)}var pr={hash:r=>Number(Ji(r,{size:32})),hashV:(r,e)=>Zh(pr.hash(r,e))};function Zh(r){let e=r.toString(16);return e.length%2===1&&(e=`0${e}`),$(e,"base16")}var Sc=64,Be=class{fp;h;seed;constructor(e,t,n,i=2){if(i>Sc)throw new TypeError("Invalid Fingerprint Size");let o=t.hashV(e,n),s=ge(i);for(let a=0;a<s.length;a++)s[a]=o[a];s.length===0&&(s[0]=7),this.fp=s,this.h=t,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?Br(this.fp,e.fp):!1}};function st(r,e){return Math.floor(Math.random()*(e-r))+r}var at=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof Be))throw new TypeError("Invalid Fingerprint");return this.contents.some(t=>e.equals(t))}add(e){if(!(e instanceof Be))throw new TypeError("Invalid Fingerprint");for(let t=0;t<this.contents.length;t++)if(this.contents[t]==null)return this.contents[t]=e,!0;return!0}swap(e){if(!(e instanceof Be))throw new TypeError("Invalid Fingerprint");let t=st(0,this.contents.length-1),n=this.contents[t];return this.contents[t]=e,n}remove(e){if(!(e instanceof Be))throw new TypeError("Invalid Fingerprint");let t=this.contents.findIndex(n=>e.equals(n));return t>-1?(this.contents[t]=null,!0):!1}};var Yh=500,mr=class{bucketSize;filterSize;fingerprintSize;buckets;count;hash;seed;constructor(e){this.filterSize=e.filterSize,this.bucketSize=e.bucketSize??4,this.fingerprintSize=e.fingerprintSize??2,this.count=0,this.buckets=[],this.hash=e.hash??pr,this.seed=e.seed??st(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=$(e));let t=new Be(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=(n^t.hash())%this.filterSize;if(this.buckets[n]==null&&(this.buckets[n]=new at(this.bucketSize)),this.buckets[i]==null&&(this.buckets[i]=new at(this.bucketSize)),this.buckets[n].add(t)||this.buckets[i].add(t))return this.count++,!0;let o=[n,i],s=o[st(0,o.length-1)];this.buckets[s]==null&&(this.buckets[s]=new at(this.bucketSize));for(let a=0;a<Yh;a++){let c=this.buckets[s].swap(t);if(c!=null&&(s=(s^c.hash())%this.filterSize,this.buckets[s]==null&&(this.buckets[s]=new at(this.bucketSize)),this.buckets[s].add(c)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=$(e));let t=new Be(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=this.buckets[n]?.has(t)??!1;if(i)return i;let o=(n^t.hash())%this.filterSize;return this.buckets[o]?.has(t)??!1}remove(e){typeof e=="string"&&(e=$(e));let t=new Be(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=this.buckets[n]?.remove(t)??!1;if(i)return this.count--,i;let o=(n^t.hash())%this.filterSize,s=this.buckets[o]?.remove(t)??!1;return s&&this.count--,s}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}};var yr=class{filterSize;bucketSize;fingerprintSize;scale;filterSeries;hash;seed;constructor(e){this.bucketSize=e.bucketSize??4,this.filterSize=e.filterSize??(1<<18)/this.bucketSize,this.fingerprintSize=e.fingerprintSize??2,this.scale=e.scale??2,this.hash=e.hash??pr,this.seed=e.seed??st(0,Math.pow(2,10)),this.filterSeries=[new mr({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=$(e)),this.has(e))return!0;let t=this.filterSeries.find(n=>n.reliable);if(t==null){let n=this.filterSize*Math.pow(this.scale,this.filterSeries.length);t=new mr({filterSize:n,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed}),this.filterSeries.push(t)}return t.add(e)}has(e){typeof e=="string"&&(e=$(e));for(let t=0;t<this.filterSeries.length;t++)if(this.filterSeries[t].has(e))return!0;return!1}remove(e){typeof e=="string"&&(e=$(e));for(let t=0;t<this.filterSeries.length;t++)if(this.filterSeries[t].remove(e))return!0;return!1}get count(){return this.filterSeries.reduce((e,t)=>e+t.count,0)}};var Ec=1877,Cn=1604,Qh=O("helia:unixfs:stat");async function vc(r,e,t={}){let n=await ze(r,t.path,e,t);Qh("stat %c",n.cid);let i=await Y(n.cid,e,t);if(i.type==="raw")return t.extended===!0?nd(i):rd(i);if(i.type==="file"||i.type==="directory")return t.extended===!0?td(i,e,t.filter??new yr({filterSize:1024}),t):ed(i);throw new Ne}function ed(r){return{type:r.type,cid:r.cid,unixfs:r.unixfs,mode:r.unixfs.mode??(r.unixfs.isDirectory()?Ec:Cn),mtime:r.unixfs.mtime,size:r.unixfs.fileSize()}}async function td(r,e,t,n){let i=await Bc(r.cid,e,!1,t,n);return{type:r.type,cid:r.cid,unixfs:r.unixfs,size:r.unixfs.isDirectory()?i.dirSize:r.unixfs.fileSize(),mode:r.unixfs.mode??(r.unixfs.isDirectory()?Ec:Cn),mtime:r.unixfs.mtime,localSize:i.localSize,dagSize:i.dagSize,deduplicatedDagSize:i.deduplicatedDagSize,blocks:i.blocks,uniqueBlocks:i.uniqueBlocks}}function rd(r){return{type:r.type,cid:r.cid,unixfs:void 0,mode:Cn,mtime:void 0,size:BigInt(r.node.byteLength)}}function nd(r){return{type:r.type,cid:r.cid,unixfs:void 0,mode:Cn,mtime:void 0,size:BigInt(r.node.byteLength),localSize:BigInt(r.node.byteLength),dagSize:BigInt(r.node.byteLength),deduplicatedDagSize:BigInt(r.node.byteLength),blocks:1n,uniqueBlocks:1n}}async function Bc(r,e,t,n,i){let o={dirSize:0n,localSize:0n,dagSize:0n,deduplicatedDagSize:0n,blocks:0n,uniqueBlocks:0n};try{let s=n.has(r.bytes);n.add(r.bytes);let a=await z(e.get(r,i));if(o.blocks++,o.dagSize+=BigInt(a.byteLength),s||(o.uniqueBlocks++,o.deduplicatedDagSize+=BigInt(a.byteLength)),r.code===Q)o.localSize+=BigInt(a.byteLength),t&&(o.dirSize+=BigInt(a.byteLength));else if(r.code===q){let c=R(a),h;if(c.Data!=null&&(h=I.unmarshal(c.Data)),c.Links.length>0){for(let f of c.Links){let l=await Bc(f.Hash,e,id(f,h),n,i);o.localSize+=l.localSize,o.dagSize+=l.dagSize,o.deduplicatedDagSize+=l.deduplicatedDagSize,o.blocks+=l.blocks,o.uniqueBlocks+=l.uniqueBlocks,o.dirSize+=l.dirSize}t&&h!=null&&(o.dirSize+=h.fileSize())}else{if(h==null)throw new ee(`PBNode ${r.toString()} had no data`);h.data!=null&&(o.localSize+=BigInt(h.data.byteLength??0)),t&&(o.dirSize+=h.fileSize())}}else throw new He(`${r.toString()} was neither DAG_PB nor RAW`)}catch(s){if(s.name!=="NotFoundError"||i.offline!==!0)throw s}return o}function id(r,e){if(e==null)return!1;let t=r.Name;return t==null?!1:e.type==="directory"?!0:e.type==="hamt-sharded-directory"&&t.length>2}var od=O("helia:unixfs:touch");async function Ic(r,e,t={}){let n=await ze(r,t.path,e,t),i=t.mtime??{secs:BigInt(Math.round(Date.now()/1e3)),nsecs:0};if(od("touch %c %o",n.cid,i),t.recursive){let l=await De(async function*(){for await(let y of yn(n.cid,e)){let u,d;if(y.type==="raw")u=new I({data:y.node}),d=[];else if(y.type==="file"||y.type==="directory")u=y.unixfs,d=y.node.Links;else throw new Ne;u.mtime=i;let m={Data:u.marshal(),Links:d};yield{path:y.path,content:m}}},y=>Ye(y,e,{...t,dagBuilder:async function*(u,d){for await(let m of u)yield async function(){let x=m.content,g=T(x),w=await ve(g,d,{...t,cidVersion:r.version});if(x.Data==null)throw new ee(`${w} had no data`);let b=I.unmarshal(x.Data);return{cid:w,size:BigInt(g.length),path:m.path,unixfs:b}}}}),async y=>_e(y));if(l==null)throw new He(`Could not chmod ${n.cid.toString()}`);return Ut(l.cid,n,e,t)}let o=await z(e.get(n.cid,t)),s,a=[];if(n.cid.code===Q)s=new I({data:o});else{let l=R(o);if(a=l.Links,l.Data==null)throw new ee(`${n.cid.toString()} had no data`);s=I.unmarshal(l.Data)}s.mtime=i;let c=T({Data:s.marshal(),Links:a}),h=await oe.digest(c),f=A.create(n.cid.version,q,h);return await e.put(f,c),Ut(f,n,e,t)}var Nn=class{components;constructor(e){this.components=e}async*addAll(e,t={}){yield*Vr(e,this.components.blockstore,t)}async addBytes(e,t={}){return ks(e,this.components.blockstore,t)}async addByteStream(e,t={}){return Ss(e,this.components.blockstore,t)}async addFile(e,t={}){return Es(e,this.components.blockstore,t)}async addDirectory(e={},t={}){return vs(e,this.components.blockstore,t)}async*cat(e,t={}){yield*hc(e,this.components.blockstore,t)}async chmod(e,t,n={}){return dc(e,t,this.components.blockstore,n)}async cp(e,t,n,i={}){return pc(e,t,n,this.components.blockstore,i)}async*ls(e,t={}){yield*mc(e,this.components.blockstore,t)}async mkdir(e,t,n={}){return gc(e,t,this.components.blockstore,n)}async rm(e,t,n={}){return xc(e,t,this.components.blockstore,n)}async stat(e,t={}){return vc(e,this.components.blockstore,t)}async touch(e,t={}){return Ic(e,this.components.blockstore,t)}};function Ac(r){return new Nn(r)}var Ue="/",Cc=new TextEncoder().encode(Ue),Tn=Cc[0],gr=class r{_buf;constructor(e,t){if(typeof e=="string")this._buf=$(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]!==Tn)throw new Error("Invalid key")}toString(e="utf8"){return bc(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new r(e.join(Ue))}static random(){return new r(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new r(e):typeof e.uint8Array=="function"?new r(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Cc),this._buf[0]!==Tn){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Tn,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Tn;)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 r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Ue).slice(1)}type(){return sd(this.baseNamespace())}name(){return ad(this.baseNamespace())}instance(e){return new r(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Ue)||(e+=Ue),e+=this.type(),new r(e)}parent(){let e=this.list();return e.length===1?new r(Ue):new r(e.slice(0,-1).join(Ue))}child(e){return this.toString()===Ue?e:e.toString()===Ue?this:new r(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 r.withNamespaces([...this.namespaces(),...cd(e.map(t=>t.namespaces()))])}};function sd(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function ad(r){let e=r.split(":");return e[e.length-1]}function cd(r){return[].concat(...r)}function Dn(r){return r.split("/").pop()??""}var Ln=class{components;unixfs;root;key;log;constructor(e,t={}){this.components=e,this.log=e.logger.forComponent("helia:mfs"),this.key=new gr(t.key??"/locals/filesroot"),this.unixfs=Ac(e)}async#e(){if(this.root==null)try{let e=await this.components.datastore.get(this.key);this.root=A.decode(e)}catch(e){if(e.name!=="NotFoundError")throw e;this.root=await this.unixfs.addDirectory()}return this.root}async writeBytes(e,t,n){let i=await this.unixfs.addBytes(e,n);await this.cp(i,t,n),n?.mode!=null&&await this.chmod(t,n.mode,n),n?.mtime!=null&&await this.touch(t,n)}async writeByteStream(e,t,n){let i=await this.unixfs.addByteStream(e,n);await this.cp(i,t,n),n?.mode!=null&&await this.chmod(t,n.mode,n),n?.mtime!=null&&await this.touch(t,n)}async*cat(e,t={}){let n=await this.#e(),i=await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1});yield*this.unixfs.cat(i[i.length-1].cid,t)}async chmod(e,t,n={}){let i=await this.#e();this.root=await this.unixfs.chmod(i,t,{...n,path:e})}async cp(e,t,n){let i=await this.#e(),o=n?.force??!1;typeof e=="string"&&(e=(await this.stat(e,n)).cid),o||await this.#s(t,n);let s=Dn(t),a=t.substring(0,t.length-`/${s}`.length),c=[{cid:i,name:""}];a!==""&&(c=await this.#r(i,a,{...n,createMissingDirectories:n?.force??!1,finalSegmentMustBeDirectory:!0})),c.push({cid:e,name:s}),this.root=await this.#i(c,n)}async*ls(e,t){let n=await this.#e();t?.path!=null&&(e=`${e}/${t.path}`),yield*this.unixfs.ls(n,{...t,path:e})}async mkdir(e,t){let n=t?.force??!1;n||await this.#s(e,t);let i=Dn(e),o=e.substring(0,e.length-`/${i}`.length),s=await this.#e(),a=[{cid:s,name:""}];o!==""&&(a=await this.#r(s,o,{...t,createMissingDirectories:n,finalSegmentMustBeDirectory:!0})),a.push({cid:await this.unixfs.addDirectory({mode:t?.mode,mtime:t?.mtime},t),name:Dn(e)}),this.root=await this.#i(a,t)}async rm(e,t){(t?.force??!1)||await this.#l(e,t);let i=await this.#e(),o=await this.#r(i,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1}),s=o.pop();if(s==null)throw new F("path was too short");let a=o[o.length-1];a.cid=await this.unixfs.rm(a.cid,s.name,t),this.root=await this.#i(o,t)}async stat(e,t){let n=await this.#e(),o=(await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1})).pop();if(o==null)throw new Fe;return this.unixfs.stat(o.cid,t)}async touch(e,t){let n=await this.#e(),i=await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1}),o=i[i.length-1];if(o==null)throw new Fe;o.cid=await this.unixfs.touch(o.cid,t),this.root=await this.#i(i,t)}async#r(e,t,n){if(!t.startsWith("/"))throw new F("path must be absolute");let i=await this.unixfs.stat(e,{...n,offline:!0}),o=[{cid:e,name:"",unixfs:i.unixfs}],s=e,a=t.split("/").filter(Boolean);for(let h=0;h<a.length;h++){let f=a[h];try{let l=await this.unixfs.stat(s,{...n,offline:!0,path:f});o.push({cid:l.cid,name:f,unixfs:l.unixfs}),s=l.cid}catch{if(this.log.error("could not resolve path segment %s of %s under %c",f,t,e),n.createMissingDirectories){let y=await this.unixfs.addDirectory();o.push({cid:y,name:f,unixfs:new I({type:"directory"})})}else throw new Fe(`${t} does not exist`)}}let c=o[o.length-1];if(n.finalSegmentMustBeDirectory&&c.unixfs?.isDirectory()!==!0)throw new Te(`${t} was not a directory`);return o}async#i(e,t={}){let n=e.pop();if(n==null)throw new F("path was too short");let i=n.cid;for(let o=e.length-1;o>-1;o--){let s=e[o];s.cid=await this.unixfs.cp(n.cid,s.cid,n.name,{...t,force:!0}),n=s,i=s.cid}return await this.components.datastore.put(this.key,i.bytes,t),i}async#l(e,t={}){if(!await this.#a(e,t))throw new Fe}async#s(e,t={}){if(await this.#a(e,t))throw new Qe}async#a(e,t={}){try{return await this.stat(e,{...t,offline:!0}),!0}catch{return!1}}};function ud(r,e={}){return new Ln(r,e)}return Fc(fd);})();
4
9
  return HeliaMfs}));
5
10
  //# sourceMappingURL=index.min.js.map