UNPKG

@libp2p/keychain

Version:

Key management and cryptographically protected messages

2 lines • 179 kB
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PKeychain = factory()}(typeof self !== 'undefined' ? self : this, function () { "use strict";var Libp2PKeychain=(()=>{var Xu=Object.create;var wn=Object.defineProperty;var Qu=Object.getOwnPropertyDescriptor;var tl=Object.getOwnPropertyNames;var el=Object.getPrototypeOf,rl=Object.prototype.hasOwnProperty;var Ir=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),ft=(r,t)=>{for(var e in t)wn(r,e,{get:t[e],enumerable:!0})},_i=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of tl(t))!rl.call(r,s)&&s!==e&&wn(r,s,{get:()=>t[s],enumerable:!(n=Qu(t,s))||n.enumerable});return r};var Ti=(r,t,e)=>(e=r!=null?Xu(el(r)):{},_i(t||!r||!r.__esModule?wn(e,"default",{value:r,enumerable:!0}):e,r)),nl=r=>_i(wn({},"__esModule",{value:!0}),r);var tu=Ir((ob,Qc)=>{"use strict";function Zh(r){return r>=55296&&r<=56319}function zh(r){return r>=56320&&r<=57343}Qc.exports=function(t,e,n){if(typeof e!="string")throw new Error("Input must be string");for(var s=e.length,o=0,i,a,c=0;c<s;c+=1){if(i=e.charCodeAt(c),a=e[c],Zh(i)&&zh(e.charCodeAt(c+1))&&(c+=1,a+=e[c]),o+=t(a),o===n)return e.slice(0,c+1);if(o>n)return e.slice(0,c-a.length+1)}return e}});var ru=Ir((ib,eu)=>{"use strict";function Yh(r){return r>=55296&&r<=56319}function Wh(r){return r>=56320&&r<=57343}eu.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var e=t.length,n=0,s=null,o=null,i=0;i<e;i++)s=t.charCodeAt(i),Wh(s)?o!=null&&Yh(o)?n+=1:n+=3:s<=127?n+=1:s>=128&&s<=2047?n+=2:s>=2048&&s<=65535&&(n+=3),o=s;return n}});var su=Ir((ab,nu)=>{"use strict";var Jh=tu(),Xh=ru();nu.exports=Jh.bind(null,Xh)});var au=Ir((cb,iu)=>{"use strict";var Qh=su(),td=/[\/\?<>\\:\*\|"]/g,ed=/[\x00-\x1f\x80-\x9f]/g,rd=/^\.+$/,nd=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,sd=/[\. ]+$/;function ou(r,t){if(typeof r!="string")throw new Error("Input must be string");var e=r.replace(td,t).replace(ed,t).replace(rd,t).replace(nd,t).replace(sd,t);return Qh(e,255)}iu.exports=function(r,t){var e=t&&t.replacement||"",n=ou(r,e);return e===""?n:ou(n,"")}});var cu=Ir(Er=>{"use strict";var id="[object ArrayBuffer]",se=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===id}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),s=r.toUint8Array(e);if(n.length!==s.byteLength)return!1;for(let o=0;o<n.length;o++)if(n[o]!==s[o])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let i of e)n+=i.byteLength;let s=new Uint8Array(n),o=0;for(let i of e){let a=this.toUint8Array(i);s.set(a,o),o+=a.length}return t[t.length-1]instanceof Function?this.toView(s,t[t.length-1]):s.buffer}},xi="string",ad=/^[0-9a-f\s]+$/i,cd=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,ud=/^[a-zA-Z0-9-_]+$/,ss=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);return n.buffer}static toString(t){let e=se.toUint8Array(t),n="";for(let o=0;o<e.length;o++)n+=String.fromCharCode(e[o]);return decodeURIComponent(escape(n))}},_t=class{static toString(t,e=!1){let n=se.toArrayBuffer(t),s=new DataView(n),o="";for(let i=0;i<n.byteLength;i+=2){let a=s.getUint16(i,e);o+=String.fromCharCode(a)}return o}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),s=new DataView(n);for(let o=0;o<t.length;o++)s.setUint16(o*2,t.charCodeAt(o),e);return n}},os=class r{static isHex(t){return typeof t===xi&&ad.test(t)}static isBase64(t){return typeof t===xi&&cd.test(t)}static isBase64Url(t){return typeof t===xi&&ud.test(t)}static ToString(t,e="utf8"){let n=se.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return _t.toString(n,!0);case"utf16":case"utf16be":return _t.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return _t.fromString(t,!0);case"utf16":case"utf16be":return _t.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=se.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return ss.fromString(t);case"utf16":case"utf16be":return _t.fromString(t);case"utf16le":case"usc2":return _t.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return ss.toString(t);case"utf16":case"utf16be":return _t.toString(t);case"utf16le":case"usc2":return _t.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);return n.buffer}static ToBinary(t){let e=se.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=se.toUint8Array(t),n="",s=e.length;for(let o=0;o<s;o++){let i=e[o];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let s=0;s<e.length;s=s+2){let o=e.slice(s,s+2);n[s/2]=parseInt(o,16)}return n.buffer}static ToUtf16String(t,e=!1){return _t.toString(t,e)}static FromUtf16String(t,e=!1){return _t.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};os.DEFAULT_UTF8_ENCODING="utf8";function ld(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let s=arguments[n];for(let o in s)e[o]=s[o]}return e}function fd(...r){let t=r.map(s=>s.byteLength).reduce((s,o)=>s+o),e=new Uint8Array(t),n=0;return r.map(s=>new Uint8Array(s)).forEach(s=>{for(let o of s)e[n++]=o}),e.buffer}function hd(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<r.byteLength;s++)if(e[s]!==n[s])return!1;return!0}Er.BufferSourceConverter=se;Er.Convert=os;Er.assign=ld;Er.combine=fd;Er.isEqual=hd});var Nd={};ft(Nd,{keychain:()=>Cd});var Cr=class extends Error{constructor(t="An error occurred while signing a message"){super(t),this.name="SigningError"}},Nr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},xn=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Li={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new xn("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var Q=Li;var L=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},je=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}},Ur=class extends Error{static name="InvalidPrivateKeyError";constructor(t="Invalid private key"){super(t),this.name="InvalidPrivateKeyError"}};var vn=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var $e=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Ri=Symbol.for("@libp2p/service-capabilities"),Vd=Symbol.for("@libp2p/service-dependencies");var to={};ft(to,{base58btc:()=>tt,base58flickr:()=>ll});var o0=new Uint8Array(0);function Di(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function qt(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 Ki(r){return new TextEncoder().encode(r)}function Vi(r){return new TextDecoder().decode(r)}function sl(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var s=0;s<r.length;s++){var o=r.charAt(s),i=o.charCodeAt(0);if(e[i]!==255)throw new TypeError(o+" is ambiguous");e[i]=s}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var w=0,B=0,y=0,A=p.length;y!==A&&p[y]===0;)y++,w++;for(var x=(A-y)*h+1>>>0,I=new Uint8Array(x);y!==A;){for(var D=p[y],P=0,O=x-1;(D!==0||P<B)&&O!==-1;O--,P++)D+=256*I[O]>>>0,I[O]=D%a>>>0,D=D/a>>>0;if(D!==0)throw new Error("Non-zero carry");B=P,y++}for(var K=x-B;K!==x&&I[K]===0;)K++;for(var v=c.repeat(w);K<x;++K)v+=r.charAt(I[K]);return v}function f(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var w=0;if(p[w]!==" "){for(var B=0,y=0;p[w]===c;)B++,w++;for(var A=(p.length-w)*l+1>>>0,x=new Uint8Array(A);p[w];){var I=e[p.charCodeAt(w)];if(I===255)return;for(var D=0,P=A-1;(I!==0||D<y)&&P!==-1;P--,D++)I+=a*x[P]>>>0,x[P]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=D,w++}if(p[w]!==" "){for(var O=A-y;O!==A&&x[O]===0;)O++;for(var K=new Uint8Array(B+(A-O)),v=B;O!==A;)K[v++]=x[O++];return K}}}function d(p){var w=f(p);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:f,decode:d}}var ol=sl,il=ol,Oi=il;var Ws=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Js=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let s=e.codePointAt(0);if(s===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Pi(this,t)}},Xs=class{decoders;constructor(t){this.decoders=t}or(t){return Pi(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Pi(r,t){return new Xs({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Qs=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new Ws(t,e,n),this.decoder=new Js(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Ge({name:r,prefix:t,encode:e,decode:n}){return new Qs(r,t,e,n)}function fe({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=Oi(e,r);return Ge({prefix:t,name:r,encode:n,decode:o=>qt(s(o))})}function al(r,t,e,n){let s=r.length;for(;r[s-1]==="=";)--s;let o=new Uint8Array(s*e/8|0),i=0,a=0,c=0;for(let l=0;l<s;++l){let h=t[r[l]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|h,i+=e,i>=8&&(i-=8,o[c++]=255&a>>i)}if(i>=e||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return o}function cl(r,t,e){let n=t[t.length-1]==="=",s=(1<<e)-1,o="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,o+=t[s&a>>i];if(i!==0&&(o+=t[s&a<<e-i]),n)for(;(o.length*e&7)!==0;)o+="=";return o}function ul(r){let t={};for(let e=0;e<r.length;++e)t[r[e]]=e;return t}function J({name:r,prefix:t,bitsPerChar:e,alphabet:n}){let s=ul(n);return Ge({prefix:t,name:r,encode(o){return cl(o,n,e)},decode(o){return al(o,s,e,r)}})}var tt=fe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ll=fe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var eo={};ft(eo,{base32:()=>Ze,base32hex:()=>pl,base32hexpad:()=>gl,base32hexpadupper:()=>ml,base32hexupper:()=>yl,base32pad:()=>hl,base32padupper:()=>dl,base32upper:()=>fl,base32z:()=>bl});var Ze=J({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),fl=J({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),hl=J({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),dl=J({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),pl=J({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),yl=J({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),gl=J({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ml=J({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),bl=J({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ro={};ft(ro,{base36:()=>_r,base36upper:()=>wl});var _r=fe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),wl=fe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var xl=qi,Mi=128,vl=127,Bl=~vl,El=Math.pow(2,31);function qi(r,t,e){t=t||[],e=e||0;for(var n=e;r>=El;)t[e++]=r&255|Mi,r/=128;for(;r&Bl;)t[e++]=r&255|Mi,r>>>=7;return t[e]=r|0,qi.bytes=e-n+1,t}var Al=no,Sl=128,Fi=127;function no(r,n){var e=0,n=n||0,s=0,o=n,i,a=r.length;do{if(o>=a)throw no.bytes=0,new RangeError("Could not decode varint");i=r[o++],e+=s<28?(i&Fi)<<s:(i&Fi)*Math.pow(2,s),s+=7}while(i>=Sl);return no.bytes=o-n,e}var kl=Math.pow(2,7),Il=Math.pow(2,14),Cl=Math.pow(2,21),Nl=Math.pow(2,28),Ul=Math.pow(2,35),_l=Math.pow(2,42),Tl=Math.pow(2,49),Ll=Math.pow(2,56),Rl=Math.pow(2,63),Dl=function(r){return r<kl?1:r<Il?2:r<Cl?3:r<Nl?4:r<Ul?5:r<_l?6:r<Tl?7:r<Ll?8:r<Rl?9:10},Kl={encode:xl,decode:Al,encodingLength:Dl},Vl=Kl,Tr=Vl;function Lr(r,t=0){return[Tr.decode(r,t),Tr.decode.bytes]}function ze(r,t,e=0){return Tr.encode(r,t,e),t}function Ye(r){return Tr.encodingLength(r)}function Vt(r,t){let e=t.byteLength,n=Ye(r),s=n+Ye(e),o=new Uint8Array(s+e);return ze(r,o,0),ze(e,o,n),o.set(t,s),new We(r,e,t,o)}function ji(r){let t=qt(r),[e,n]=Lr(t),[s,o]=Lr(t.subarray(n)),i=t.subarray(n+o);if(i.byteLength!==s)throw new Error("Incorrect length");return new We(e,s,i,t)}function $i(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Di(r.bytes,e.bytes)}}var We=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};function Gi(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Ol(e,so(r),t??tt.encoder);default:return Pl(e,so(r),t??Ze.encoder)}}var Zi=new WeakMap;function so(r){let t=Zi.get(r);if(t==null){let e=new Map;return Zi.set(r,e),e}return t}var Ct=class r{code;version;multihash;bytes;"/";constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Dr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Ml)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Vt(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&$i(t.multihash,n.multihash)}toString(t){return Gi(this,t)}toJSON(){return{"/":Gi(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:s,multihash:o,bytes:i}=e;return new r(n,s,o,i??zi(n,s,o.bytes))}else if(e[Fl]===!0){let{version:n,multihash:s,code:o}=e,i=ji(s);return r.create(n,o,i)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Dr)throw new Error(`Version 0 CID must use dag-pb (code: ${Dr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=zi(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Dr,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,s=qt(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=s.subarray(e.multihashSize-e.digestSize),i=new We(e.multihashCode,e.digestSize,o,s);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,f]=Lr(t.subarray(e));return e+=f,u},s=n(),o=Dr;if(s===18?(s=0,e=0):o=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let i=e,a=n(),c=n(),l=e+c,h=l-i;return{version:s,codec:o,multihashCode:a,digestSize:c,multihashSize:h,size:l}}static parse(t,e){let[n,s]=Hl(t,e),o=r.decode(s);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return so(o).set(n,t),o}};function Hl(r,t){switch(r[0]){case"Q":{let e=t??tt;return[tt.prefix,e.decode(`${tt.prefix}${r}`)]}case tt.prefix:{let e=t??tt;return[tt.prefix,e.decode(r)]}case Ze.prefix:{let e=t??Ze;return[Ze.prefix,e.decode(r)]}case _r.prefix:{let e=t??_r;return[_r.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Ol(r,t,e){let{prefix:n}=e;if(n!==tt.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return s}function Pl(r,t,e){let{prefix:n}=e,s=t.get(n);if(s==null){let o=e.encode(r);return t.set(n,o),o}else return s}var Dr=112,Ml=18;function zi(r,t,e){let n=Ye(r),s=n+Ye(t),o=new Uint8Array(s+e.byteLength);return ze(r,o,0),ze(t,o,n),o.set(e,s),o}var Fl=Symbol.for("@ipld/js-cid/CID");var oo={};ft(oo,{identity:()=>ke});var Yi=0,ql="identity",Wi=qt;function jl(r,t){if(t?.truncate!=null&&t.truncate!==r.byteLength){if(t.truncate<0||t.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t.truncate)}return Vt(Yi,Wi(r))}var ke={code:Yi,name:ql,encode:Wi,digest:jl};function xt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function jt(r=0){return new Uint8Array(r)}function At(r=0){return new Uint8Array(r)}function Je(r,t){t==null&&(t=r.reduce((s,o)=>s+o.length,0));let e=At(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}var Xi=Symbol.for("@achingbrain/uint8arraylist");function Ji(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function En(r){return!!r?.[Xi]}var ht=class r{bufs;length;[Xi]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(En(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(En(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Ji(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Ji(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(En(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:s}=this._subList(t,e);return Je(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:Je(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),o=new r;return o.length=s,o.bufs=[...n],o}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],s=0;for(let o=0;o<this.bufs.length;o++){let i=this.bufs[o],a=s,c=a+i.byteLength;if(s=c,t>=c)continue;let l=t>=a&&t<c,h=e>a&&e<=c;if(l&&h){if(t===a&&e===c){n.push(i);break}let u=t-a;n.push(i.subarray(u,u+(e-t)));break}if(l){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(h){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!En(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let o=256,i=new Int32Array(o);for(let u=0;u<o;u++)i[u]=-1;for(let u=0;u<s;u++)i[n[u]]=u;let a=i,c=this.byteLength-n.byteLength,l=n.byteLength-1,h;for(let u=e;u<=c;u+=h){h=0;for(let f=l;f>=0;f--){let d=this.get(u+f);if(n[f]!==d){h=Math.max(1,f-a[d]);break}}if(h===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=At(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let s=jt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let s=jt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let s=jt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=At(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let s=jt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let s=jt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let s=jt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let s=jt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let s=jt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!xt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((s,o)=>s+o.byteLength,0)),n.length=e,n}};var io={};ft(io,{base10:()=>$l});var $l=fe({prefix:"9",name:"base10",alphabet:"0123456789"});var ao={};ft(ao,{base16:()=>Gl,base16upper:()=>Zl});var Gl=J({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Zl=J({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var co={};ft(co,{base2:()=>zl});var zl=J({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var uo={};ft(uo,{base256emoji:()=>Ql});var Qi=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}"),Yl=Qi.reduce((r,t,e)=>(r[e]=t,r),[]),Wl=Qi.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Jl(r){return r.reduce((t,e)=>(t+=Yl[e],t),"")}function Xl(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let s=Wl[n];if(s==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(s)}return new Uint8Array(t)}var Ql=Ge({prefix:"\u{1F680}",name:"base256emoji",encode:Jl,decode:Xl});var lo={};ft(lo,{base64:()=>Ie,base64pad:()=>tf,base64url:()=>ef,base64urlpad:()=>rf});var Ie=J({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),tf=J({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ef=J({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),rf=J({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fo={};ft(fo,{base8:()=>nf});var nf=J({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ho={};ft(ho,{identity:()=>sf});var sf=Ge({prefix:"\0",name:"identity",encode:r=>Vi(r),decode:r=>Ki(r)});var F0=new TextEncoder,q0=new TextDecoder;var go={};ft(go,{sha256:()=>Xe,sha512:()=>uf});var cf=20;function yo({name:r,code:t,encode:e,minDigestLength:n,maxDigestLength:s}){return new po(r,t,e,n,s)}var po=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,e,n,s,o){this.name=t,this.code=e,this.encode=n,this.minDigestLength=s??cf,this.maxDigestLength=o}digest(t,e){if(e?.truncate!=null){if(e.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&e.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?ta(n,this.code,e?.truncate):n.then(s=>ta(s,this.code,e?.truncate))}else throw Error("Unknown type, must be binary type")}};function ta(r,t,e){if(e!=null&&e!==r.byteLength){if(e>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e)}return Vt(t,r)}function ra(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var Xe=yo({name:"sha2-256",code:18,encode:ra("SHA-256")}),uf=yo({name:"sha2-512",code:19,encode:ra("SHA-512")});var mo={...ho,...co,...fo,...io,...ao,...eo,...ro,...to,...lo,...uo},ep={...go,...oo};function sa(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var na=sa("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),bo=sa("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=At(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),lf={utf8:na,"utf-8":na,hex:mo.base16,latin1:bo,ascii:bo,binary:bo,...mo},An=lf;function M(r,t="utf8"){let e=An[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function q(r,t="utf8"){let e=An[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var ff=parseInt("11111",2),wo=parseInt("10000000",2),hf=parseInt("01111111",2),oa={0:Kr,1:Kr,2:df,3:gf,4:mf,5:yf,6:pf,16:Kr,22:Kr,48:Kr};function Tt(r,t={offset:0}){let e=r[t.offset]&ff;if(t.offset++,oa[e]!=null)return oa[e](r,t);throw new Error("No decoder for tag "+e)}function Vr(r,t){let e=0;if((r[t.offset]&wo)===wo){let n=r[t.offset]&hf,s="0x";t.offset++;for(let o=0;o<n;o++,t.offset++)s+=r[t.offset].toString(16).padStart(2,"0");e=parseInt(s,16)}else e=r[t.offset],t.offset++;return e}function Kr(r,t){Vr(r,t);let e=[];for(;!(t.offset>=r.byteLength);){let n=Tt(r,t);if(n===null)break;e.push(n)}return e}function df(r,t){let e=Vr(r,t),n=t.offset,s=t.offset+e,o=[];for(let i=n;i<s;i++)i===n&&r[i]===0||o.push(r[i]);return t.offset+=e,Uint8Array.from(o)}function pf(r,t){let e=Vr(r,t),n=t.offset+e,s=r[t.offset];t.offset++;let o=0,i=0;s<40?(o=0,i=s):s<80?(o=1,i=s-40):(o=2,i=s-80);let a=`${o}.${i}`,c=[];for(;t.offset<n;){let l=r[t.offset];if(t.offset++,c.push(l&127),l<128){c.reverse();let h=0;for(let u=0;u<c.length;u++)h+=c[u]<<u*7;a+=`.${h}`,c=[]}}return a}function yf(r,t){return t.offset++,null}function gf(r,t){let e=Vr(r,t),n=r[t.offset];t.offset++;let s=r.subarray(t.offset,t.offset+e-1);if(t.offset+=e,n!==0)throw new Error("Unused bits in bit string is unimplemented");return s}function mf(r,t){let e=Vr(r,t),n=r.subarray(t.offset,t.offset+e);return t.offset+=e,n}function bf(r){let t=r.toString(16);t.length%2===1&&(t="0"+t);let e=new ht;for(let n=0;n<t.length;n+=2)e.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return e}function Sn(r){if(r.byteLength<128)return Uint8Array.from([r.byteLength]);let t=bf(r.byteLength);return new ht(Uint8Array.from([t.byteLength|wo]),t)}function dt(r){let t=new ht,e=128;return(r.subarray()[0]&e)===e&&t.append(Uint8Array.from([0])),t.append(r),new ht(Uint8Array.from([2]),Sn(t),t)}function Hr(r){let t=Uint8Array.from([0]),e=new ht(t,r);return new ht(Uint8Array.from([3]),Sn(e),e)}function ia(r){return new ht(Uint8Array.from([4]),Sn(r),r)}function Lt(r,t=48){let e=new ht;for(let n of r)e.append(n);return new ht(Uint8Array.from([t]),Sn(e),e)}var aa="1.2.840.10045.3.1.7",ca="1.3.132.0.34",ua="1.3.132.0.35";async function la(r,t,e){let n=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["sign"]);e?.signal?.throwIfAborted();let s=await crypto.subtle.sign({name:"ECDSA",hash:{name:"SHA-256"}},n,t.subarray());return e?.signal?.throwIfAborted(),new Uint8Array(s,0,s.byteLength)}async function fa(r,t,e,n){let s=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let o=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},s,t,e.subarray());return n?.signal?.throwIfAborted(),o}var wf=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),xf=Uint8Array.from([6,5,43,129,4,0,34]),vf=Uint8Array.from([6,5,43,129,4,0,35]),Bf={ext:!0,kty:"EC",crv:"P-256"},Ef={ext:!0,kty:"EC",crv:"P-384"},Af={ext:!0,kty:"EC",crv:"P-521"},xo=32,vo=48,Bo=66;function ha(r){let t=Tt(r);return Eo(t)}function Eo(r){let t=r[1],e=q(t,"base64url"),n=r[2][1][0],s=1,o,i;if(t.byteLength===xo)return o=q(n.subarray(s,s+xo),"base64url"),i=q(n.subarray(s+xo),"base64url"),new Qe({...Bf,key_ops:["sign"],d:e,x:o,y:i});if(t.byteLength===vo)return o=q(n.subarray(s,s+vo),"base64url"),i=q(n.subarray(s+vo),"base64url"),new Qe({...Ef,key_ops:["sign"],d:e,x:o,y:i});if(t.byteLength===Bo)return o=q(n.subarray(s,s+Bo),"base64url"),i=q(n.subarray(s+Bo),"base64url"),new Qe({...Af,key_ops:["sign"],d:e,x:o,y:i});throw new L(`Private key length was wrong length, got ${t.byteLength}, expected 32, 48 or 66`)}function da(r){return Lt([dt(Uint8Array.from([1])),ia(M(r.d??"","base64url")),Lt([ya(r.crv)],160),Lt([Hr(new ht(Uint8Array.from([4]),M(r.x??"","base64url"),M(r.y??"","base64url")))],161)]).subarray()}function pa(r){return Lt([dt(Uint8Array.from([1])),Lt([ya(r.crv)],160),Lt([Hr(new ht(Uint8Array.from([4]),M(r.x??"","base64url"),M(r.y??"","base64url")))],161)]).subarray()}function ya(r){if(r==="P-256")return wf;if(r==="P-384")return xf;if(r==="P-521")return vf;throw new L(`Invalid curve ${r}`)}var kn=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=pa(this.jwk)),this._raw}toMultihash(){return ke.digest(tr(this))}toCID(){return Ct.createV1(114,this.toMultihash())}toString(){return tt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:xt(this.raw,t.raw)}async verify(t,e,n){return fa(this.jwk,e,t,n)}},Qe=class{type="ECDSA";jwk;publicKey;_raw;constructor(t){this.jwk=t,this.publicKey=new kn({crv:t.crv,ext:t.ext,key_ops:["verify"],kty:"EC",x:t.x,y:t.y})}get raw(){return this._raw==null&&(this._raw=da(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:xt(this.raw,t.raw)}async sign(t,e){return la(this.jwk,t,e)}};var Ce=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Zt(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Gt(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function pt(r,...t){if(!Zt(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error("Uint8Array expected of length "+t+", got length="+r.length)}function rr(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Gt(r.outputLen),Gt(r.blockLen)}function nr(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function ma(r,t){pt(r);let e=t.outputLen;if(r.length<e)throw new Error("digestInto() expects output buffer of length at least "+e)}function vt(...r){for(let t=0;t<r.length;t++)r[t].fill(0)}function Ne(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function Rt(r,t){return r<<32-t|r>>>t}function In(r,t){return r<<t|r>>>32-t>>>0}var ba=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Sf=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Nt(r){if(pt(r),ba)return r.toHex();let t="";for(let e=0;e<r.length;e++)t+=Sf[r[e]];return t}var $t={_0:48,_9:57,A:65,F:70,a:97,f:102};function ga(r){if(r>=$t._0&&r<=$t._9)return r-$t._0;if(r>=$t.A&&r<=$t.F)return r-($t.A-10);if(r>=$t.a&&r<=$t.f)return r-($t.a-10)}function Ue(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);if(ba)return Uint8Array.fromHex(r);let t=r.length,e=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let s=0,o=0;s<e;s++,o+=2){let i=ga(r.charCodeAt(o)),a=ga(r.charCodeAt(o+1));if(i===void 0||a===void 0){let c=r[o]+r[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[s]=i*16+a}return n}var kf=async()=>{};async function wa(r,t,e){let n=Date.now();for(let s=0;s<r;s++){e(s);let o=Date.now()-n;o>=0&&o<t||(await kf(),n+=o)}}function Cn(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}function Or(r){return typeof r=="string"&&(r=Cn(r)),pt(r),r}function Ao(r){return typeof r=="string"&&(r=Cn(r)),pt(r),r}function yt(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];pt(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let o=r[n];e.set(o,s),s+=o.length}return e}function xa(r,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(r,t)}var er=class{};function Pr(r){let t=n=>r().update(Or(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function he(r=32){if(Ce&&typeof Ce.getRandomValues=="function")return Ce.getRandomValues(new Uint8Array(r));if(Ce&&typeof Ce.randomBytes=="function")return Uint8Array.from(Ce.randomBytes(r));throw new Error("crypto.getRandomValues must be defined")}function If(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let s=BigInt(32),o=BigInt(4294967295),i=Number(e>>s&o),a=Number(e&o),c=n?4:0,l=n?0:4;r.setUint32(t+c,i,n),r.setUint32(t+l,a,n)}function Nn(r,t,e){return r&t^~r&e}function Un(r,t,e){return r&t^r&e^t&e}var _e=class extends er{constructor(t,e,n,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=s,this.buffer=new Uint8Array(t),this.view=Ne(this.buffer)}update(t){nr(this),t=Or(t),pt(t);let{view:e,buffer:n,blockLen:s}=this,o=t.length;for(let i=0;i<o;){let a=Math.min(s-this.pos,o-i);if(a===s){let c=Ne(t);for(;s<=o-i;i+=s)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===s&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){nr(this),ma(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:s,isLE:o}=this,{pos:i}=this;e[i++]=128,vt(this.buffer.subarray(i)),this.padOffset>s-i&&(this.process(n,0),i=0);for(let u=i;u<s;u++)e[u]=0;If(n,s-8,BigInt(this.length*8),o),this.process(n,0);let a=Ne(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,h=this.get();if(l>h.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,h[u],o)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:s,finished:o,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=o,t.length=s,t.pos=a,s%e&&t.buffer.set(n),t}clone(){return this._cloneInto()}},zt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ot=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var _n=BigInt(4294967295),va=BigInt(32);function Cf(r,t=!1){return t?{h:Number(r&_n),l:Number(r>>va&_n)}:{h:Number(r>>va&_n)|0,l:Number(r&_n)|0}}function Ba(r,t=!1){let e=r.length,n=new Uint32Array(e),s=new Uint32Array(e);for(let o=0;o<e;o++){let{h:i,l:a}=Cf(r[o],t);[n[o],s[o]]=[i,a]}return[n,s]}var So=(r,t,e)=>r>>>e,ko=(r,t,e)=>r<<32-e|t>>>e,Te=(r,t,e)=>r>>>e|t<<32-e,Le=(r,t,e)=>r<<32-e|t>>>e,Mr=(r,t,e)=>r<<64-e|t>>>e-32,Fr=(r,t,e)=>r>>>e-32|t<<64-e;function Ht(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var Ea=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Aa=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,Sa=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),ka=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,Ia=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),Ca=(r,t,e,n,s,o)=>t+e+n+s+o+(r/2**32|0)|0;var Uf=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),de=new Uint32Array(64),Tn=class extends _e{constructor(t=32){super(64,t,8,!1),this.A=zt[0]|0,this.B=zt[1]|0,this.C=zt[2]|0,this.D=zt[3]|0,this.E=zt[4]|0,this.F=zt[5]|0,this.G=zt[6]|0,this.H=zt[7]|0}get(){let{A:t,B:e,C:n,D:s,E:o,F:i,G:a,H:c}=this;return[t,e,n,s,o,i,a,c]}set(t,e,n,s,o,i,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=o|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,e){for(let u=0;u<16;u++,e+=4)de[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let f=de[u-15],d=de[u-2],p=Rt(f,7)^Rt(f,18)^f>>>3,w=Rt(d,17)^Rt(d,19)^d>>>10;de[u]=w+de[u-7]+p+de[u-16]|0}let{A:n,B:s,C:o,D:i,E:a,F:c,G:l,H:h}=this;for(let u=0;u<64;u++){let f=Rt(a,6)^Rt(a,11)^Rt(a,25),d=h+f+Nn(a,c,l)+Uf[u]+de[u]|0,w=(Rt(n,2)^Rt(n,13)^Rt(n,22))+Un(n,s,o)|0;h=l,l=c,c=a,a=i+d|0,i=o,o=s,s=n,n=d+w|0}n=n+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,h=h+this.H|0,this.set(n,s,o,i,a,c,l,h)}roundClean(){vt(de)}destroy(){this.set(0,0,0,0,0,0,0,0),vt(this.buffer)}};var Na=Ba(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),_f=Na[0],Tf=Na[1],pe=new Uint32Array(80),ye=new Uint32Array(80),Ln=class extends _e{constructor(t=64){super(128,t,16,!1),this.Ah=ot[0]|0,this.Al=ot[1]|0,this.Bh=ot[2]|0,this.Bl=ot[3]|0,this.Ch=ot[4]|0,this.Cl=ot[5]|0,this.Dh=ot[6]|0,this.Dl=ot[7]|0,this.Eh=ot[8]|0,this.El=ot[9]|0,this.Fh=ot[10]|0,this.Fl=ot[11]|0,this.Gh=ot[12]|0,this.Gl=ot[13]|0,this.Hh=ot[14]|0,this.Hl=ot[15]|0}get(){let{Ah:t,Al:e,Bh:n,Bl:s,Ch:o,Cl:i,Dh:a,Dl:c,Eh:l,El:h,Fh:u,Fl:f,Gh:d,Gl:p,Hh:w,Hl:B}=this;return[t,e,n,s,o,i,a,c,l,h,u,f,d,p,w,B]}set(t,e,n,s,o,i,a,c,l,h,u,f,d,p,w,B){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=s|0,this.Ch=o|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=h|0,this.Fh=u|0,this.Fl=f|0,this.Gh=d|0,this.Gl=p|0,this.Hh=w|0,this.Hl=B|0}process(t,e){for(let x=0;x<16;x++,e+=4)pe[x]=t.getUint32(e),ye[x]=t.getUint32(e+=4);for(let x=16;x<80;x++){let I=pe[x-15]|0,D=ye[x-15]|0,P=Te(I,D,1)^Te(I,D,8)^So(I,D,7),O=Le(I,D,1)^Le(I,D,8)^ko(I,D,7),K=pe[x-2]|0,v=ye[x-2]|0,U=Te(K,v,19)^Mr(K,v,61)^So(K,v,6),V=Le(K,v,19)^Fr(K,v,61)^ko(K,v,6),_=Sa(O,V,ye[x-7],ye[x-16]),b=ka(_,P,U,pe[x-7],pe[x-16]);pe[x]=b|0,ye[x]=_|0}let{Ah:n,Al:s,Bh:o,Bl:i,Ch:a,Cl:c,Dh:l,Dl:h,Eh:u,El:f,Fh:d,Fl:p,Gh:w,Gl:B,Hh:y,Hl:A}=this;for(let x=0;x<80;x++){let I=Te(u,f,14)^Te(u,f,18)^Mr(u,f,41),D=Le(u,f,14)^Le(u,f,18)^Fr(u,f,41),P=u&d^~u&w,O=f&p^~f&B,K=Ia(A,D,O,Tf[x],ye[x]),v=Ca(K,y,I,P,_f[x],pe[x]),U=K|0,V=Te(n,s,28)^Mr(n,s,34)^Mr(n,s,39),_=Le(n,s,28)^Fr(n,s,34)^Fr(n,s,39),b=n&o^n&a^o&a,g=s&i^s&c^i&c;y=w|0,A=B|0,w=d|0,B=p|0,d=u|0,p=f|0,{h:u,l:f}=Ht(l|0,h|0,v|0,U|0),l=a|0,h=c|0,a=o|0,c=i|0,o=n|0,i=s|0;let m=Ea(U,_,g);n=Aa(m,v,V,b),s=m|0}({h:n,l:s}=Ht(this.Ah|0,this.Al|0,n|0,s|0)),{h:o,l:i}=Ht(this.Bh|0,this.Bl|0,o|0,i|0),{h:a,l:c}=Ht(this.Ch|0,this.Cl|0,a|0