@helia/routers 3.0.0-deb9165 → 3.0.0-e6339ed

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.
Files changed (2) hide show
  1. package/dist/index.min.js +11 -81
  2. package/package.json +3 -3
package/dist/index.min.js CHANGED
@@ -1,49 +1,19 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaRouters = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var HeliaRouters=(()=>{var bh=Object.create;var Ln=Object.defineProperty;var vh=Object.getOwnPropertyDescriptor;var Eh=Object.getOwnPropertyNames;var Bh=Object.getPrototypeOf,Ah=Object.prototype.hasOwnProperty;var Di=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Ct=(r,t)=>{for(var e in t)Ln(r,e,{get:t[e],enumerable:!0})},tc=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Eh(t))!Ah.call(r,o)&&o!==e&&Ln(r,o,{get:()=>t[o],enumerable:!(n=vh(t,o))||n.enumerable});return r};var Vn=(r,t,e)=>(e=r!=null?bh(Bh(r)):{},tc(t||!r||!r.__esModule?Ln(e,"default",{value:r,enumerable:!0}):e,r)),Sh=r=>tc(Ln({},"__esModule",{value:!0}),r);var iu=Di(Ur=>{"use strict";var cp="[object ArrayBuffer]",Ae=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===cp}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),o=r.toUint8Array(e);if(n.length!==o.byteLength)return!1;for(let i=0;i<n.length;i++)if(n[i]!==o[i])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 s of e)n+=s.byteLength;let o=new Uint8Array(n),i=0;for(let s of e){let a=this.toUint8Array(s);o.set(a,i),i+=a.length}return t[t.length-1]instanceof Function?this.toView(o,t[t.length-1]):o.buffer}},Zs="string",up=/^[0-9a-f\s]+$/i,lp=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,fp=/^[a-zA-Z0-9-_]+$/,io=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return n.buffer}static toString(t){let e=Ae.toUint8Array(t),n="";for(let i=0;i<e.length;i++)n+=String.fromCharCode(e[i]);return decodeURIComponent(escape(n))}},zt=class{static toString(t,e=!1){let n=Ae.toArrayBuffer(t),o=new DataView(n),i="";for(let s=0;s<n.byteLength;s+=2){let a=o.getUint16(s,e);i+=String.fromCharCode(a)}return i}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),o=new DataView(n);for(let i=0;i<t.length;i++)o.setUint16(i*2,t.charCodeAt(i),e);return n}},so=class r{static isHex(t){return typeof t===Zs&&up.test(t)}static isBase64(t){return typeof t===Zs&&lp.test(t)}static isBase64Url(t){return typeof t===Zs&&fp.test(t)}static ToString(t,e="utf8"){let n=Ae.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 zt.toString(n,!0);case"utf16":case"utf16be":return zt.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 zt.fromString(t,!0);case"utf16":case"utf16be":return zt.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=Ae.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 io.fromString(t);case"utf16":case"utf16be":return zt.fromString(t);case"utf16le":case"usc2":return zt.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 io.toString(t);case"utf16":case"utf16be":return zt.toString(t);case"utf16le":case"usc2":return zt.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 o=0;o<e;o++)n[o]=t.charCodeAt(o);return n.buffer}static ToBinary(t){let e=Ae.toUint8Array(t),n="";for(let o=0;o<e.length;o++)n+=String.fromCharCode(e[o]);return n}static ToHex(t){let e=Ae.toUint8Array(t),n="",o=e.length;for(let i=0;i<o;i++){let s=e[i];s<16&&(n+="0"),n+=s.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 o=0;o<e.length;o=o+2){let i=e.slice(o,o+2);n[o/2]=parseInt(i,16)}return n.buffer}static ToUtf16String(t,e=!1){return zt.toString(t,e)}static FromUtf16String(t,e=!1){return zt.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,"")||""}};so.DEFAULT_UTF8_ENCODING="utf8";function hp(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let o=arguments[n];for(let i in o)e[i]=o[i]}return e}function dp(...r){let t=r.map(o=>o.byteLength).reduce((o,i)=>o+i),e=new Uint8Array(t),n=0;return r.map(o=>new Uint8Array(o)).forEach(o=>{for(let i of o)e[n++]=i}),e.buffer}function pp(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<r.byteLength;o++)if(e[o]!==n[o])return!1;return!0}Ur.BufferSourceConverter=Ae;Ur.Convert=so;Ur.assign=hp;Ur.combine=dp;Ur.isEqual=pp});var Aa=Di((w2,Ba)=>{var y2=function(){typeof Ba<"u"&&(Ba.exports=w);var r=86400,t=3200,e=146097*t/400,n=r*e,o=1e3*n,i=864e13,s=4294967296,a=1e6,c="000000000",f=Math.trunc||function(b){var v=b-b%1;return v==0&&(b<0||b===0&&1/b!=1/0)?-0:v},u=w.prototype,l=(w.fromDate=function(b){return new w(+b)},w.fromInt64BE=U(0,1,2,3,0,4),w.fromInt64LE=U(3,2,1,0,4,0),w.fromString=function(L){var v,D=new w,L=(L+="").replace(/^\s*[+\-]?\d+/,function($){var $=+$,S=1970+($-1970)%400;return D.year=$-S,S}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(C,$,S){return $<0&&(S*=-1),v=6e4*(60*+$+ +S),""}).replace(/\.\d+$/,function(C){return D.nano=+(C+c).substr(1,9),""}).split(/\D+/);if(1<L.length?L[1]--:L[1]=0,D.time=v=Date.UTC.apply(Date,L)-(v||0),isNaN(v))throw new TypeError("Invalid Date");return d(D)},w.fromTimeT=function(b){return T(b,0)},u.year=0,u.time=0,u.nano=0,u.addNano=function(b){return this.nano+=+b||0,this},u.getNano=function(){var b=d(this);return(b.time%1e3*a+ +b.nano+1e9)%1e9},u.getTimeT=function(){var v=d(this),b=Math.floor(v.time/1e3),v=v.year;return v&&(b+=v*e*r/t),b},u.getYear=function(){return this.toDate().getUTCFullYear()+this.year},u.toDate=function(){return A(d(this).time)},u.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},u.toString=function(b){var v=this,D=v.toDate(),L={H:function(){return P(D.getUTCHours())},L:function(){return R(D.getUTCMilliseconds(),3)},M:function(){return P(D.getUTCMinutes())},N:function(){return R(v.getNano(),9)},S:function(){return P(D.getUTCSeconds())},Y:function(){var C=v.getYear();return 999999<C?"+"+C:9999<C?"+"+R(C,6):0<=C?R(C,4):-999999<=C?"-"+R(-C,6):C},a:function(){return m[D.getUTCDay()]},b:function(){return h[D.getUTCMonth()]},d:function(){return P(D.getUTCDate())},e:function(){return function(C){return(9<C?"":" ")+(0|C)}(D.getUTCDate())},m:function(){return P(D.getUTCMonth()+1)}};return function C($){return $.replace(/%./g,function(S){var g=S[1],I=B[g],g=L[g];return I?C(I):g?g():S})}(b||l)},u.writeInt64BE=x(0,1,2,3,0,4),u.writeInt64LE=x(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],B={"%":"%",F:"%Y-%m-%d",n:`
3
- `,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return w;function w(b,v,D){var L=this;if(!(L instanceof w))return new w(b,v,D);L.time=+b||0,L.nano=+v||0,L.year=+D||0,d(L)}function d(b){var v,D,L,C=b.year,$=b.time,S=b.nano,I=((S<0||a<=S)&&(S-=(D=Math.floor(S/a))*a,$+=D,D=1),C%t);return($<-i||i<$||I)&&((v=f($/o))&&(C+=v*t,$-=v*o),(L=A($)).setUTCFullYear(I+L.getUTCFullYear()),L=($=+L)+(v=f((C-=I)/t))*o,v&&-i<=L&&L<=i&&(C-=v*t,$=L),D=1),D&&(b.year=C,b.time=$,b.nano=S),b}function A(b){var v=new Date(0);return v.setTime(b),v}function T(C,L){C=+C||0;var D=f((L=(L|0)*s)/n)+f(C/n),L=L%n+C%n,C=f(L/n);return C&&(D+=C,L-=C*n),new w(1e3*L,0,D*t)}function x(b,v,D,L,C,$){return function(I,g){var E=d(this);I=I||new Array(8),F(I,g|=0);var N=Math.floor(E.time/1e3),E=E.year*(e*r/t),p=f(E/s)+f(N/s),E=E%s+N%s,N=Math.floor(E/s);return N&&(p+=N,E-=N*s),S(I,g+C,p),S(I,g+$,E),I};function S(I,g,p){I[g+b]=p>>24&255,I[g+v]=p>>16&255,I[g+D]=p>>8&255,I[g+L]=255&p}}function U(b,v,D,L,C,$){return function(I,g){F(I,g|=0);var p=S(I,g+C);return T(S(I,g+$),p)};function S(I,g){return 16777216*I[g+b]+(I[g+v]<<16|I[g+D]<<8|I[g+L])}}function F(b,v){if(b=b&&b.length,b==null)throw new TypeError("Invalid Buffer");if(b<v+8)throw new RangeError("Out of range")}function P(b){return(9<b?"":"0")+(0|b)}function R(b,v){return(c+(0|b)).substr(-v)}}()});var Gf=Di((dE,Ra)=>{"use strict";var Hg=Object.prototype.hasOwnProperty,Ut="~";function Cn(){}Object.create&&(Cn.prototype=Object.create(null),new Cn().__proto__||(Ut=!1));function $g(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function jf(r,t,e,n,o){if(typeof e!="function")throw new TypeError("The listener must be a function");var i=new $g(e,n||r,o),s=Ut?Ut+t:t;return r._events[s]?r._events[s].fn?r._events[s]=[r._events[s],i]:r._events[s].push(i):(r._events[s]=i,r._eventsCount++),r}function Ti(r,t){--r._eventsCount===0?r._events=new Cn:delete r._events[t]}function kt(){this._events=new Cn,this._eventsCount=0}kt.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)Hg.call(e,n)&&t.push(Ut?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};kt.prototype.listeners=function(t){var e=Ut?Ut+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s};kt.prototype.listenerCount=function(t){var e=Ut?Ut+t:t,n=this._events[e];return n?n.fn?1:n.length:0};kt.prototype.emit=function(t,e,n,o,i,s){var a=Ut?Ut+t:t;if(!this._events[a])return!1;var c=this._events[a],f=arguments.length,u,l;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),f){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,o),!0;case 5:return c.fn.call(c.context,e,n,o,i),!0;case 6:return c.fn.call(c.context,e,n,o,i,s),!0}for(l=1,u=new Array(f-1);l<f;l++)u[l-1]=arguments[l];c.fn.apply(c.context,u)}else{var h=c.length,m;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),f){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,e);break;case 3:c[l].fn.call(c[l].context,e,n);break;case 4:c[l].fn.call(c[l].context,e,n,o);break;default:if(!u)for(m=1,u=new Array(f-1);m<f;m++)u[m-1]=arguments[m];c[l].fn.apply(c[l].context,u)}}return!0};kt.prototype.on=function(t,e,n){return jf(this,t,e,n,!1)};kt.prototype.once=function(t,e,n){return jf(this,t,e,n,!0)};kt.prototype.removeListener=function(t,e,n,o){var i=Ut?Ut+t:t;if(!this._events[i])return this;if(!e)return Ti(this,i),this;var s=this._events[i];if(s.fn)s.fn===e&&(!o||s.once)&&(!n||s.context===n)&&Ti(this,i);else{for(var a=0,c=[],f=s.length;a<f;a++)(s[a].fn!==e||o&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[i]=c.length===1?c[0]:c:Ti(this,i)}return this};kt.prototype.removeAllListeners=function(t){var e;return t?(e=Ut?Ut+t:t,this._events[e]&&Ti(this,e)):(this._events=new Cn,this._eventsCount=0),this};kt.prototype.off=kt.prototype.removeListener;kt.prototype.addListener=kt.prototype.on;kt.prefixed=Ut;kt.EventEmitter=kt;typeof Ra<"u"&&(Ra.exports=kt)});var um={};Ct(um,{delegatedHTTPRouting:()=>rh,delegatedHTTPRoutingDefaults:()=>_i,httpGatewayRouting:()=>lh,libp2pRouting:()=>fh});var ec=Symbol.for("@libp2p/content-routing");var Oi=Symbol.for("@libp2p/peer-id");var rc=Symbol.for("@libp2p/peer-routing");var Et=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},hr=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var Lt=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var _n=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},dr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var pr=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var qi={};Ct(qi,{base32:()=>Zt,base32hex:()=>Vh,base32hexpad:()=>Ph,base32hexpadupper:()=>Fh,base32hexupper:()=>_h,base32pad:()=>Rh,base32padupper:()=>Lh,base32upper:()=>Uh,base32z:()=>Dh});var gm=new Uint8Array(0);function nc(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 ye(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 oc(r){return new TextEncoder().encode(r)}function ic(r){return new TextDecoder().decode(r)}function Ih(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(B){if(B instanceof Uint8Array||(ArrayBuffer.isView(B)?B=new Uint8Array(B.buffer,B.byteOffset,B.byteLength):Array.isArray(B)&&(B=Uint8Array.from(B))),!(B instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(B.length===0)return"";for(var w=0,d=0,A=0,T=B.length;A!==T&&B[A]===0;)A++,w++;for(var x=(T-A)*u+1>>>0,U=new Uint8Array(x);A!==T;){for(var F=B[A],P=0,R=x-1;(F!==0||P<d)&&R!==-1;R--,P++)F+=256*U[R]>>>0,U[R]=F%a>>>0,F=F/a>>>0;if(F!==0)throw new Error("Non-zero carry");d=P,A++}for(var b=x-d;b!==x&&U[b]===0;)b++;for(var v=c.repeat(w);b<x;++b)v+=r.charAt(U[b]);return v}function h(B){if(typeof B!="string")throw new TypeError("Expected String");if(B.length===0)return new Uint8Array;var w=0;if(B[w]!==" "){for(var d=0,A=0;B[w]===c;)d++,w++;for(var T=(B.length-w)*f+1>>>0,x=new Uint8Array(T);B[w];){var U=e[B.charCodeAt(w)];if(U===255)return;for(var F=0,P=T-1;(U!==0||F<A)&&P!==-1;P--,F++)U+=a*x[P]>>>0,x[P]=U%256>>>0,U=U/256>>>0;if(U!==0)throw new Error("Non-zero carry");A=F,w++}if(B[w]!==" "){for(var R=T-A;R!==T&&x[R]===0;)R++;for(var b=new Uint8Array(d+(T-R)),v=d;R!==T;)b[v++]=x[R++];return b}}}function m(B){var w=h(B);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:h,decode:m}}var kh=Ih,Th=kh,ac=Th;var Mi=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")}},Hi=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return cc(this,t)}},$i=class{decoders;constructor(t){this.decoders=t}or(t){return cc(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 cc(r,t){return new $i({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Ki=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Mi(t,e,n),this.decoder=new Hi(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function gr({name:r,prefix:t,encode:e,decode:n}){return new Ki(r,t,e,n)}function Ve({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=ac(e,r);return gr({prefix:t,name:r,encode:n,decode:i=>ye(o(i))})}function Ch(r,t,e,n){let o={};for(let u=0;u<t.length;++u)o[t[u]]=u;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),a=0,c=0,f=0;for(let u=0;u<i;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|l,a+=e,a>=8&&(a-=8,s[f++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s}function Nh(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,i="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,i+=t[o&a>>s];if(s!==0&&(i+=t[o&a<<e-s]),n)for(;i.length*e&7;)i+="=";return i}function ct({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return gr({prefix:t,name:r,encode(o){return Nh(o,n,e)},decode(o){return Ch(o,n,e,r)}})}var Zt=ct({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Uh=ct({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Rh=ct({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Lh=ct({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Vh=ct({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),_h=ct({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ph=ct({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Fh=ct({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Dh=ct({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var zi={};Ct(zi,{base58btc:()=>rt,base58flickr:()=>Oh});var rt=Ve({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Oh=Ve({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Gi={};Ct(Gi,{base64:()=>ji,base64pad:()=>Mh,base64url:()=>Hh,base64urlpad:()=>$h});var ji=ct({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Mh=ct({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hh=ct({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),$h=ct({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function Kh(r,t){try{if(typeof r=="string"&&r.length>0)return qh(r);if(typeof r=="number"&&isFinite(r))return t?.long?jh(r):zh(r);throw new Error("Value is not a string or number.")}catch(e){let n=Gh(e)?`${e.message}. value=${JSON.stringify(r)}`:"An unknown error has occured.";throw new Error(n)}}function qh(r){if(r=String(r),r.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!t)return NaN;let e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*315576e5;case"weeks":case"week":case"w":return e*6048e5;case"days":case"day":case"d":return e*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return e*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return e*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return e*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var Fn=Kh;function zh(r){let t=Math.abs(r);return t>=864e5?`${Math.round(r/864e5)}d`:t>=36e5?`${Math.round(r/36e5)}h`:t>=6e4?`${Math.round(r/6e4)}m`:t>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function jh(r){let t=Math.abs(r);return t>=864e5?Pn(r,t,864e5,"day"):t>=36e5?Pn(r,t,36e5,"hour"):t>=6e4?Pn(r,t,6e4,"minute"):t>=1e3?Pn(r,t,1e3,"second"):`${r} ms`}function Pn(r,t,e,n){let o=t>=e*1.5;return`${Math.round(r/e)} ${n}${o?"s":""}`}function Gh(r){return typeof r=="object"&&r!==null&&"message"in r}function Zi(r){e.debug=e,e.default=e,e.coerce=c,e.disable=i,e.enable=o,e.enabled=s,e.humanize=Fn,e.destroy=f,Object.keys(r).forEach(u=>{e[u]=r[u]}),e.names=[],e.skips=[],e.formatters={};function t(u){let l=0;for(let h=0;h<u.length;h++)l=(l<<5)-l+u.charCodeAt(h),l|=0;return e.colors[Math.abs(l)%e.colors.length]}e.selectColor=t;function e(u){let l,h=null,m,B;function w(...d){if(!w.enabled)return;let A=w,T=Number(new Date),x=T-(l||T);A.diff=x,A.prev=l,A.curr=T,l=T,d[0]=e.coerce(d[0]),typeof d[0]!="string"&&d.unshift("%O");let U=0;d[0]=d[0].replace(/%([a-zA-Z%])/g,(P,R)=>{if(P==="%%")return"%";U++;let b=e.formatters[R];if(typeof b=="function"){let v=d[U];P=b.call(A,v),d.splice(U,1),U--}return P}),e.formatArgs.call(A,d),(A.log||e.log).apply(A,d)}return w.namespace=u,w.useColors=e.useColors(),w.color=e.selectColor(u),w.extend=n,w.destroy=e.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(m!==e.namespaces&&(m=e.namespaces,B=e.enabled(u)),B),set:d=>{h=d}}),typeof e.init=="function"&&e.init(w),w}function n(u,l){let h=e(this.namespace+(typeof l>"u"?":":l)+u);return h.log=this.log,h}function o(u){e.save(u),e.namespaces=u,e.names=[],e.skips=[];let l,h=(typeof u=="string"?u:"").split(/[\s,]+/),m=h.length;for(l=0;l<m;l++)h[l]&&(u=h[l].replace(/\*/g,".*?"),u[0]==="-"?e.skips.push(new RegExp("^"+u.substr(1)+"$")):e.names.push(new RegExp("^"+u+"$")))}function i(){let u=[...e.names.map(a),...e.skips.map(a).map(l=>"-"+l)].join(",");return e.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let l,h;for(l=0,h=e.skips.length;l<h;l++)if(e.skips[l].test(u))return!1;for(l=0,h=e.names.length;l<h;l++)if(e.names[l].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack??u.message:u}function f(){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 e.setupFormatters(e.formatters),e.enable(e.load()),e}var Dn=td(),Zh=["#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 Wh(){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 Yh(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Fn(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(e++,o==="%c"&&(n=e))}),r.splice(n,0,t)}var Jh=console.debug??console.log??(()=>{});function Xh(r){try{r?Dn?.setItem("debug",r):Dn?.removeItem("debug")}catch{}}function Qh(){let r;try{r=Dn?.getItem("debug")}catch{}return!r&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(r=globalThis.process.env.DEBUG),r}function td(){try{return localStorage}catch{}}function ed(r){r.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}var uc=Zi({formatArgs:Yh,save:Xh,load:Qh,useColors:Wh,setupFormatters:ed,colors:Zh,storage:Dn,log:Jh});var Vt=uc;Vt.formatters.b=r=>r==null?"undefined":rt.baseEncode(r);Vt.formatters.t=r=>r==null?"undefined":Zt.baseEncode(r);Vt.formatters.m=r=>r==null?"undefined":ji.baseEncode(r);Vt.formatters.p=r=>r==null?"undefined":r.toString();Vt.formatters.c=r=>r==null?"undefined":r.toString();Vt.formatters.k=r=>r==null?"undefined":r.toString();Vt.formatters.a=r=>r==null?"undefined":r.toString();Vt.formatters.e=r=>r==null?"undefined":lc(r.stack)??lc(r.message)??r.toString();function rd(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function _e(r){let t=rd(`${r}:trace`);return Vt.enabled(`${r}:trace`)&&Vt.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=Vt(`${r}:trace`)),Object.assign(Vt(r),{error:Vt(`${r}:error`),trace:t})}function lc(r){if(r!=null&&(r=r.trim(),r.length!==0))return r}var Wi={};Ct(Wi,{base36:()=>mr,base36upper:()=>nd});var mr=Ve({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),nd=Ve({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var od=dc,fc=128,id=127,sd=~id,ad=Math.pow(2,31);function dc(r,t,e){t=t||[],e=e||0;for(var n=e;r>=ad;)t[e++]=r&255|fc,r/=128;for(;r&sd;)t[e++]=r&255|fc,r>>>=7;return t[e]=r|0,dc.bytes=e-n+1,t}var cd=Yi,ud=128,hc=127;function Yi(r,n){var e=0,n=n||0,o=0,i=n,s,a=r.length;do{if(i>=a)throw Yi.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=o<28?(s&hc)<<o:(s&hc)*Math.pow(2,o),o+=7}while(s>=ud);return Yi.bytes=i-n,e}var ld=Math.pow(2,7),fd=Math.pow(2,14),hd=Math.pow(2,21),dd=Math.pow(2,28),pd=Math.pow(2,35),gd=Math.pow(2,42),md=Math.pow(2,49),yd=Math.pow(2,56),wd=Math.pow(2,63),xd=function(r){return r<ld?1:r<fd?2:r<hd?3:r<dd?4:r<pd?5:r<gd?6:r<md?7:r<yd?8:r<wd?9:10},bd={encode:od,decode:cd,encodingLength:xd},vd=bd,Wr=vd;function Yr(r,t=0){return[Wr.decode(r,t),Wr.decode.bytes]}function yr(r,t,e=0){return Wr.encode(r,t,e),t}function wr(r){return Wr.encodingLength(r)}function Wt(r,t){let e=t.byteLength,n=wr(r),o=n+wr(e),i=new Uint8Array(o+e);return yr(r,i,0),yr(e,i,n),i.set(t,o),new xr(r,e,t,i)}function we(r){let t=ye(r),[e,n]=Yr(t),[o,i]=Yr(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new xr(e,o,s,t)}function pc(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&nc(r.bytes,e.bytes)}}var xr=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};function gc(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Bd(e,Ji(r),t??rt.encoder);default:return Ad(e,Ji(r),t??Zt.encoder)}}var mc=new WeakMap;function Ji(r){let t=mc.get(r);if(t==null){let e=new Map;return mc.set(r,e),e}return t}var X=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Jr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Sd)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=Wt(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&&pc(t.multihash,n.multihash)}toString(t){return gc(this,t)}toJSON(){return{"/":gc(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:i,bytes:s}=e;return new r(n,o,i,s??yc(n,o,i.bytes))}else if(e[Id]===!0){let{version:n,multihash:o,code:i}=e,s=we(o);return r.create(n,i,s)}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!==Jr)throw new Error(`Version 0 CID must use dag-pb (code: ${Jr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=yc(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Jr,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=ye(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=o.subarray(e.multihashSize-e.digestSize),s=new xr(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,h]=Yr(t.subarray(e));return e+=h,l},o=n(),i=Jr;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=e,a=n(),c=n(),f=e+c,u=f-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(t,e){let[n,o]=Ed(t,e),i=r.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ji(i).set(n,t),i}};function Ed(r,t){switch(r[0]){case"Q":{let e=t??rt;return[rt.prefix,e.decode(`${rt.prefix}${r}`)]}case rt.prefix:{let e=t??rt;return[rt.prefix,e.decode(r)]}case Zt.prefix:{let e=t??Zt;return[Zt.prefix,e.decode(r)]}case mr.prefix:{let e=t??mr;return[mr.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 Bd(r,t,e){let{prefix:n}=e;if(n!==rt.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return o}function Ad(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let i=e.encode(r);return t.set(n,i),i}else return o}var Jr=112,Sd=18;function yc(r,t,e){let n=wr(r),o=n+wr(t),i=new Uint8Array(o+e.byteLength);return yr(r,i,0),yr(t,i,n),i.set(e,o),i}var Id=Symbol.for("@ipld/js-cid/CID");var Xi={};Ct(Xi,{identity:()=>Yt});var wc=0,kd="identity",xc=ye;function Td(r){return Wt(wc,xc(r))}var Yt={code:wc,name:kd,encode:xc,digest:Td};function st(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 bc(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function Cd(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function br(r,...t){if(!Cd(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 vc(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");bc(r.outputLen),bc(r.blockLen)}function vr(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 Ec(r,t){br(r);let e=t.outputLen;if(r.length<e)throw new Error("digestInto() expects output buffer of length at least "+e)}var Xe=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Mn(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function Jt(r,t){return r<<32-t|r>>>t}function Bc(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function Xr(r){return typeof r=="string"&&(r=Bc(r)),br(r),r}function Qi(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];br(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let i=r[n];e.set(i,o),o+=i.length}return e}var Er=class{clone(){return this._cloneInto()}};function Hn(r){let t=n=>r().update(Xr(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function $n(r=32){if(Xe&&typeof Xe.getRandomValues=="function")return Xe.getRandomValues(new Uint8Array(r));if(Xe&&typeof Xe.randomBytes=="function")return Xe.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function Nd(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(e>>o&i),a=Number(e&i),c=n?4:0,f=n?0:4;r.setUint32(t+c,s,n),r.setUint32(t+f,a,n)}function Ac(r,t,e){return r&t^~r&e}function Sc(r,t,e){return r&t^r&e^t&e}var Br=class extends Er{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Mn(this.buffer)}update(t){vr(this);let{view:e,buffer:n,blockLen:o}=this;t=Xr(t);let i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=Mn(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){vr(this),Ec(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;e[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(n,0),s=0);for(let l=s;l<o;l++)e[l]=0;Nd(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Mn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)a.setUint32(4*l,u[l],i)}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:o,finished:i,destroyed:s,pos:a}=this;return t.length=o,t.pos=a,t.finished=i,t.destroyed=s,o%e&&t.buffer.set(n),t}};var Kn=BigInt(4294967295),ts=BigInt(32);function Ic(r,t=!1){return t?{h:Number(r&Kn),l:Number(r>>ts&Kn)}:{h:Number(r>>ts&Kn)|0,l:Number(r&Kn)|0}}function Ud(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:i,l:s}=Ic(r[o],t);[e[o],n[o]]=[i,s]}return[e,n]}var Rd=(r,t)=>BigInt(r>>>0)<<ts|BigInt(t>>>0),Ld=(r,t,e)=>r>>>e,Vd=(r,t,e)=>r<<32-e|t>>>e,_d=(r,t,e)=>r>>>e|t<<32-e,Pd=(r,t,e)=>r<<32-e|t>>>e,Fd=(r,t,e)=>r<<64-e|t>>>e-32,Dd=(r,t,e)=>r>>>e-32|t<<64-e,Od=(r,t)=>t,Md=(r,t)=>r,Hd=(r,t,e)=>r<<e|t>>>32-e,$d=(r,t,e)=>t<<e|r>>>32-e,Kd=(r,t,e)=>t<<e-32|r>>>64-e,qd=(r,t,e)=>r<<e-32|t>>>64-e;function zd(r,t,e,n){let o=(t>>>0)+(n>>>0);return{h:r+e+(o/2**32|0)|0,l:o|0}}var jd=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Gd=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,Zd=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Wd=(r,t,e,n,o)=>t+e+n+o+(r/2**32|0)|0,Yd=(r,t,e,n,o)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),Jd=(r,t,e,n,o,i)=>t+e+n+o+i+(r/2**32|0)|0;var Xd={fromBig:Ic,split:Ud,toBig:Rd,shrSH:Ld,shrSL:Vd,rotrSH:_d,rotrSL:Pd,rotrBH:Fd,rotrBL:Dd,rotr32H:Od,rotr32L:Md,rotlSH:Hd,rotlSL:$d,rotlBH:Kd,rotlBL:qd,add:zd,add3L:jd,add3H:Gd,add4L:Zd,add4H:Wd,add5H:Jd,add5L:Yd},q=Xd;var[Qd,t0]=q.split(["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))),Fe=new Uint32Array(80),De=new Uint32Array(80),es=class extends Br{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:f,El:u,Fh:l,Fl:h,Gh:m,Gl:B,Hh:w,Hl:d}=this;return[t,e,n,o,i,s,a,c,f,u,l,h,m,B,w,d]}set(t,e,n,o,i,s,a,c,f,u,l,h,m,B,w,d){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=h|0,this.Gh=m|0,this.Gl=B|0,this.Hh=w|0,this.Hl=d|0}process(t,e){for(let x=0;x<16;x++,e+=4)Fe[x]=t.getUint32(e),De[x]=t.getUint32(e+=4);for(let x=16;x<80;x++){let U=Fe[x-15]|0,F=De[x-15]|0,P=q.rotrSH(U,F,1)^q.rotrSH(U,F,8)^q.shrSH(U,F,7),R=q.rotrSL(U,F,1)^q.rotrSL(U,F,8)^q.shrSL(U,F,7),b=Fe[x-2]|0,v=De[x-2]|0,D=q.rotrSH(b,v,19)^q.rotrBH(b,v,61)^q.shrSH(b,v,6),L=q.rotrSL(b,v,19)^q.rotrBL(b,v,61)^q.shrSL(b,v,6),C=q.add4L(R,L,De[x-7],De[x-16]),$=q.add4H(C,P,D,Fe[x-7],Fe[x-16]);Fe[x]=$|0,De[x]=C|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:f,Dl:u,Eh:l,El:h,Fh:m,Fl:B,Gh:w,Gl:d,Hh:A,Hl:T}=this;for(let x=0;x<80;x++){let U=q.rotrSH(l,h,14)^q.rotrSH(l,h,18)^q.rotrBH(l,h,41),F=q.rotrSL(l,h,14)^q.rotrSL(l,h,18)^q.rotrBL(l,h,41),P=l&m^~l&w,R=h&B^~h&d,b=q.add5L(T,F,R,t0[x],De[x]),v=q.add5H(b,A,U,P,Qd[x],Fe[x]),D=b|0,L=q.rotrSH(n,o,28)^q.rotrBH(n,o,34)^q.rotrBH(n,o,39),C=q.rotrSL(n,o,28)^q.rotrBL(n,o,34)^q.rotrBL(n,o,39),$=n&i^n&a^i&a,S=o&s^o&c^s&c;A=w|0,T=d|0,w=m|0,d=B|0,m=l|0,B=h|0,{h:l,l:h}=q.add(f|0,u|0,v|0,D|0),f=a|0,u=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let I=q.add3L(D,C,S);n=q.add3H(I,v,L,$),o=I|0}({h:n,l:o}=q.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=q.add(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=q.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l:u}=q.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:h}=q.add(this.Eh|0,this.El|0,l|0,h|0),{h:m,l:B}=q.add(this.Fh|0,this.Fl|0,m|0,B|0),{h:w,l:d}=q.add(this.Gh|0,this.Gl|0,w|0,d|0),{h:A,l:T}=q.add(this.Hh|0,this.Hl|0,A|0,T|0),this.set(n,o,i,s,a,c,f,u,l,h,m,B,w,d,A,T)}roundClean(){Fe.fill(0),De.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var kc=Hn(()=>new es);var jn={};Ct(jn,{aInRange:()=>_t,abool:()=>Xt,abytes:()=>Ar,bitGet:()=>s0,bitLen:()=>is,bitMask:()=>tn,bitSet:()=>a0,bytesToHex:()=>be,bytesToNumberBE:()=>ve,bytesToNumberLE:()=>Me,concatBytes:()=>Ee,createHmacDrbg:()=>ss,ensureBytes:()=>at,equalBytes:()=>o0,hexToBytes:()=>tr,hexToNumber:()=>os,inRange:()=>Qr,isBytes:()=>Oe,memoized:()=>rr,notImplemented:()=>u0,numberToBytesBE:()=>He,numberToBytesLE:()=>er,numberToHexUnpadded:()=>Qe,numberToVarBytesBE:()=>n0,utf8ToBytes:()=>i0,validateObject:()=>ue});var qn=BigInt(0),zn=BigInt(1),e0=BigInt(2);function Oe(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Ar(r){if(!Oe(r))throw new Error("Uint8Array expected")}function Xt(r,t){if(typeof t!="boolean")throw new Error(r+" boolean expected, got "+t)}var r0=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function be(r){Ar(r);let t="";for(let e=0;e<r.length;e++)t+=r0[r[e]];return t}function Qe(r){let t=r.toString(16);return t.length&1?"0"+t:t}function os(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?qn:BigInt("0x"+r)}var xe={_0:48,_9:57,A:65,F:70,a:97,f:102};function Tc(r){if(r>=xe._0&&r<=xe._9)return r-xe._0;if(r>=xe.A&&r<=xe.F)return r-(xe.A-10);if(r>=xe.a&&r<=xe.f)return r-(xe.a-10)}function tr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof 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 o=0,i=0;o<e;o++,i+=2){let s=Tc(r.charCodeAt(i)),a=Tc(r.charCodeAt(i+1));if(s===void 0||a===void 0){let c=r[i]+r[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function ve(r){return os(be(r))}function Me(r){return Ar(r),os(be(Uint8Array.from(r).reverse()))}function He(r,t){return tr(r.toString(16).padStart(t*2,"0"))}function er(r,t){return He(r,t).reverse()}function n0(r){return tr(Qe(r))}function at(r,t,e){let n;if(typeof t=="string")try{n=tr(t)}catch(i){throw new Error(r+" must be hex string or Uint8Array, cause: "+i)}else if(Oe(t))n=Uint8Array.from(t);else throw new Error(r+" must be hex string or Uint8Array");let o=n.length;if(typeof e=="number"&&o!==e)throw new Error(r+" of length "+e+" expected, got "+o);return n}function Ee(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];Ar(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let i=r[n];e.set(i,o),o+=i.length}return e}function o0(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function i0(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}var rs=r=>typeof r=="bigint"&&qn<=r;function Qr(r,t,e){return rs(r)&&rs(t)&&rs(e)&&t<=r&&r<e}function _t(r,t,e,n){if(!Qr(t,e,n))throw new Error("expected valid "+r+": "+e+" <= n < "+n+", got "+t)}function is(r){let t;for(t=0;r>qn;r>>=zn,t+=1);return t}function s0(r,t){return r>>BigInt(t)&zn}function a0(r,t,e){return r|(e?zn:qn)<<BigInt(t)}var tn=r=>(e0<<BigInt(r-1))-zn,ns=r=>new Uint8Array(r),Cc=r=>Uint8Array.from(r);function ss(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=ns(r),o=ns(r),i=0,s=()=>{n.fill(1),o.fill(0),i=0},a=(...l)=>e(o,n,...l),c=(l=ns())=>{o=a(Cc([0]),l),n=a(),l.length!==0&&(o=a(Cc([1]),l),n=a())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<t;){n=a();let m=n.slice();h.push(m),l+=n.length}return Ee(...h)};return(l,h)=>{s(),c(l);let m;for(;!(m=h(f()));)c();return s(),m}}var c0={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Oe(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function ue(r,t,e={}){let n=(o,i,s)=>{let a=c0[i];if(typeof a!="function")throw new Error("invalid validator function");let c=r[o];if(!(s&&c===void 0)&&!a(c,r))throw new Error("param "+String(o)+" is invalid. Expected "+i+", got "+c)};for(let[o,i]of Object.entries(t))n(o,i,!1);for(let[o,i]of Object.entries(e))n(o,i,!0);return r}var u0=()=>{throw new Error("not implemented")};function rr(r){let t=new WeakMap;return(e,...n)=>{let o=t.get(e);if(o!==void 0)return o;let i=r(e,...n);return t.set(e,i),i}}var lt=BigInt(0),ot=BigInt(1),nr=BigInt(2),l0=BigInt(3),as=BigInt(4),Nc=BigInt(5),Uc=BigInt(8),f0=BigInt(9),h0=BigInt(16);function Q(r,t){let e=r%t;return e>=lt?e:t+e}function d0(r,t,e){if(t<lt)throw new Error("invalid exponent, negatives unsupported");if(e<=lt)throw new Error("invalid modulus");if(e===ot)return lt;let n=ot;for(;t>lt;)t&ot&&(n=n*r%e),r=r*r%e,t>>=ot;return n}function it(r,t,e){let n=r;for(;t-- >lt;)n*=n,n%=e;return n}function Gn(r,t){if(r===lt)throw new Error("invert: expected non-zero number");if(t<=lt)throw new Error("invert: expected positive modulus, got "+t);let e=Q(r,t),n=t,o=lt,i=ot,s=ot,a=lt;for(;e!==lt;){let f=n/e,u=n%e,l=o-s*f,h=i-a*f;n=e,e=u,o=s,i=a,s=l,a=h}if(n!==ot)throw new Error("invert: does not exist");return Q(o,t)}function p0(r){let t=(r-ot)/nr,e,n,o;for(e=r-ot,n=0;e%nr===lt;e/=nr,n++);for(o=nr;o<r&&d0(o,t,r)!==r-ot;o++)if(o>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){let s=(r+ot)/as;return function(c,f){let u=c.pow(f,s);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}let i=(e+ot)/nr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,u=a.pow(a.mul(a.ONE,o),e),l=a.pow(c,i),h=a.pow(c,e);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let m=1;for(let w=a.sqr(h);m<f&&!a.eql(w,a.ONE);m++)w=a.sqr(w);let B=a.pow(u,ot<<BigInt(f-m-1));u=a.sqr(B),l=a.mul(l,B),h=a.mul(h,u),f=m}return l}}function g0(r){if(r%as===l0){let t=(r+ot)/as;return function(n,o){let i=n.pow(o,t);if(!n.eql(n.sqr(i),o))throw new Error("Cannot find square root");return i}}if(r%Uc===Nc){let t=(r-Nc)/Uc;return function(n,o){let i=n.mul(o,nr),s=n.pow(i,t),a=n.mul(o,s),c=n.mul(n.mul(a,nr),s),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),o))throw new Error("Cannot find square root");return f}}return r%h0,p0(r)}var Rc=(r,t)=>(Q(r,t)&ot)===ot,m0=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function cs(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=m0.reduce((n,o)=>(n[o]="function",n),t);return ue(r,e)}function y0(r,t,e){if(e<lt)throw new Error("invalid exponent, negatives unsupported");if(e===lt)return r.ONE;if(e===ot)return t;let n=r.ONE,o=t;for(;e>lt;)e&ot&&(n=r.mul(n,o)),o=r.sqr(o),e>>=ot;return n}function w0(r,t){let e=new Array(t.length),n=t.reduce((i,s,a)=>r.is0(s)?i:(e[a]=i,r.mul(i,s)),r.ONE),o=r.inv(n);return t.reduceRight((i,s,a)=>r.is0(s)?i:(e[a]=r.mul(i,e[a]),r.mul(i,s)),o),e}function us(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function $e(r,t,e=!1,n={}){if(r<=lt)throw new Error("invalid field: expected ORDER > 0, got "+r);let{nBitLength:o,nByteLength:i}=us(r,t);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let s,a=Object.freeze({ORDER:r,isLE:e,BITS:o,BYTES:i,MASK:tn(o),ZERO:lt,ONE:ot,create:c=>Q(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return lt<=c&&c<r},is0:c=>c===lt,isOdd:c=>(c&ot)===ot,neg:c=>Q(-c,r),eql:(c,f)=>c===f,sqr:c=>Q(c*c,r),add:(c,f)=>Q(c+f,r),sub:(c,f)=>Q(c-f,r),mul:(c,f)=>Q(c*f,r),pow:(c,f)=>y0(a,c,f),div:(c,f)=>Q(c*Gn(f,r),r),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>Gn(c,r),sqrt:n.sqrt||(c=>(s||(s=g0(r)),s(a,c))),invertBatch:c=>w0(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>e?er(c,i):He(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return e?Me(c):ve(c)}});return Object.freeze(a)}function Lc(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function ls(r){let t=Lc(r);return t+Math.ceil(t/2)}function Vc(r,t,e=!1){let n=r.length,o=Lc(t),i=ls(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=e?Me(r):ve(r),a=Q(s,t-ot)+ot;return e?er(a,o):He(a,o)}var _c=BigInt(0),Zn=BigInt(1);function fs(r,t){let e=t.negate();return r?e:t}function Pc(r,t){if(!Number.isSafeInteger(r)||r<=0||r>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+r)}function hs(r,t){Pc(r,t);let e=Math.ceil(t/r)+1,n=2**(r-1);return{windows:e,windowSize:n}}function x0(r,t){if(!Array.isArray(r))throw new Error("array expected");r.forEach((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)})}function b0(r,t){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)})}var ds=new WeakMap,Fc=new WeakMap;function ps(r){return Fc.get(r)||1}function Wn(r,t){return{constTimeNegate:fs,hasPrecomputes(e){return ps(e)!==1},unsafeLadder(e,n,o=r.ZERO){let i=e;for(;n>_c;)n&Zn&&(o=o.add(i)),i=i.double(),n>>=Zn;return o},precomputeWindow(e,n){let{windows:o,windowSize:i}=hs(n,t),s=[],a=e,c=a;for(let f=0;f<o;f++){c=a,s.push(c);for(let u=1;u<i;u++)c=c.add(a),s.push(c);a=c.double()}return s},wNAF(e,n,o){let{windows:i,windowSize:s}=hs(e,t),a=r.ZERO,c=r.BASE,f=BigInt(2**e-1),u=2**e,l=BigInt(e);for(let h=0;h<i;h++){let m=h*s,B=Number(o&f);o>>=l,B>s&&(B-=u,o+=Zn);let w=m,d=m+Math.abs(B)-1,A=h%2!==0,T=B<0;B===0?c=c.add(fs(A,n[w])):a=a.add(fs(T,n[d]))}return{p:a,f:c}},wNAFUnsafe(e,n,o,i=r.ZERO){let{windows:s,windowSize:a}=hs(e,t),c=BigInt(2**e-1),f=2**e,u=BigInt(e);for(let l=0;l<s;l++){let h=l*a;if(o===_c)break;let m=Number(o&c);if(o>>=u,m>a&&(m-=f,o+=Zn),m===0)continue;let B=n[h+Math.abs(m)-1];m<0&&(B=B.negate()),i=i.add(B)}return i},getPrecomputes(e,n,o){let i=ds.get(n);return i||(i=this.precomputeWindow(n,e),e!==1&&ds.set(n,o(i))),i},wNAFCached(e,n,o){let i=ps(e);return this.wNAF(i,this.getPrecomputes(i,e,o),n)},wNAFCachedUnsafe(e,n,o,i){let s=ps(e);return s===1?this.unsafeLadder(e,n,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,o),n,i)},setWindowSize(e,n){Pc(n,t),Fc.set(e,n),ds.delete(e)}}}function Yn(r,t,e,n){if(x0(e,r),b0(n,t),e.length!==n.length)throw new Error("arrays of points and scalars must have equal length");let o=r.ZERO,i=is(BigInt(e.length)),s=i>12?i-3:i>4?i-2:i?2:1,a=(1<<s)-1,c=new Array(a+1).fill(o),f=Math.floor((t.BITS-1)/s)*s,u=o;for(let l=f;l>=0;l-=s){c.fill(o);for(let m=0;m<n.length;m++){let B=n[m],w=Number(B>>BigInt(l)&BigInt(a));c[w]=c[w].add(e[m])}let h=o;for(let m=c.length-1,B=o;m>0;m--)B=B.add(c[m]),h=h.add(B);if(u=u.add(h),l!==0)for(let m=0;m<s;m++)u=u.double()}return u}function en(r){return cs(r.Fp),ue(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...us(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Qt=BigInt(0),Pt=BigInt(1),Jn=BigInt(2),v0=BigInt(8),E0={zip215:!0};function B0(r){let t=en(r);return ue(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Dc(r){let t=B0(r),{Fp:e,n,prehash:o,hash:i,randomBytes:s,nByteLength:a,h:c}=t,f=Jn<<BigInt(a*8)-Pt,u=e.create,l=$e(t.n,t.nBitLength),h=t.uvRatio||((g,p)=>{try{return{isValid:!0,value:e.sqrt(g*e.inv(p))}}catch{return{isValid:!1,value:Qt}}}),m=t.adjustScalarBytes||(g=>g),B=t.domain||((g,p,E)=>{if(Xt("phflag",E),p.length||E)throw new Error("Contexts/pre-hash are not supported");return g});function w(g,p){_t("coordinate "+g,p,Qt,f)}function d(g){if(!(g instanceof x))throw new Error("ExtendedPoint expected")}let A=rr((g,p)=>{let{ex:E,ey:N,ez:O}=g,M=g.is0();p==null&&(p=M?v0:e.inv(O));let z=u(E*p),Z=u(N*p),K=u(O*p);if(M)return{x:Qt,y:Pt};if(K!==Pt)throw new Error("invZ was invalid");return{x:z,y:Z}}),T=rr(g=>{let{a:p,d:E}=t;if(g.is0())throw new Error("bad point: ZERO");let{ex:N,ey:O,ez:M,et:z}=g,Z=u(N*N),K=u(O*O),J=u(M*M),et=u(J*J),ht=u(Z*p),dt=u(J*u(ht+K)),yt=u(et+u(E*u(Z*K)));if(dt!==yt)throw new Error("bad point: equation left != right (1)");let vt=u(N*O),Rt=u(M*z);if(vt!==Rt)throw new Error("bad point: equation left != right (2)");return!0});class x{constructor(p,E,N,O){this.ex=p,this.ey=E,this.ez=N,this.et=O,w("x",p),w("y",E),w("z",N),w("t",O),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(p){if(p instanceof x)throw new Error("extended point not allowed");let{x:E,y:N}=p||{};return w("x",E),w("y",N),new x(E,N,Pt,u(E*N))}static normalizeZ(p){let E=e.invertBatch(p.map(N=>N.ez));return p.map((N,O)=>N.toAffine(E[O])).map(x.fromAffine)}static msm(p,E){return Yn(x,l,p,E)}_setWindowSize(p){P.setWindowSize(this,p)}assertValidity(){T(this)}equals(p){d(p);let{ex:E,ey:N,ez:O}=this,{ex:M,ey:z,ez:Z}=p,K=u(E*Z),J=u(M*O),et=u(N*Z),ht=u(z*O);return K===J&&et===ht}is0(){return this.equals(x.ZERO)}negate(){return new x(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:p}=t,{ex:E,ey:N,ez:O}=this,M=u(E*E),z=u(N*N),Z=u(Jn*u(O*O)),K=u(p*M),J=E+N,et=u(u(J*J)-M-z),ht=K+z,dt=ht-Z,yt=K-z,vt=u(et*dt),Rt=u(ht*yt),Tt=u(et*yt),ce=u(dt*ht);return new x(vt,Rt,ce,Tt)}add(p){d(p);let{a:E,d:N}=t,{ex:O,ey:M,ez:z,et:Z}=this,{ex:K,ey:J,ez:et,et:ht}=p;if(E===BigInt(-1)){let Ga=u((M-O)*(J+K)),Za=u((M+O)*(J-K)),Fi=u(Za-Ga);if(Fi===Qt)return this.double();let Wa=u(z*Jn*ht),Ya=u(Z*Jn*et),Ja=Ya+Wa,Xa=Za+Ga,Qa=Ya-Wa,mh=u(Ja*Fi),yh=u(Xa*Qa),wh=u(Ja*Qa),xh=u(Fi*Xa);return new x(mh,yh,xh,wh)}let dt=u(O*K),yt=u(M*J),vt=u(Z*N*ht),Rt=u(z*et),Tt=u((O+M)*(K+J)-dt-yt),ce=Rt-vt,me=Rt+vt,Zr=u(yt-E*dt),hh=u(Tt*ce),dh=u(me*Zr),ph=u(Tt*Zr),gh=u(ce*me);return new x(hh,dh,gh,ph)}subtract(p){return this.add(p.negate())}wNAF(p){return P.wNAFCached(this,p,x.normalizeZ)}multiply(p){let E=p;_t("scalar",E,Pt,n);let{p:N,f:O}=this.wNAF(E);return x.normalizeZ([N,O])[0]}multiplyUnsafe(p,E=x.ZERO){let N=p;return _t("scalar",N,Qt,n),N===Qt?F:this.is0()||N===Pt?this:P.wNAFCachedUnsafe(this,N,x.normalizeZ,E)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return P.unsafeLadder(this,n).is0()}toAffine(p){return A(this,p)}clearCofactor(){let{h:p}=t;return p===Pt?this:this.multiplyUnsafe(p)}static fromHex(p,E=!1){let{d:N,a:O}=t,M=e.BYTES;p=at("pointHex",p,M),Xt("zip215",E);let z=p.slice(),Z=p[M-1];z[M-1]=Z&-129;let K=Me(z),J=E?f:e.ORDER;_t("pointHex.y",K,Qt,J);let et=u(K*K),ht=u(et-Pt),dt=u(N*et-O),{isValid:yt,value:vt}=h(ht,dt);if(!yt)throw new Error("Point.fromHex: invalid y coordinate");let Rt=(vt&Pt)===Pt,Tt=(Z&128)!==0;if(!E&&vt===Qt&&Tt)throw new Error("Point.fromHex: x=0 and x_0=1");return Tt!==Rt&&(vt=u(-vt)),x.fromAffine({x:vt,y:K})}static fromPrivateKey(p){return v(p).point}toRawBytes(){let{x:p,y:E}=this.toAffine(),N=er(E,e.BYTES);return N[N.length-1]|=p&Pt?128:0,N}toHex(){return be(this.toRawBytes())}}x.BASE=new x(t.Gx,t.Gy,Pt,u(t.Gx*t.Gy)),x.ZERO=new x(Qt,Pt,Pt,Qt);let{BASE:U,ZERO:F}=x,P=Wn(x,a*8);function R(g){return Q(g,n)}function b(g){return R(Me(g))}function v(g){let p=e.BYTES;g=at("private key",g,p);let E=at("hashed private key",i(g),2*p),N=m(E.slice(0,p)),O=E.slice(p,2*p),M=b(N),z=U.multiply(M),Z=z.toRawBytes();return{head:N,prefix:O,scalar:M,point:z,pointBytes:Z}}function D(g){return v(g).pointBytes}function L(g=new Uint8Array,...p){let E=Ee(...p);return b(i(B(E,at("context",g),!!o)))}function C(g,p,E={}){g=at("message",g),o&&(g=o(g));let{prefix:N,scalar:O,pointBytes:M}=v(p),z=L(E.context,N,g),Z=U.multiply(z).toRawBytes(),K=L(E.context,Z,M,g),J=R(z+K*O);_t("signature.s",J,Qt,n);let et=Ee(Z,er(J,e.BYTES));return at("result",et,e.BYTES*2)}let $=E0;function S(g,p,E,N=$){let{context:O,zip215:M}=N,z=e.BYTES;g=at("signature",g,2*z),p=at("message",p),E=at("publicKey",E,z),M!==void 0&&Xt("zip215",M),o&&(p=o(p));let Z=Me(g.slice(z,2*z)),K,J,et;try{K=x.fromHex(E,M),J=x.fromHex(g.slice(0,z),M),et=U.multiplyUnsafe(Z)}catch{return!1}if(!M&&K.isSmallOrder())return!1;let ht=L(O,J.toRawBytes(),K.toRawBytes(),p);return J.add(K.multiplyUnsafe(ht)).subtract(et).clearCofactor().equals(x.ZERO)}return U._setWindowSize(8),{CURVE:t,getPublicKey:D,sign:C,verify:S,ExtendedPoint:x,utils:{getExtendedPublicKey:v,randomPrivateKey:()=>s(e.BYTES),precompute(g=8,p=x.BASE){return p._setWindowSize(g),p.multiply(BigInt(3)),p}}}}var gs=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Oc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),vy=BigInt(0),A0=BigInt(1),Mc=BigInt(2),Ey=BigInt(3),S0=BigInt(5),I0=BigInt(8);function k0(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),o=BigInt(80),i=gs,a=r*r%i*r%i,c=it(a,Mc,i)*a%i,f=it(c,A0,i)*r%i,u=it(f,S0,i)*f%i,l=it(u,t,i)*u%i,h=it(l,e,i)*l%i,m=it(h,n,i)*h%i,B=it(m,o,i)*m%i,w=it(B,o,i)*m%i,d=it(w,t,i)*u%i;return{pow_p_5_8:it(d,Mc,i)*r%i,b2:a}}function T0(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function C0(r,t){let e=gs,n=Q(t*t*t,e),o=Q(n*n*t,e),i=k0(r*o).pow_p_5_8,s=Q(r*n*i,e),a=Q(t*s*s,e),c=s,f=Q(s*Oc,e),u=a===r,l=a===Q(-r,e),h=a===Q(-r*Oc,e);return u&&(s=c),(l||h)&&(s=f),Rc(s,e)&&(s=Q(-s,e)),{isValid:u||l,value:s}}var N0=$e(gs,void 0,!0),U0={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:N0,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:I0,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:kc,randomBytes:$n,adjustScalarBytes:T0,uvRatio:C0},Hc=Dc(U0);var Xn=32;function $c(r,t,e){return Hc.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}var Qn=class{type="Ed25519";raw;constructor(t){this.raw=ms(t,Xn)}toMultihash(){return Yt.digest(to(this))}toCID(){return X.createV1(114,this.toMultihash())}toString(){return rt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:st(this.raw,t.raw)}verify(t,e){return $c(this.raw,e,t)}};function ys(r){return r=ms(r,Xn),new Qn(r)}function ms(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new Et(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}function Be(r=0){return new Uint8Array(r)}function Ft(r=0){return new Uint8Array(r)}var L0=Math.pow(2,7),V0=Math.pow(2,14),_0=Math.pow(2,21),ws=Math.pow(2,28),xs=Math.pow(2,35),bs=Math.pow(2,42),vs=Math.pow(2,49),Y=128,Bt=127;function Dt(r){if(r<L0)return 1;if(r<V0)return 2;if(r<_0)return 3;if(r<ws)return 4;if(r<xs)return 5;if(r<bs)return 6;if(r<vs)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Es(r,t,e=0){switch(Dt(r)){case 8:t[e++]=r&255|Y,r/=128;case 7:t[e++]=r&255|Y,r/=128;case 6:t[e++]=r&255|Y,r/=128;case 5:t[e++]=r&255|Y,r/=128;case 4:t[e++]=r&255|Y,r>>>=7;case 3:t[e++]=r&255|Y,r>>>=7;case 2:t[e++]=r&255|Y,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function P0(r,t,e=0){switch(Dt(r)){case 8:t.set(e++,r&255|Y),r/=128;case 7:t.set(e++,r&255|Y),r/=128;case 6:t.set(e++,r&255|Y),r/=128;case 5:t.set(e++,r&255|Y),r/=128;case 4:t.set(e++,r&255|Y),r>>>=7;case 3:t.set(e++,r&255|Y),r>>>=7;case 2:t.set(e++,r&255|Y),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Bs(r,t){let e=r[t],n=0;if(n+=e&Bt,e<Y||(e=r[t+1],n+=(e&Bt)<<7,e<Y)||(e=r[t+2],n+=(e&Bt)<<14,e<Y)||(e=r[t+3],n+=(e&Bt)<<21,e<Y)||(e=r[t+4],n+=(e&Bt)*ws,e<Y)||(e=r[t+5],n+=(e&Bt)*xs,e<Y)||(e=r[t+6],n+=(e&Bt)*bs,e<Y)||(e=r[t+7],n+=(e&Bt)*vs,e<Y))return n;throw new RangeError("Could not decode varint")}function F0(r,t){let e=r.get(t),n=0;if(n+=e&Bt,e<Y||(e=r.get(t+1),n+=(e&Bt)<<7,e<Y)||(e=r.get(t+2),n+=(e&Bt)<<14,e<Y)||(e=r.get(t+3),n+=(e&Bt)<<21,e<Y)||(e=r.get(t+4),n+=(e&Bt)*ws,e<Y)||(e=r.get(t+5),n+=(e&Bt)*xs,e<Y)||(e=r.get(t+6),n+=(e&Bt)*bs,e<Y)||(e=r.get(t+7),n+=(e&Bt)*vs,e<Y))return n;throw new RangeError("Could not decode varint")}function Sr(r,t,e=0){return t==null&&(t=Ft(Dt(r))),t instanceof Uint8Array?Es(r,t,e):P0(r,t,e)}function or(r,t=0){return r instanceof Uint8Array?Bs(r,t):F0(r,t)}var As=new Float32Array([-0]),Ke=new Uint8Array(As.buffer);function zc(r,t,e){As[0]=r,t[e]=Ke[0],t[e+1]=Ke[1],t[e+2]=Ke[2],t[e+3]=Ke[3]}function jc(r,t){return Ke[0]=r[t],Ke[1]=r[t+1],Ke[2]=r[t+2],Ke[3]=r[t+3],As[0]}var Ss=new Float64Array([-0]),At=new Uint8Array(Ss.buffer);function Gc(r,t,e){Ss[0]=r,t[e]=At[0],t[e+1]=At[1],t[e+2]=At[2],t[e+3]=At[3],t[e+4]=At[4],t[e+5]=At[5],t[e+6]=At[6],t[e+7]=At[7]}function Zc(r,t){return At[0]=r[t],At[1]=r[t+1],At[2]=r[t+2],At[3]=r[t+3],At[4]=r[t+4],At[5]=r[t+5],At[6]=r[t+6],At[7]=r[t+7],Ss[0]}var D0=BigInt(Number.MAX_SAFE_INTEGER),O0=BigInt(Number.MIN_SAFE_INTEGER),Mt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return ir;if(t<D0&&t>O0)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Wc&&(o=0n,++n>Wc&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return ir;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):ir}},ir=new Mt(0,0);ir.toBigInt=function(){return 0n};ir.zzEncode=ir.zzDecode=function(){return this};ir.length=function(){return 1};var Wc=4294967296n;function Yc(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Jc(r,t,e){if(e-t<1)return"";let o,i=[],s=0,a;for(;t<e;)a=r[t++],a<128?i[s++]=a:a>191&&a<224?i[s++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Is(r,t,e){let n=e,o,i;for(let s=0;s<r.length;++s)o=r.charCodeAt(s),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function te(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function eo(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var ks=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,te(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw te(this,4);return eo(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw te(this,4);return eo(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw te(this,4);let t=jc(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw te(this,4);let t=Zc(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw te(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Jc(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw te(this,t);this.pos+=t}else do if(this.pos>=this.len)throw te(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Mt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw te(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw te(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw te(this,8);let t=eo(this.buf,this.pos+=4),e=eo(this.buf,this.pos+=4);return new Mt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Bs(this.buf,this.pos);return this.pos+=Dt(t),t}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 Ts(r){return new ks(r instanceof Uint8Array?r:r.subarray())}function Ir(r,t,e){let n=Ts(r);return t.decode(n,void 0,e)}var Cs={};Ct(Cs,{base10:()=>M0});var M0=Ve({prefix:"9",name:"base10",alphabet:"0123456789"});var Ns={};Ct(Ns,{base16:()=>H0,base16upper:()=>$0});var H0=ct({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$0=ct({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Us={};Ct(Us,{base2:()=>K0});var K0=ct({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Rs={};Ct(Rs,{base256emoji:()=>Z0});var Qc=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}"),q0=Qc.reduce((r,t,e)=>(r[e]=t,r),[]),z0=Qc.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function j0(r){return r.reduce((t,e)=>(t+=q0[e],t),"")}function G0(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=z0[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var Z0=gr({prefix:"\u{1F680}",name:"base256emoji",encode:j0,decode:G0});var Ls={};Ct(Ls,{base8:()=>W0});var W0=ct({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Vs={};Ct(Vs,{identity:()=>Y0});var Y0=gr({prefix:"\0",name:"identity",encode:r=>ic(r),decode:r=>oc(r)});var nw=new TextEncoder,ow=new TextDecoder;var Fs={};Ct(Fs,{sha256:()=>rn,sha512:()=>Q0});function Ps({name:r,code:t,encode:e}){return new _s(r,t,e)}var _s=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Wt(this.code,e):e.then(n=>Wt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function eu(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var rn=Ps({name:"sha2-256",code:18,encode:eu("SHA-256")}),Q0=Ps({name:"sha2-512",code:19,encode:eu("SHA-512")});var nn={...Vs,...Us,...Ls,...Cs,...Ns,...qi,...Wi,...zi,...Gi,...Rs},mw={...Fs,...Xi};function nu(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var ru=nu("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ds=nu("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=Ft(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),tp={utf8:ru,"utf-8":ru,hex:nn.base16,latin1:Ds,ascii:Ds,binary:Ds,...nn},ro=tp;function j(r,t="utf8"){let e=ro[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Os(r){let t=r??8192,e=t>>>1,n,o=t;return function(s){if(s<1||s>e)return Ft(s);o+s>t&&(n=Ft(t),o=0);let a=n.subarray(o,o+=s);return o&7&&(o=(o|7)+1),a}}var sr=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Ms(){}var $s=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},ep=Os();function rp(r){return globalThis.Buffer!=null?Ft(r):ep(r)}var sn=class{len;head;tail;states;constructor(){this.len=0,this.head=new sr(Ms,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new sr(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Ks((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(no,10,Mt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Mt.fromBigInt(t);return this._push(no,e.length(),e)}uint64Number(t){return this._push(Es,Dt(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=Mt.fromBigInt(t).zzEncode();return this._push(no,e.length(),e)}sint64Number(t){let e=Mt.fromNumber(t).zzEncode();return this._push(no,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Hs,1,t?1:0)}fixed32(t){return this._push(on,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Mt.fromBigInt(t);return this._push(on,4,e.lo)._push(on,4,e.hi)}fixed64Number(t){let e=Mt.fromNumber(t);return this._push(on,4,e.lo)._push(on,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(zc,4,t)}double(t){return this._push(Gc,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Hs,1,0):this.uint32(e)._push(op,e,t)}string(t){let e=Yc(t);return e!==0?this.uint32(e)._push(Is,e,t):this._push(Hs,1,0)}fork(){return this.states=new $s(this),this.head=this.tail=new sr(Ms,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 sr(Ms,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=rp(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Hs(r,t,e){t[e]=r&255}function np(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Ks=class extends sr{next;constructor(t,e){super(np,t,e),this.next=void 0}};function no(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function on(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function op(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(sn.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(ip,t,r),this},sn.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(sp,t,r),this});function ip(r,t,e){t.set(r,e)}function sp(r,t,e){r.length<40?Is(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(j(r),e)}function qs(){return new sn}function kr(r,t){let e=qs();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Tr;(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"})(Tr||(Tr={}));function oo(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function an(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(i,s){let a=t(i);s.int32(a)},n=function(i){let s=i.int32();return t(s)};return oo("enum",Tr.VARINT,e,n)}function Cr(r,t){return oo("message",Tr.LENGTH_DELIMITED,r,t)}var ft;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(ft||(ft={}));var zs;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(zs||(zs={}));(function(r){r.codec=()=>an(zs)})(ft||(ft={}));var le;(function(r){let t;r.codec=()=>(t==null&&(t=Cr((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),ft.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=ft.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>kr(e,r.codec()),r.decode=(e,n)=>Ir(e,r.codec(),n)})(le||(le={}));var js;(function(r){let t;r.codec=()=>(t==null&&(t=Cr((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),ft.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=ft.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>kr(e,r.codec()),r.decode=(e,n)=>Ir(e,r.codec(),n)})(js||(js={}));var yn={};Ct(yn,{MAX_RSA_KEY_SIZE:()=>Yo,generateRSAKeyPair:()=>tl,jwkToJWKKeyPair:()=>el,jwkToPkcs1:()=>Ep,jwkToPkix:()=>ea,jwkToRSAPrivateKey:()=>Qu,pkcs1ToJwk:()=>Yu,pkcs1ToRSAPrivateKey:()=>Xu,pkixToJwk:()=>Ju,pkixToRSAPublicKey:()=>ra});var ap=new Uint32Array([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]),qe=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ze=new Uint32Array(64),Gs=class extends Br{constructor(){super(64,32,8,!1),this.A=qe[0]|0,this.B=qe[1]|0,this.C=qe[2]|0,this.D=qe[3]|0,this.E=qe[4]|0,this.F=qe[5]|0,this.G=qe[6]|0,this.H=qe[7]|0}get(){let{A:t,B:e,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,e,n,o,i,s,a,c]}set(t,e,n,o,i,s,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,e){for(let l=0;l<16;l++,e+=4)ze[l]=t.getUint32(e,!1);for(let l=16;l<64;l++){let h=ze[l-15],m=ze[l-2],B=Jt(h,7)^Jt(h,18)^h>>>3,w=Jt(m,17)^Jt(m,19)^m>>>10;ze[l]=w+ze[l-7]+B+ze[l-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let h=Jt(a,6)^Jt(a,11)^Jt(a,25),m=u+h+Ac(a,c,f)+ap[l]+ze[l]|0,w=(Jt(n,2)^Jt(n,13)^Jt(n,22))+Sc(n,o,i)|0;u=f,f=c,c=a,a=s+m|0,s=i,i=o,o=n,n=m+w|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,o,i,s,a,c,f,u)}roundClean(){ze.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Nr=Hn(()=>new Gs);var G=Vn(iu());function ar(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function je(r,t,e=-1){let n=e,o=r,i=0,s=Math.pow(2,t);for(let a=1;a<8;a++){if(r<s){let c;if(n<0)c=new ArrayBuffer(a),i=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),i=n}let f=new Uint8Array(c);for(let u=a-1;u>=0;u--){let l=Math.pow(2,u*t);f[i-u-1]=Math.floor(o/l),o-=f[i-u-1]*l}return c}s*=Math.pow(2,t)}return new ArrayBuffer(0)}function ao(...r){let t=0,e=0;for(let i of r)t+=i.length;let n=new ArrayBuffer(t),o=new Uint8Array(n);for(let i of r)o.set(i,e),e+=i.length;return o}function Ws(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=ar(e,8),o=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(o);for(let a=0;a<this.valueHex.byteLength;a++)i[a]=r[a];return i[0]&=127,ar(i,8)-n}function su(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let s=e-t,a=je(s,8,n),c=new Uint8Array(a);return c[0]|=128,a}let o=je(t,8,n),i=new Uint8Array(o);if(i[0]&128){let s=o.slice(0),a=new Uint8Array(s);o=new ArrayBuffer(o.byteLength+1),i=new Uint8Array(o);for(let c=0;c<s.byteLength;c++)i[c+1]=a[c];i[0]=0}return o}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function au(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<e.length;o++)if(e[o]!==n[o])return!1;return!0}function Ot(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,o=new Array(n);for(let s=0;s<n;s++)o[s]="0";return o.join("").concat(e)}var Jw=Math.log(2);function co(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Ys(r){let t=0,e=0;for(let o=0;o<r.length;o++){let i=r[o];t+=i.byteLength}let n=new Uint8Array(t);for(let o=0;o<r.length;o++){let i=r[o];n.set(new Uint8Array(i),e),e+=i.byteLength}return n.buffer}function Te(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var un=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Ys(this.items)}},cn=[new Uint8Array([1])],cu="0123456789";var _r="",ee=new ArrayBuffer(0),Js=new Uint8Array(0),ln="EndOfContent",lu="OCTET STRING",fu="BIT STRING";function Ce(r){var t;return t=class extends r{constructor(...n){var o;super(...n);let i=n[0]||{};this.isHexOnly=(o=i.isHexOnly)!==null&&o!==void 0?o:!1,this.valueHexView=i.valueHex?G.BufferSourceConverter.toUint8Array(i.valueHex):Js}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,o,i){let s=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!Te(this,s,o,i))return-1;let a=o+i;return this.valueHexView=s.subarray(o,a),this.valueHexView.length?(this.blockLength=i,a):(this.warnings.push("Zero buffer length"),o)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",ee)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:G.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var Se=class{constructor({blockLength:t=0,error:e=_r,warnings:n=[],valueBeforeDecode:o=Js}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=G.BufferSourceConverter.toUint8Array(o)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:G.Convert.ToHex(this.valueBeforeDecodeView)}}};Se.NAME="baseBlock";var St=class extends Se{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};St.NAME="valueBlock";var uo=class extends Ce(Se){constructor({idBlock:t={}}={}){var e,n,o,i;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?G.BufferSourceConverter.toUint8Array(t.valueHex):Js,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(o=t.tagNumber)!==null&&o!==void 0?o:-1,this.isConstructed=(i=t.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",ee}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let o=new Uint8Array(1);if(!t){let i=this.tagNumber;i&=31,e|=i,o[0]=e}return o.buffer}if(!this.isHexOnly){let o=je(this.tagNumber,7),i=new Uint8Array(o),s=o.byteLength,a=new Uint8Array(s+1);if(a[0]=e|31,!t){for(let c=0;c<s-1;c++)a[c+1]=i[c]|128;a[s]=i[s-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let o=this.valueHexView;for(let i=0;i<o.length-1;i++)n[i+1]=o[i]|128;n[this.valueHexView.byteLength]=o[o.length-1]}return n.buffer}fromBER(t,e,n){let o=G.BufferSourceConverter.toUint8Array(t);if(!Te(this,o,e,n))return-1;let i=o.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let a=i[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,f=this.valueHexView=new Uint8Array(255),u=255;for(;i[c]&128;){if(f[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===u){u+=255;let h=new Uint8Array(u);for(let m=0;m<f.length;m++)h[m]=f[m];f=this.valueHexView=new Uint8Array(u)}}this.blockLength=c+1,f[c-1]=i[c]&127;let l=new Uint8Array(c);for(let h=0;h<c;h++)l[h]=f[h];f=this.valueHexView=new Uint8Array(c),f.set(l),this.blockLength<=9?this.tagNumber=ar(f,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};uo.NAME="identificationBlock";var lo=class extends Se{constructor({lenBlock:t={}}={}){var e,n,o;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(o=t.length)!==null&&o!==void 0?o:0}fromBER(t,e,n){let o=G.BufferSourceConverter.toUint8Array(t);if(!Te(this,o,e,n))return-1;let i=o.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,e+this.blockLength;let s=i[0]&127;if(s>8)return this.error="Too big integer",-1;if(s+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=o.subarray(a,a+s);return c[s-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=ar(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=s+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let o=je(this.length,8);if(o.byteLength>127)return this.error="Too big length",ee;if(e=new ArrayBuffer(o.byteLength+1),t)return e;let i=new Uint8Array(o);n=new Uint8Array(e),n[0]=o.byteLength|128;for(let s=0;s<o.byteLength;s++)n[s+1]=i[s];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};lo.NAME="lengthBlock";var V={},wt=class extends Se{constructor({name:t=_r,optional:e=!1,primitiveSchema:n,...o}={},i){super(o),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new uo(o),this.lenBlock=new lo(o),this.valueBlock=i?new i(o):new St(o)}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}toBER(t,e){let n=e||new un;e||hu(this);let o=this.idBlock.toBER(t);if(n.write(o),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let i=this.valueBlock.toBER(t);this.lenBlock.length=i.byteLength;let s=this.lenBlock.toBER(t);n.write(s),n.write(i)}return e?ee:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():G.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${G.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return au(e,n)}};wt.NAME="BaseBlock";function hu(r){if(r instanceof V.Constructed)for(let t of r.valueBlock.value)hu(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var fo=class extends wt{constructor({value:t=_r,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};fo.NAME="BaseStringBlock";var ho=class extends Ce(St){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};ho.NAME="PrimitiveValueBlock";var du,po=class extends wt{constructor(t={}){super(t,ho),this.idBlock.isConstructed=!1}};du=po;V.Primitive=du;po.NAME="PRIMITIVE";function mp(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function Zo(r,t=0,e=r.length){let n=t,o=new wt({},St),i=new Se;if(!Te(i,r,t,e))return o.error=i.error,{offset:-1,result:o};if(!r.subarray(t,t+e).length)return o.error="Zero buffer length",{offset:-1,result:o};let a=o.idBlock.fromBER(r,t,e);if(o.idBlock.warnings.length&&o.warnings.concat(o.idBlock.warnings),a===-1)return o.error=o.idBlock.error,{offset:-1,result:o};if(t=a,e-=o.idBlock.blockLength,a=o.lenBlock.fromBER(r,t,e),o.lenBlock.warnings.length&&o.warnings.concat(o.lenBlock.warnings),a===-1)return o.error=o.lenBlock.error,{offset:-1,result:o};if(t=a,e-=o.lenBlock.blockLength,!o.idBlock.isConstructed&&o.lenBlock.isIndefiniteForm)return o.error="Indefinite length form used for primitive encoding form",{offset:-1,result:o};let c=wt;switch(o.idBlock.tagClass){case 1:if(o.idBlock.tagNumber>=37&&o.idBlock.isHexOnly===!1)return o.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:o};switch(o.idBlock.tagNumber){case 0:if(o.idBlock.isConstructed&&o.lenBlock.length>0)return o.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:o};c=V.EndOfContent;break;case 1:c=V.Boolean;break;case 2:c=V.Integer;break;case 3:c=V.BitString;break;case 4:c=V.OctetString;break;case 5:c=V.Null;break;case 6:c=V.ObjectIdentifier;break;case 10:c=V.Enumerated;break;case 12:c=V.Utf8String;break;case 13:c=V.RelativeObjectIdentifier;break;case 14:c=V.TIME;break;case 15:return o.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:o};case 16:c=V.Sequence;break;case 17:c=V.Set;break;case 18:c=V.NumericString;break;case 19:c=V.PrintableString;break;case 20:c=V.TeletexString;break;case 21:c=V.VideotexString;break;case 22:c=V.IA5String;break;case 23:c=V.UTCTime;break;case 24:c=V.GeneralizedTime;break;case 25:c=V.GraphicString;break;case 26:c=V.VisibleString;break;case 27:c=V.GeneralString;break;case 28:c=V.UniversalString;break;case 29:c=V.CharacterString;break;case 30:c=V.BmpString;break;case 31:c=V.DATE;break;case 32:c=V.TimeOfDay;break;case 33:c=V.DateTime;break;case 34:c=V.Duration;break;default:{let f=o.idBlock.isConstructed?new V.Constructed:new V.Primitive;f.idBlock=o.idBlock,f.lenBlock=o.lenBlock,f.warnings=o.warnings,o=f}}break;case 2:case 3:case 4:default:c=o.idBlock.isConstructed?V.Constructed:V.Primitive}return o=mp(o,c),a=o.fromBER(r,t,o.lenBlock.isIndefiniteForm?e:o.lenBlock.length),o.valueBeforeDecodeView=r.subarray(n,n+o.blockLength),{offset:a,result:o}}function Xs(r){if(!r.byteLength){let t=new wt({},St);return t.error="Input buffer has zero length",{offset:-1,result:t}}return Zo(G.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function yp(r,t){return r?1:t}var fe=class extends St{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let o=G.BufferSourceConverter.toUint8Array(t);if(!Te(this,o,e,n))return-1;if(this.valueBeforeDecodeView=o.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let i=e;for(;yp(this.isIndefiniteForm,n)>0;){let s=Zo(o,i,n);if(s.offset===-1)return this.error=s.result.error,this.warnings.concat(s.result.warnings),-1;if(i=s.offset,this.blockLength+=s.result.blockLength,n-=s.result.blockLength,this.value.push(s.result),this.isIndefiniteForm&&s.result.constructor.NAME===ln)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===ln?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){let n=e||new un;for(let o=0;o<this.value.length;o++)this.value[o].toBER(t,n);return e?ee:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};fe.NAME="ConstructedValueBlock";var pu,Ge=class extends wt{constructor(t={}){super(t,fe),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
4
- `).map(o=>` ${o}`).join(`
5
- `));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
6
- ${t.join(`
7
- `)}`:`${e} :`}};pu=Ge;V.Constructed=pu;Ge.NAME="CONSTRUCTED";var go=class extends St{fromBER(t,e,n){return e}toBER(t){return ee}};go.override="EndOfContentValueBlock";var gu,mo=class extends wt{constructor(t={}){super(t,go),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};gu=mo;V.EndOfContent=gu;mo.NAME=ln;var mu,Rr=class extends wt{constructor(t={}){super(t,St),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let o=new Uint8Array(n);o[0]=5,o[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};mu=Rr;V.Null=mu;Rr.NAME="NULL";var yo=class extends Ce(St){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=G.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let o=G.BufferSourceConverter.toUint8Array(t);return Te(this,o,e,n)?(this.valueHexView=o.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Ws.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};yo.NAME="BooleanValueBlock";var yu,wo=class extends wt{constructor(t={}){super(t,yo),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};yu=wo;V.Boolean=yu;wo.NAME="BOOLEAN";var xo=class extends Ce(fe){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let o=0;if(this.isConstructed){if(this.isHexOnly=!1,o=fe.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let i=0;i<this.value.length;i++){let s=this.value[i].constructor.NAME;if(s===ln){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(s!==lu)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,o=super.fromBER(t,e,n),this.blockLength=n;return o}toBER(t,e){return this.isConstructed?fe.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};xo.NAME="OctetStringValueBlock";var wu,bo=class r extends wt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,i;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},xo),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(i.byteLength){let s=Zo(i,0,i.byteLength);s.offset!==-1&&s.offset===n&&(this.valueBlock.value=[s.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Ge.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${G.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return G.BufferSourceConverter.concat(t)}};wu=bo;V.OctetString=wu;bo.NAME=lu;var vo=class extends Ce(fe){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let o=-1;if(this.isConstructed){if(o=fe.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let a of this.value){let c=a.constructor.NAME;if(c===ln){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==fu)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let f=a.valueBlock;if(this.unusedBits>0&&f.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=f.unusedBits}return o}let i=G.BufferSourceConverter.toUint8Array(t);if(!Te(this,i,e,n))return-1;let s=i.subarray(e,e+n);if(this.unusedBits=s[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=s.subarray(1);try{if(a.byteLength){let c=Zo(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=s.subarray(1),this.blockLength=s.length,e+n}toBER(t,e){if(this.isConstructed)return fe.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return ee;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};vo.NAME="BitStringValueBlock";var xu,Lr=class extends wt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,i;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},vo),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Ge.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let o of e)t.push(o.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};xu=Lr;V.BitString=xu;Lr.NAME=fu;var bu;function wp(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),o=new Uint8Array(t),i=n.slice(0),s=i.length-1,a=o.slice(0),c=a.length-1,f=0,u=c<s?s:c,l=0;for(let h=u;h>=0;h--,l++){switch(!0){case l<a.length:f=i[s-l]+a[c-l]+e[0];break;default:f=i[s-l]+e[0]}switch(e[0]=f/10,!0){case l>=i.length:i=ao(new Uint8Array([f%10]),i);break;default:i[s-l]=f%10}}return e[0]>0&&(i=ao(e,i)),i}function uu(r){if(r>=cn.length)for(let t=cn.length;t<=r;t++){let e=new Uint8Array([0]),n=cn[t-1].slice(0);for(let o=n.length-1;o>=0;o--){let i=new Uint8Array([(n[o]<<1)+e[0]]);e[0]=i[0]/10,n[o]=i[0]%10}e[0]>0&&(n=ao(e,n)),cn.push(n)}return cn[r]}function xp(r,t){let e=0,n=new Uint8Array(r),o=new Uint8Array(t),i=n.slice(0),s=i.length-1,a=o.slice(0),c=a.length-1,f,u=0;for(let l=c;l>=0;l--,u++)switch(f=i[s-u]-a[c-u]-e,!0){case f<0:e=1,i[s-u]=f+10;break;default:e=0,i[s-u]=f}if(e>0)for(let l=s-c+1;l>=0;l--,u++)if(f=i[s-u]-e,f<0)e=1,i[s-u]=f+10;else{e=0,i[s-u]=f;break}return i.slice()}var fn=class extends Ce(St){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Ws.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(su(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,o=0){let i=this.fromBER(t,e,n);if(i===-1)return i;let s=this.valueHexView;return s[0]===0&&s[1]&128?this.valueHexView=s.subarray(1):o!==0&&s.length<o&&(o-s.length>1&&(o=s.length+1),this.valueHexView=s.subarray(o-s.length)),i}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let o=super.fromBER(t,e,n);return o===-1||this.setValueHex(),o}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,o,i=this.valueHexView,s="",a=!1;for(let c=i.byteLength-1;c>=0;c--){o=i[c];for(let f=0;f<8;f++){if((o&1)===1)switch(n){case t:e=xp(uu(n),e),s="-";break;default:e=wp(e,uu(n))}n++,o>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(s+=cu.charAt(e[c]));return a===!1&&(s+=cu.charAt(0)),s}};bu=fn;fn.NAME="IntegerValueBlock";Object.defineProperty(bu.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var vu,xt=class r extends wt{constructor(t={}){super(t,fn),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return co(),BigInt(this.valueBlock.toString())}static fromBigInt(t){co();let e=BigInt(t),n=new un,o=e.toString(16).replace(/^-/,""),i=new Uint8Array(G.Convert.FromHex(o));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let f=BigInt(`0x${G.Convert.ToHex(a)}`)+e,u=G.BufferSourceConverter.toUint8Array(G.Convert.FromHex(f.toString(16)));u[0]|=128,n.write(u)}else i[0]&128&&n.write(new Uint8Array([0])),n.write(i);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};vu=xt;V.Integer=vu;xt.NAME="INTEGER";var Eu,Eo=class extends xt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Eu=Eo;V.Enumerated=Eu;Eo.NAME="ENUMERATED";var hn=class extends Ce(St){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let o=G.BufferSourceConverter.toUint8Array(t);if(!Te(this,o,e,n))return-1;let i=o.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)s[a]=this.valueHexView[a];return this.valueHexView=s,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ar(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){co();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let o=0;o<n.length;o++)n[o]=parseInt(e.slice(o*7,o*7+7),2)+(o+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,i=new Uint8Array(this.blockLength);for(let s=0;s<this.blockLength-1;s++)i[s]=o[s]|128;return i[this.blockLength-1]=o[this.blockLength-1],i.buffer}let e=je(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",ee;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),i=e.byteLength-1;for(let s=0;s<i;s++)n[s]=o[s]|128;n[i]=o[i]}return n}toString(){let t="";if(this.isHexOnly)t=G.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};hn.NAME="sidBlock";var Bo=class extends St{constructor({value:t=_r,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let i=new hn;if(o=i.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=i.error,o;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return o}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let o=this.value[n].toBER(t);if(o.byteLength===0)return this.error=this.value[n].error,ee;e.push(o)}return Ys(e)}fromString(t){this.value=[];let e=0,n=0,o="",i=!1;do if(n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1,i){let s=this.value[0],a=0;switch(s.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(o,10);if(isNaN(c))return;s.valueDec=c+a,i=!1}else{let s=new hn;if(o>Number.MAX_SAFE_INTEGER){co();let a=BigInt(o);s.valueBigInt=a}else if(s.valueDec=parseInt(o,10),isNaN(s.valueDec))return;this.value.length||(s.isFirstSid=!0,i=!0),this.value.push(s)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e?(o=`{${o}}`,this.value[n].isFirstSid?t=`2.{${o} - 80}`:t+=o):t+=o}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Bo.NAME="ObjectIdentifierValueBlock";var Bu,Vr=class extends wt{constructor(t={}){super(t,Bo),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Bu=Vr;V.ObjectIdentifier=Bu;Vr.NAME="OBJECT IDENTIFIER";var dn=class extends Ce(Se){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let o=G.BufferSourceConverter.toUint8Array(t);if(!Te(this,o,e,n))return-1;let i=o.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)s[a]=this.valueHexView[a];return this.valueHexView=s,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ar(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,i=new Uint8Array(this.blockLength);for(let s=0;s<this.blockLength-1;s++)i[s]=o[s]|128;return i[this.blockLength-1]=o[this.blockLength-1],i.buffer}let e=je(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",ee;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),i=e.byteLength-1;for(let s=0;s<i;s++)n[s]=o[s]|128;n[i]=o[i]}return n.buffer}toString(){let t="";return this.isHexOnly?t=G.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};dn.NAME="relativeSidBlock";var Ao=class extends St{constructor({value:t=_r,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let i=new dn;if(o=i.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=i.error,o;this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return o}toBER(t,e){let n=[];for(let o=0;o<this.value.length;o++){let i=this.value[o].toBER(t);if(i.byteLength===0)return this.error=this.value[o].error,ee;n.push(i)}return Ys(n)}fromString(t){this.value=[];let e=0,n=0,o="";do{n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1;let i=new dn;if(i.valueDec=parseInt(o,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(o=`{${o}}`),t+=o}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Ao.NAME="RelativeObjectIdentifierValueBlock";var Au,So=class extends wt{constructor(t={}){super(t,Ao),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Au=So;V.RelativeObjectIdentifier=Au;So.NAME="RelativeObjectIdentifier";var Su,Ie=class extends Ge{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};Su=Ie;V.Sequence=Su;Ie.NAME="SEQUENCE";var Iu,Io=class extends Ge{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};Iu=Io;V.Set=Iu;Io.NAME="SET";var ko=class extends Ce(St){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=_r}toJSON(){return{...super.toJSON(),value:this.value}}};ko.NAME="StringValueBlock";var To=class extends ko{};To.NAME="SimpleStringValueBlock";var Nt=class extends fo{constructor({...t}={}){super(t,To)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,G.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=t.charCodeAt(o);this.valueBlock.value=t}};Nt.NAME="SIMPLE STRING";var Co=class extends Nt{fromBuffer(t){this.valueBlock.valueHexView=G.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=G.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=G.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(G.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Co.NAME="Utf8StringValueBlock";var ku,ke=class extends Co{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};ku=ke;V.Utf8String=ku;ke.NAME="UTF8String";var No=class extends Nt{fromBuffer(t){this.valueBlock.value=G.Convert.ToUtf16String(t),this.valueBlock.valueHexView=G.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(G.Convert.FromUtf16String(t))}};No.NAME="BmpStringValueBlock";var Tu,Uo=class extends No{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Tu=Uo;V.BmpString=Tu;Uo.NAME="BMPString";var Ro=class extends Nt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let o=0;o<n.length;o+=4)n[o]=n[o+3],n[o+1]=n[o+2],n[o+2]=0,n[o+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let o=0;o<e;o++){let i=je(t.charCodeAt(o),8),s=new Uint8Array(i);if(s.length>4)continue;let a=4-s.length;for(let c=s.length-1;c>=0;c--)n[o*4+c+a]=s[c]}this.valueBlock.value=t}};Ro.NAME="UniversalStringValueBlock";var Cu,Lo=class extends Ro{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Cu=Lo;V.UniversalString=Cu;Lo.NAME="UniversalString";var Nu,Vo=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Nu=Vo;V.NumericString=Nu;Vo.NAME="NumericString";var Uu,_o=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};Uu=_o;V.PrintableString=Uu;_o.NAME="PrintableString";var Ru,Po=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Ru=Po;V.TeletexString=Ru;Po.NAME="TeletexString";var Lu,Fo=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Lu=Fo;V.VideotexString=Lu;Fo.NAME="VideotexString";var Vu,Do=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};Vu=Do;V.IA5String=Vu;Do.NAME="IA5String";var _u,Oo=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};_u=Oo;V.GraphicString=_u;Oo.NAME="GraphicString";var Pu,pn=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Pu=pn;V.VisibleString=Pu;pn.NAME="VisibleString";var Fu,Mo=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Fu=Mo;V.GeneralString=Fu;Mo.NAME="GeneralString";var Du,Ho=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Du=Ho;V.CharacterString=Du;Ho.NAME="CharacterString";var Ou,gn=class extends pn{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let o=0;o<t.length;o++)this.valueBlock.valueHexView[o]=t.charCodeAt(o)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,G.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let o=parseInt(n[1],10);o>=50?this.year=1900+o:this.year=2e3+o,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=Ot(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Ot(this.month,2),e[2]=Ot(this.day,2),e[3]=Ot(this.hour,2),e[4]=Ot(this.minute,2),e[5]=Ot(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};Ou=gn;V.UTCTime=Ou;gn.NAME="UTCTime";var Mu,$o=class extends gn{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",o="",i=0,s,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let l=new Number(t[t.length-1]);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let l=1,h=n.indexOf("+"),m="";if(h===-1&&(h=n.indexOf("-"),l=-1),h!==-1){if(m=n.substring(h+1),n=n.substring(0,h),m.length!==2&&m.length!==4)throw new Error("Wrong input string for conversion");let B=parseInt(m.substring(0,2),10);if(isNaN(B.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*B,m.length===4){if(B=parseInt(m.substring(2,4),10),isNaN(B.valueOf()))throw new Error("Wrong input string for conversion");c=l*B}}}let f=n.indexOf(".");if(f===-1&&(f=n.indexOf(",")),f!==-1){let l=new Number(`0${n.substring(f)}`);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");i=l.valueOf(),o=n.substring(0,f)}else o=n;switch(!0){case o.length===8:if(s=/(\d{4})(\d{2})(\d{2})/ig,f!==-1)throw new Error("Wrong input string for conversion");break;case o.length===10:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=60*i;this.minute=Math.floor(l),l=60*(l-this.minute),this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===12:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=60*i;this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===14:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=1e3*i;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let u=s.exec(o);if(u===null)throw new Error("Wrong input string for conversion");for(let l=1;l<u.length;l++)switch(l){case 1:this.year=parseInt(u[l],10);break;case 2:this.month=parseInt(u[l],10);break;case 3:this.day=parseInt(u[l],10);break;case 4:this.hour=parseInt(u[l],10)+a;break;case 5:this.minute=parseInt(u[l],10)+c;break;case 6:this.second=parseInt(u[l],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let l=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=l.getUTCFullYear(),this.month=l.getUTCMonth(),this.day=l.getUTCDay(),this.hour=l.getUTCHours(),this.minute=l.getUTCMinutes(),this.second=l.getUTCSeconds(),this.millisecond=l.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Ot(this.year,4)),e.push(Ot(this.month,2)),e.push(Ot(this.day,2)),e.push(Ot(this.hour,2)),e.push(Ot(this.minute,2)),e.push(Ot(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Ot(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};Mu=$o;V.GeneralizedTime=Mu;$o.NAME="GeneralizedTime";var Hu,Ko=class extends ke{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Hu=Ko;V.DATE=Hu;Ko.NAME="DATE";var $u,qo=class extends ke{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};$u=qo;V.TimeOfDay=$u;qo.NAME="TimeOfDay";var Ku,zo=class extends ke{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Ku=zo;V.DateTime=Ku;zo.NAME="DateTime";var qu,jo=class extends ke{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};qu=jo;V.Duration=qu;jo.NAME="Duration";var zu,Go=class extends ke{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};zu=Go;V.TIME=zu;Go.NAME="TIME";function nt(r,t="utf8"){let e=ro[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var mn=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Wo=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var ju={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new Wo("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 Ze=ju;async function Gu(r){let t=await Ze.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await vp(t);return{privateKey:e[0],publicKey:e[1]}}async function Zu(r,t){let e=await Ze.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Ze.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Wu(r,t,e){let n=await Ze.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Ze.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function vp(r){if(r.privateKey==null||r.publicKey==null)throw new Et("Private and public key are required");return Promise.all([Ze.get().subtle.exportKey("jwk",r.privateKey),Ze.get().subtle.exportKey("jwk",r.publicKey)])}function Qs(r){if(r.kty!=="RSA")throw new Et("invalid key type");if(r.n==null)throw new Et("invalid key modulus");return j(r.n,"base64url").length*8}var Pr=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=yn.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return X.createV1(114,this._multihash)}toString(){return rt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:st(this.raw,t.raw)}verify(t,e){return Wu(this._key,e,t)}},wn=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=yn.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:st(this.raw,t.raw)}sign(t){return Zu(this._key,t)}};var Yo=8192,ta=18;function Yu(r){let{result:t}=Xs(r),e=t.valueBlock.value;return{n:he(e[1]),e:he(e[2]),d:he(e[3]),p:he(e[4]),q:he(e[5]),dp:he(e[6]),dq:he(e[7]),qi:he(e[8]),kty:"RSA",alg:"RS256"}}function Ep(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new Et("JWK was missing components");let e=new Ie({value:[new xt({value:0}),xt.fromBigInt(de(j(r.n,"base64url"))),xt.fromBigInt(de(j(r.e,"base64url"))),xt.fromBigInt(de(j(r.d,"base64url"))),xt.fromBigInt(de(j(r.p,"base64url"))),xt.fromBigInt(de(j(r.q,"base64url"))),xt.fromBigInt(de(j(r.dp,"base64url"))),xt.fromBigInt(de(j(r.dq,"base64url"))),xt.fromBigInt(de(j(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Ju(r){let{result:t}=Xs(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:he(e[0]),e:he(e[1])}}function ea(r){if(r.n==null||r.e==null)throw new Et("JWK was missing components");let e=new Ie({value:[new Ie({value:[new Vr({value:"1.2.840.113549.1.1.1"}),new Rr]}),new Lr({valueHex:new Ie({value:[xt.fromBigInt(de(j(r.n,"base64url"))),xt.fromBigInt(de(j(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function he(r){let t=r.valueBlock.valueHexView;for(;t[0]===0;)t=t.subarray(1);return nt(t,"base64url")}function de(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}function Xu(r){let t=Yu(r);return Qu(t)}function ra(r){let t=Ju(r);if(Qs(t)>Yo)throw new hr("Key size is too large");let e=Nr(le.encode({Type:ft.RSA,Data:r})),n=Wt(ta,e);return new Pr(t,n)}function Qu(r){if(Qs(r)>Yo)throw new Et("Key size is too large");let t=el(r),e=Nr(le.encode({Type:ft.RSA,Data:ea(t.publicKey)})),n=Wt(ta,e);return new wn(t.privateKey,new Pr(t.publicKey,n))}async function tl(r){if(r>Yo)throw new Et("Key size is too large");let t=await Gu(r),e=Nr(le.encode({Type:ft.RSA,Data:ea(t.publicKey)})),n=Wt(ta,e);return new wn(t.privateKey,new Pr(t.publicKey,n))}function el(r){if(r==null)throw new Et("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var Jo=class extends Er{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,vc(t);let n=Xr(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(t){return vr(this),this.iHash.update(t),this}digestInto(t){vr(this),br(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},na=(r,t,e)=>new Jo(r,t).update(e).digest();na.create=(r,t)=>new Jo(r,t);function rl(r){r.lowS!==void 0&&Xt("lowS",r.lowS),r.prehash!==void 0&&Xt("prehash",r.prehash)}function Bp(r){let t=en(r);ue(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Ap,hexToBytes:Sp}=jn,oa=class extends Error{constructor(t=""){super(t)}},Ne={Err:oa,_tlv:{encode:(r,t)=>{let{Err:e}=Ne;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,o=Qe(n);if(o.length/2&128)throw new e("tlv.encode: long form length too big");let i=n>127?Qe(o.length/2|128):"";return Qe(r)+i+o+t},decode(r,t){let{Err:e}=Ne,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let o=t[n++],i=!!(o&128),s=0;if(!i)s=o;else{let c=o&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+c);if(f.length!==c)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let u of f)s=s<<8|u;if(n+=c,s<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+s);if(a.length!==s)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(r){let{Err:t}=Ne;if(r<Ue)throw new t("integer: negative integers are not allowed");let e=Qe(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=Ne;if(r[0]&128)throw new t("invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Ap(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=Ne,o=typeof r=="string"?Sp(r):r;Ar(o);let{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:f,l:u}=n.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=Ne,n=t.encode(2,e.encode(r.r)),o=t.encode(2,e.encode(r.s)),i=n+o;return t.encode(48,i)}},Ue=BigInt(0),pt=BigInt(1),Cx=BigInt(2),nl=BigInt(3),Nx=BigInt(4);function Ip(r){let t=Bp(r),{Fp:e}=t,n=$e(t.n,t.nBitLength),o=t.toBytes||((w,d,A)=>{let T=d.toAffine();return Ee(Uint8Array.from([4]),e.toBytes(T.x),e.toBytes(T.y))}),i=t.fromBytes||(w=>{let d=w.subarray(1),A=e.fromBytes(d.subarray(0,e.BYTES)),T=e.fromBytes(d.subarray(e.BYTES,2*e.BYTES));return{x:A,y:T}});function s(w){let{a:d,b:A}=t,T=e.sqr(w),x=e.mul(T,w);return e.add(e.add(x,e.mul(w,d)),A)}if(!e.eql(e.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function a(w){return Qr(w,pt,t.n)}function c(w){let{allowedPrivateKeyLengths:d,nByteLength:A,wrapPrivateKey:T,n:x}=t;if(d&&typeof w!="bigint"){if(Oe(w)&&(w=be(w)),typeof w!="string"||!d.includes(w.length))throw new Error("invalid private key");w=w.padStart(A*2,"0")}let U;try{U=typeof w=="bigint"?w:ve(at("private key",w,A))}catch{throw new Error("invalid private key, expected hex or "+A+" bytes, got "+typeof w)}return T&&(U=Q(U,x)),_t("private key",U,pt,x),U}function f(w){if(!(w instanceof h))throw new Error("ProjectivePoint expected")}let u=rr((w,d)=>{let{px:A,py:T,pz:x}=w;if(e.eql(x,e.ONE))return{x:A,y:T};let U=w.is0();d==null&&(d=U?e.ONE:e.inv(x));let F=e.mul(A,d),P=e.mul(T,d),R=e.mul(x,d);if(U)return{x:e.ZERO,y:e.ZERO};if(!e.eql(R,e.ONE))throw new Error("invZ was invalid");return{x:F,y:P}}),l=rr(w=>{if(w.is0()){if(t.allowInfinityPoint&&!e.is0(w.py))return;throw new Error("bad point: ZERO")}let{x:d,y:A}=w.toAffine();if(!e.isValid(d)||!e.isValid(A))throw new Error("bad point: x or y not FE");let T=e.sqr(A),x=s(d);if(!e.eql(T,x))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class h{constructor(d,A,T){if(this.px=d,this.py=A,this.pz=T,d==null||!e.isValid(d))throw new Error("x required");if(A==null||!e.isValid(A))throw new Error("y required");if(T==null||!e.isValid(T))throw new Error("z required");Object.freeze(this)}static fromAffine(d){let{x:A,y:T}=d||{};if(!d||!e.isValid(A)||!e.isValid(T))throw new Error("invalid affine point");if(d instanceof h)throw new Error("projective point not allowed");let x=U=>e.eql(U,e.ZERO);return x(A)&&x(T)?h.ZERO:new h(A,T,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let A=e.invertBatch(d.map(T=>T.pz));return d.map((T,x)=>T.toAffine(A[x])).map(h.fromAffine)}static fromHex(d){let A=h.fromAffine(i(at("pointHex",d)));return A.assertValidity(),A}static fromPrivateKey(d){return h.BASE.multiply(c(d))}static msm(d,A){return Yn(h,n,d,A)}_setWindowSize(d){B.setWindowSize(this,d)}assertValidity(){l(this)}hasEvenY(){let{y:d}=this.toAffine();if(e.isOdd)return!e.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:A,py:T,pz:x}=this,{px:U,py:F,pz:P}=d,R=e.eql(e.mul(A,P),e.mul(U,x)),b=e.eql(e.mul(T,P),e.mul(F,x));return R&&b}negate(){return new h(this.px,e.neg(this.py),this.pz)}double(){let{a:d,b:A}=t,T=e.mul(A,nl),{px:x,py:U,pz:F}=this,P=e.ZERO,R=e.ZERO,b=e.ZERO,v=e.mul(x,x),D=e.mul(U,U),L=e.mul(F,F),C=e.mul(x,U);return C=e.add(C,C),b=e.mul(x,F),b=e.add(b,b),P=e.mul(d,b),R=e.mul(T,L),R=e.add(P,R),P=e.sub(D,R),R=e.add(D,R),R=e.mul(P,R),P=e.mul(C,P),b=e.mul(T,b),L=e.mul(d,L),C=e.sub(v,L),C=e.mul(d,C),C=e.add(C,b),b=e.add(v,v),v=e.add(b,v),v=e.add(v,L),v=e.mul(v,C),R=e.add(R,v),L=e.mul(U,F),L=e.add(L,L),v=e.mul(L,C),P=e.sub(P,v),b=e.mul(L,D),b=e.add(b,b),b=e.add(b,b),new h(P,R,b)}add(d){f(d);let{px:A,py:T,pz:x}=this,{px:U,py:F,pz:P}=d,R=e.ZERO,b=e.ZERO,v=e.ZERO,D=t.a,L=e.mul(t.b,nl),C=e.mul(A,U),$=e.mul(T,F),S=e.mul(x,P),I=e.add(A,T),g=e.add(U,F);I=e.mul(I,g),g=e.add(C,$),I=e.sub(I,g),g=e.add(A,x);let p=e.add(U,P);return g=e.mul(g,p),p=e.add(C,S),g=e.sub(g,p),p=e.add(T,x),R=e.add(F,P),p=e.mul(p,R),R=e.add($,S),p=e.sub(p,R),v=e.mul(D,g),R=e.mul(L,S),v=e.add(R,v),R=e.sub($,v),v=e.add($,v),b=e.mul(R,v),$=e.add(C,C),$=e.add($,C),S=e.mul(D,S),g=e.mul(L,g),$=e.add($,S),S=e.sub(C,S),S=e.mul(D,S),g=e.add(g,S),C=e.mul($,g),b=e.add(b,C),C=e.mul(p,g),R=e.mul(I,R),R=e.sub(R,C),C=e.mul(I,$),v=e.mul(p,v),v=e.add(v,C),new h(R,b,v)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return B.wNAFCached(this,d,h.normalizeZ)}multiplyUnsafe(d){let{endo:A,n:T}=t;_t("scalar",d,Ue,T);let x=h.ZERO;if(d===Ue)return x;if(this.is0()||d===pt)return this;if(!A||B.hasPrecomputes(this))return B.wNAFCachedUnsafe(this,d,h.normalizeZ);let{k1neg:U,k1:F,k2neg:P,k2:R}=A.splitScalar(d),b=x,v=x,D=this;for(;F>Ue||R>Ue;)F&pt&&(b=b.add(D)),R&pt&&(v=v.add(D)),D=D.double(),F>>=pt,R>>=pt;return U&&(b=b.negate()),P&&(v=v.negate()),v=new h(e.mul(v.px,A.beta),v.py,v.pz),b.add(v)}multiply(d){let{endo:A,n:T}=t;_t("scalar",d,pt,T);let x,U;if(A){let{k1neg:F,k1:P,k2neg:R,k2:b}=A.splitScalar(d),{p:v,f:D}=this.wNAF(P),{p:L,f:C}=this.wNAF(b);v=B.constTimeNegate(F,v),L=B.constTimeNegate(R,L),L=new h(e.mul(L.px,A.beta),L.py,L.pz),x=v.add(L),U=D.add(C)}else{let{p:F,f:P}=this.wNAF(d);x=F,U=P}return h.normalizeZ([x,U])[0]}multiplyAndAddUnsafe(d,A,T){let x=h.BASE,U=(P,R)=>R===Ue||R===pt||!P.equals(x)?P.multiplyUnsafe(R):P.multiply(R),F=U(this,A).add(U(d,T));return F.is0()?void 0:F}toAffine(d){return u(this,d)}isTorsionFree(){let{h:d,isTorsionFree:A}=t;if(d===pt)return!0;if(A)return A(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:A}=t;return d===pt?this:A?A(h,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return Xt("isCompressed",d),this.assertValidity(),o(h,this,d)}toHex(d=!0){return Xt("isCompressed",d),be(this.toRawBytes(d))}}h.BASE=new h(t.Gx,t.Gy,e.ONE),h.ZERO=new h(e.ZERO,e.ONE,e.ZERO);let m=t.nBitLength,B=Wn(h,t.endo?Math.ceil(m/2):m);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:a}}function kp(r){let t=en(r);return ue(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function ol(r){let t=kp(r),{Fp:e,n}=t,o=e.BYTES+1,i=2*e.BYTES+1;function s(S){return Q(S,n)}function a(S){return Gn(S,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:l}=Ip({...t,toBytes(S,I,g){let p=I.toAffine(),E=e.toBytes(p.x),N=Ee;return Xt("isCompressed",g),g?N(Uint8Array.from([I.hasEvenY()?2:3]),E):N(Uint8Array.from([4]),E,e.toBytes(p.y))},fromBytes(S){let I=S.length,g=S[0],p=S.subarray(1);if(I===o&&(g===2||g===3)){let E=ve(p);if(!Qr(E,pt,e.ORDER))throw new Error("Point is not on curve");let N=u(E),O;try{O=e.sqrt(N)}catch(Z){let K=Z instanceof Error?": "+Z.message:"";throw new Error("Point is not on curve"+K)}let M=(O&pt)===pt;return(g&1)===1!==M&&(O=e.neg(O)),{x:E,y:O}}else if(I===i&&g===4){let E=e.fromBytes(p.subarray(0,e.BYTES)),N=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x:E,y:N}}else{let E=o,N=i;throw new Error("invalid Point, expected length of "+E+", or uncompressed "+N+", got "+I)}}}),h=S=>be(He(S,t.nByteLength));function m(S){let I=n>>pt;return S>I}function B(S){return m(S)?s(-S):S}let w=(S,I,g)=>ve(S.slice(I,g));class d{constructor(I,g,p){this.r=I,this.s=g,this.recovery=p,this.assertValidity()}static fromCompact(I){let g=t.nByteLength;return I=at("compactSignature",I,g*2),new d(w(I,0,g),w(I,g,2*g))}static fromDER(I){let{r:g,s:p}=Ne.toSig(at("DER",I));return new d(g,p)}assertValidity(){_t("r",this.r,pt,n),_t("s",this.s,pt,n)}addRecoveryBit(I){return new d(this.r,this.s,I)}recoverPublicKey(I){let{r:g,s:p,recovery:E}=this,N=P(at("msgHash",I));if(E==null||![0,1,2,3].includes(E))throw new Error("recovery id invalid");let O=E===2||E===3?g+t.n:g;if(O>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let M=E&1?"03":"02",z=c.fromHex(M+h(O)),Z=a(O),K=s(-N*Z),J=s(p*Z),et=c.BASE.multiplyAndAddUnsafe(z,K,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new d(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return tr(this.toDERHex())}toDERHex(){return Ne.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return tr(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let A={isValidPrivateKey(S){try{return f(S),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let S=ls(t.n);return Vc(t.randomBytes(S),t.n)},precompute(S=8,I=c.BASE){return I._setWindowSize(S),I.multiply(BigInt(3)),I}};function T(S,I=!0){return c.fromPrivateKey(S).toRawBytes(I)}function x(S){let I=Oe(S),g=typeof S=="string",p=(I||g)&&S.length;return I?p===o||p===i:g?p===2*o||p===2*i:S instanceof c}function U(S,I,g=!0){if(x(S))throw new Error("first arg must be private key");if(!x(I))throw new Error("second arg must be public key");return c.fromHex(I).multiply(f(S)).toRawBytes(g)}let F=t.bits2int||function(S){if(S.length>8192)throw new Error("input is too large");let I=ve(S),g=S.length*8-t.nBitLength;return g>0?I>>BigInt(g):I},P=t.bits2int_modN||function(S){return s(F(S))},R=tn(t.nBitLength);function b(S){return _t("num < 2^"+t.nBitLength,S,Ue,R),He(S,t.nByteLength)}function v(S,I,g=D){if(["recovered","canonical"].some(dt=>dt in g))throw new Error("sign() legacy options not supported");let{hash:p,randomBytes:E}=t,{lowS:N,prehash:O,extraEntropy:M}=g;N==null&&(N=!0),S=at("msgHash",S),rl(g),O&&(S=at("prehashed msgHash",p(S)));let z=P(S),Z=f(I),K=[b(Z),b(z)];if(M!=null&&M!==!1){let dt=M===!0?E(e.BYTES):M;K.push(at("extraEntropy",dt))}let J=Ee(...K),et=z;function ht(dt){let yt=F(dt);if(!l(yt))return;let vt=a(yt),Rt=c.BASE.multiply(yt).toAffine(),Tt=s(Rt.x);if(Tt===Ue)return;let ce=s(vt*s(et+Tt*Z));if(ce===Ue)return;let me=(Rt.x===Tt?0:2)|Number(Rt.y&pt),Zr=ce;return N&&m(ce)&&(Zr=B(ce),me^=1),new d(Tt,Zr,me)}return{seed:J,k2sig:ht}}let D={lowS:t.lowS,prehash:!1},L={lowS:t.lowS,prehash:!1};function C(S,I,g=D){let{seed:p,k2sig:E}=v(S,I,g),N=t;return ss(N.hash.outputLen,N.nByteLength,N.hmac)(p,E)}c.BASE._setWindowSize(8);function $(S,I,g,p=L){let E=S;I=at("msgHash",I),g=at("publicKey",g);let{lowS:N,prehash:O,format:M}=p;if(rl(p),"strict"in p)throw new Error("options.strict was renamed to lowS");if(M!==void 0&&M!=="compact"&&M!=="der")throw new Error("format must be compact or der");let z=typeof E=="string"||Oe(E),Z=!z&&!M&&typeof E=="object"&&E!==null&&typeof E.r=="bigint"&&typeof E.s=="bigint";if(!z&&!Z)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let K,J;try{if(Z&&(K=new d(E.r,E.s)),z){try{M!=="compact"&&(K=d.fromDER(E))}catch(me){if(!(me instanceof Ne.Err))throw me}!K&&M!=="der"&&(K=d.fromCompact(E))}J=c.fromHex(g)}catch{return!1}if(!K||N&&K.hasHighS())return!1;O&&(I=t.hash(I));let{r:et,s:ht}=K,dt=P(I),yt=a(ht),vt=s(dt*yt),Rt=s(et*yt),Tt=c.BASE.multiplyAndAddUnsafe(J,vt,Rt)?.toAffine();return Tt?s(Tt.x)===et:!1}return{CURVE:t,getPublicKey:T,getSharedSecret:U,sign:C,verify:$,ProjectivePoint:c,Signature:d,utils:A}}function Tp(r){return{hash:r,hmac:(t,...e)=>na(r,t,Qi(...e)),randomBytes:$n}}function il(r,t){let e=n=>ol({...r,...Tp(n)});return{...e(t),create:e}}var cl=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),sl=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Cp=BigInt(1),ia=BigInt(2),al=(r,t)=>(r+t/ia)/t;function Np(r){let t=cl,e=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),f=r*r*r%t,u=f*f*r%t,l=it(u,e,t)*u%t,h=it(l,e,t)*u%t,m=it(h,ia,t)*f%t,B=it(m,o,t)*m%t,w=it(B,i,t)*B%t,d=it(w,a,t)*w%t,A=it(d,c,t)*d%t,T=it(A,a,t)*w%t,x=it(T,e,t)*u%t,U=it(x,s,t)*B%t,F=it(U,n,t)*f%t,P=it(F,ia,t);if(!sa.eql(sa.sqr(P),r))throw new Error("Cannot find square root");return P}var sa=$e(cl,void 0,void 0,{sqrt:Np}),cr=il({a:BigInt(0),b:BigInt(7),Fp:sa,n:sl,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=sl,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Cp*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,s=BigInt("0x100000000000000000000000000000000"),a=al(i*r,t),c=al(-n*r,t),f=Q(r-a*e-c*o,t),u=Q(-a*n-c*i,t),l=f>s,h=u>s;if(l&&(f=t-f),h&&(u=t-u),f>s||u>s)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:f,k2neg:h,k2:u}}}},Nr),Ox=BigInt(0);var Mx=cr.ProjectivePoint;function It(r,t){t==null&&(t=r.reduce((o,i)=>o+i.length,0));let e=Ft(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function ul(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function ll(r,t,e){let n=rn.digest(e instanceof Uint8Array?e:e.subarray());if(ul(n))return n.then(({digest:o})=>cr.verify(t,o,r)).catch(o=>{throw new mn(String(o))});try{return cr.verify(t,n.digest,r)}catch(o){throw new mn(String(o))}}var Xo=class{type="secp256k1";raw;_key;constructor(t){this._key=hl(t),this.raw=fl(this._key)}toMultihash(){return Yt.digest(to(this))}toCID(){return X.createV1(114,this.toMultihash())}toString(){return rt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:st(this.raw,t.raw)}verify(t,e){return ll(this._key,e,t)}};function aa(r){return new Xo(r)}function fl(r){return cr.ProjectivePoint.fromHex(r).toRawBytes(!0)}function hl(r){try{return cr.ProjectivePoint.fromHex(r),r}catch(t){throw new hr(String(t))}}function dl(r){let{Type:t,Data:e}=le.decode(r),n=e??new Uint8Array;switch(t){case ft.RSA:return ra(n);case ft.Ed25519:return ys(n);case ft.secp256k1:return aa(n);default:throw new pr}}function Qo(r){let{Type:t,Data:e}=le.decode(r.digest),n=e??new Uint8Array;switch(t){case ft.Ed25519:return ys(n);case ft.secp256k1:return aa(n);default:throw new pr}}function to(r){return le.encode({Type:ft[r.type],Data:r.raw})}var pl=Symbol.for("nodejs.util.inspect.custom"),Up=114,xn=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Oi]=!0;toString(){return this.string==null&&(this.string=rt.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return X.createV1(Up,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return st(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return st(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[pl](){return`PeerId(${this.toString()})`}},ti=class extends xn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},ei=class extends xn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},ri=class extends xn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Rp=2336,bn=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Yt.digest(j(this.url))}[pl](){return`PeerId(${this.url})`}[Oi]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return X.createV1(Rp,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=nt(t)),t.toString()===this.toString())}};var Lp=114,gl=2336;function ml(r,t){let e;if(r.charAt(0)==="1"||r.charAt(0)==="Q")e=we(rt.decode(`z${r}`));else{if(t==null)throw new Et('Please pass a multibase decoder for strings that do not start with "1" or "Q"');e=we(t.decode(r))}return yl(e)}function yl(r){if(_p(r))return new ti({multihash:r});if(Vp(r))try{let t=Qo(r);if(t.type==="Ed25519")return new ei({multihash:r,publicKey:t});if(t.type==="secp256k1")return new ri({multihash:r,publicKey:t})}catch{let e=nt(r.digest);return new bn(new URL(e))}throw new dr("Supplied PeerID Multihash is invalid")}function wl(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==Lp&&r.code!==gl)throw new _n("Supplied PeerID CID is invalid");if(r.code===gl){let t=nt(r.multihash.digest);return new bn(new URL(t))}return yl(r.multihash)}function Vp(r){return r.code===Yt.code}function _p(r){return r.code===rn.code}var ni=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let i=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,t);if(!Number.isNaN(h))return h});if(u===void 0)break;if(i*=t,i+=u,i>f||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!n&&c&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let o=n*2;if(n<e.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return e[o]=s[0],e[o+1]=s[1],e[o+2]=s[2],e[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];e[o]=i>>8,e[o+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[a]=t(i.subarray(0,s));return e.set(i.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var xl=45,Pp=15,Fr=new ni;function ca(r){if(!(r.length>Pp))return Fr.new(r).parseWith(()=>Fr.readIPv4Addr())}function ua(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>xl))return Fr.new(r).parseWith(()=>Fr.readIPv6Addr())}function oi(r,t=!1){if(r.includes("%")&&(r=r.split("%")[0]),r.length>xl)return;let e=Fr.new(r).parseWith(()=>Fr.readIPAddr());if(e)return t&&e.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,e[0],e[1],e[2],e[3]]):e}var e1=parseInt("0xFFFF",16),r1=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function El(r){return!!ca(r)}function Bl(r){return!!ua(r)}function ii(r){return!!oi(r)}var Al=El,Hp=Bl,la=function(r){let t=0;if(r=r.toString().trim(),Al(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(Hp(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let i=Al(e[n]),s;i&&(s=la(e[n]),e[n]=nt(s.slice(0,2),"base16")),s!=null&&++n<8&&e.splice(n,0,nt(s.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let i=[n,1];for(n=9-e.length;n>0;n--)i.push("0");e.splice.apply(e,i)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){let i=parseInt(e[n],16);o[t++]=i>>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},Sl=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let i=0;i<e;i++)o.push(r[t+i]);return o.join(".")}if(e===16){let o=[];for(let i=0;i<e;i+=2)o.push(n.getUint16(t+i).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Dr={},fa={},Kp=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];Kp.forEach(r=>{let t=qp(...r);fa[t.code]=t,Dr[t.name]=t});function qp(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function tt(r){if(typeof r=="number"){if(fa[r]!=null)return fa[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Dr[r]!=null)return Dr[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var O1=tt("ip4"),M1=tt("ip6"),H1=tt("ipcidr");function ga(r,t){switch(tt(r).code){case 4:case 41:return jp(t);case 42:return pa(t);case 43:return nt(t,"base10");case 6:case 273:case 33:case 132:return Tl(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return pa(t);case 421:return Yp(t);case 444:return kl(t);case 445:return kl(t);case 466:return Wp(t);case 481:return globalThis.encodeURIComponent(pa(t));default:return nt(t,"base16")}}function ma(r,t){switch(tt(r).code){case 4:return Il(t);case 41:return Il(t);case 42:return da(t);case 43:return j(t,"base10");case 6:case 273:case 33:case 132:return ya(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return da(t);case 421:return Gp(t);case 444:return Jp(t);case 445:return Xp(t);case 466:return Zp(t);case 481:return da(globalThis.decodeURIComponent(t));default:return j(t,"base16")}}var ha=Object.values(nn).map(r=>r.decoder),zp=function(){let r=ha[0].or(ha[1]);return ha.slice(2).forEach(t=>r=r.or(t)),r}();function Il(r){if(!ii(r))throw new Error("invalid ip address");return la(r)}function jp(r){let t=Sl(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!ii(t))throw new Error("invalid ip address");return t}function ya(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Tl(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function da(r){let t=j(r),e=Uint8Array.from(Sr(t.length));return It([e,t],e.length+t.length)}function pa(r){let t=or(r);if(r=r.slice(Dt(t)),r.length!==t)throw new Error("inconsistent lengths");return nt(r)}function Gp(r){let t;r[0]==="Q"||r[0]==="1"?t=we(rt.decode(`z${r}`)).bytes:t=X.parse(r).multihash.bytes;let e=Uint8Array.from(Sr(t.length));return It([e,t],e.length+t.length)}function Zp(r){let t=zp.decode(r),e=Uint8Array.from(Sr(t.length));return It([e,t],e.length+t.length)}function Wp(r){let t=or(r),e=r.slice(Dt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+nt(e,"base64url")}function Yp(r){let t=or(r),e=r.slice(Dt(t));if(e.length!==t)throw new Error("inconsistent lengths");return nt(e,"base58btc")}function Jp(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Zt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ya(n);return It([e,o],e.length+o.length)}function Xp(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Zt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ya(n);return It([e,o],e.length+o.length)}function kl(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=nt(t,"base32"),o=Tl(e);return`${n}:${o}`}function Cl(r){r=wa(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<o.length;i++){let s=o[i],a=tt(s);if(a.size===0){t.push([a.code]),e.push([a.code]);continue}if(i++,i>=o.length)throw new si("invalid address: "+r);if(a.path===!0){n=wa(o.slice(i).join("/")),t.push([a.code,ma(a.code,n)]),e.push([a.code,n]);break}let c=ma(a.code,o[i]);t.push([a.code,c]),e.push([a.code,ga(a.code,c)])}return{string:Nl(e),bytes:ba(t),tuples:t,stringTuples:e,path:n}}function xa(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let i=or(r,o),s=Dt(i),a=tt(i),c=Qp(a,r.slice(o+s));if(c===0){t.push([i]),e.push([i]),o+=s;continue}let f=r.slice(o+s,o+s+c);if(o+=c+s,o>r.length)throw new si("Invalid address Uint8Array: "+nt(r,"base16"));t.push([i,f]);let u=ga(i,f);if(e.push([i,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(r),string:Nl(e),tuples:t,stringTuples:e,path:n}}function Nl(r){let t=[];return r.map(e=>{let n=tt(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),wa(t.join("/"))}function ba(r){return It(r.map(t=>{let e=tt(t[0]),n=Uint8Array.from(Sr(e.code));return t.length>1&&t[1]!=null&&(n=It([n,t[1]])),n}))}function Qp(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=or(t instanceof Uint8Array?t:Uint8Array.from(t));return e+Dt(e)}}function wa(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}var si=class extends Error{static name="ParseError";name="ParseError";constructor(t){super(`Error parsing address: ${t}`)}};var tg=Symbol.for("nodejs.util.inspect.custom"),Ea=Symbol.for("@multiformats/js-multiaddr/multiaddr"),eg=[tt("dns").code,tt("dns4").code,tt("dns6").code,tt("dnsaddr").code],va=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},ai=class r{bytes;#t;#r;#e;#a;[Ea]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=xa(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Cl(t)}else if(Rl(t))e=xa(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#r=e.tuples,this.#e=e.stringTuples,this.#a=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,o,i="",s=tt("tcp"),a=tt("udp"),c=tt("ip4"),f=tt("ip6"),u=tt("dns6"),l=tt("ip6zone");for(let[m,B]of this.stringTuples())m===l.code&&(i=`%${B??""}`),eg.includes(m)&&(e=s.name==="tcp"?"tcp":"udp",o=443,n=`${B??""}${i}`,t=m===u.code?6:4),(m===s.code||m===a.code)&&(e=tt(m).name==="tcp"?"tcp":"udp",o=parseInt(B??"")),(m===c.code||m===f.code)&&(e=tt(m).name==="tcp"?"tcp":"udp",n=`${B??""}${i}`,t=m===f.code?6:4);if(t==null||e==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:o}}protos(){return this.#r.map(([t])=>Object.assign({},tt(t)))}protoCodes(){return this.#r.map(([t])=>t)}protoNames(){return this.#r.map(([t])=>tt(t).name)}tuples(){return this.#r.map(([t,e])=>e==null?[t]:[t,e])}stringTuples(){return this.#e.map(([t,e])=>e==null?[t]:[t,e])}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(ba(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===Dr.p2p.code&&t.push([n,o]),n===Dr["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?nt(rt.decode(`z${n}`),"base58btc"):nt(X.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(t){return st(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=Ul.get(e.name);if(n==null)throw new va(`no available resolver for ${e.name}`);return(await n(this,t)).map(i=>ur(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[tg](){return`Multiaddr(${this.#t})`}};var Ul=new Map;function Rl(r){return!!r?.[Ea]}function ur(r){return new ai(r)}function vn(r){let t=new globalThis.AbortController;function e(){t.abort();for(let i of r)i?.removeEventListener!=null&&i.removeEventListener("abort",e)}for(let i of r){if(i?.aborted===!0){e();break}i?.addEventListener!=null&&i.addEventListener("abort",e)}function n(){for(let i of r)i?.removeEventListener!=null&&i.removeEventListener("abort",e)}let o=t.signal;return o.clear=n,o}async function*ci(r,t={}){let e=r.getReader();try{for(;;){let n=await e.read();if(n.done)return;yield n.value}}finally{t.preventCancel!==!0&&await e.cancel(),e.releaseLock()}}var rg="/",ng=new TextEncoder().encode(rg),g2=ng[0];var Fg=Vn(Aa(),1);var re=class extends Error{static name="SignatureVerificationError";constructor(t="Record signature verification failed"){super(t),this.name="SignatureVerificationError"}},ui=class extends Error{static name="RecordExpiredError";constructor(t="Record has expired"){super(t),this.name="RecordExpiredError"}},Or=class extends Error{static name="UnsupportedValidityError";constructor(t="The validity type is unsupported"){super(t),this.name="UnsupportedValidityError"}},li=class extends Error{static name="RecordTooLargeError";constructor(t="The record is too large"){super(t),this.name="RecordTooLargeError"}},fi=class extends Error{static name="InvalidValueError";constructor(t="Value must be a valid content path starting with /"){super(t),this.name="InvalidValueError"}},hi=class extends Error{static name="InvalidRecordDataError";constructor(t="Invalid record data"){super(t),this.name="InvalidRecordDataError"}},En=class extends Error{static name="InvalidEmbeddedPublicKeyError";constructor(t="Invalid embedded public key"){super(t),this.name="InvalidEmbeddedPublicKeyError"}};var ne;(function(r){let t;(function(o){o.EOL="EOL"})(t=r.ValidityType||(r.ValidityType={}));let e;(function(o){o[o.EOL=0]="EOL"})(e||(e={})),function(o){o.codec=()=>an(e)}(t=r.ValidityType||(r.ValidityType={}));let n;r.codec=()=>(n==null&&(n=Cr((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.value!=null&&(i.uint32(10),i.bytes(o.value)),o.signatureV1!=null&&(i.uint32(18),i.bytes(o.signatureV1)),o.validityType!=null&&(i.uint32(24),r.ValidityType.codec().encode(o.validityType,i)),o.validity!=null&&(i.uint32(34),i.bytes(o.validity)),o.sequence!=null&&(i.uint32(40),i.uint64(o.sequence)),o.ttl!=null&&(i.uint32(48),i.uint64(o.ttl)),o.pubKey!=null&&(i.uint32(58),i.bytes(o.pubKey)),o.signatureV2!=null&&(i.uint32(66),i.bytes(o.signatureV2)),o.data!=null&&(i.uint32(74),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i,s={})=>{let a={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let f=o.uint32();switch(f>>>3){case 1:{a.value=o.bytes();break}case 2:{a.signatureV1=o.bytes();break}case 3:{a.validityType=r.ValidityType.codec().decode(o);break}case 4:{a.validity=o.bytes();break}case 5:{a.sequence=o.uint64();break}case 6:{a.ttl=o.uint64();break}case 7:{a.pubKey=o.bytes();break}case 8:{a.signatureV2=o.bytes();break}case 9:{a.data=o.bytes();break}default:{o.skipType(f&7);break}}}return a})),n),r.encode=o=>kr(o,r.codec()),r.decode=(o,i)=>Ir(o,r.codec(),i)})(ne||(ne={}));var og=["string","number","bigint","symbol"],ig=["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 Ll(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let t=typeof r;if(og.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(r))return"Array";if(sg(r))return"Buffer";let e=ag(r);return e||"Object"}function sg(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function ag(r){let t=Object.prototype.toString.call(r).slice(8,-1);if(ig.includes(t))return t}var y=class{constructor(t,e,n){this.major=t,this.majorEncoded=t<<5,this.name=e,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};y.uint=new y(0,"uint",!0);y.negint=new y(1,"negint",!0);y.bytes=new y(2,"bytes",!0);y.string=new y(3,"string",!0);y.array=new y(4,"array",!1);y.map=new y(5,"map",!1);y.tag=new y(6,"tag",!1);y.float=new y(7,"float",!0);y.false=new y(7,"false",!0);y.true=new y(7,"true",!0);y.null=new y(7,"null",!0);y.undefined=new y(7,"undefined",!0);y.break=new y(7,"break",!0);var _=class{constructor(t,e,n){this.type=t,this.value=e,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Mr=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",cg=new TextDecoder,ug=new TextEncoder;function di(r){return Mr&&globalThis.Buffer.isBuffer(r)}function Fl(r){return r instanceof Uint8Array?di(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Dl=Mr?(r,t,e)=>e-t>64?globalThis.Buffer.from(r.subarray(t,e)).toString("utf8"):_l(r,t,e):(r,t,e)=>e-t>64?cg.decode(r.subarray(t,e)):_l(r,t,e),Ol=Mr?r=>r.length>64?globalThis.Buffer.from(r):Vl(r):r=>r.length>64?ug.encode(r):Vl(r);var Hr=Mr?(r,t,e)=>di(r)?new Uint8Array(r.subarray(t,e)):r.slice(t,e):(r,t,e)=>r.slice(t,e),Ml=Mr?(r,t)=>(r=r.map(e=>e instanceof Uint8Array?e:globalThis.Buffer.from(e)),Fl(globalThis.Buffer.concat(r,t))):(r,t)=>{let e=new Uint8Array(t),n=0;for(let o of r)n+o.length>e.length&&(o=o.subarray(0,e.length-n)),e.set(o,n),n+=o.length;return e},Hl=Mr?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function $l(r,t){if(di(r)&&di(t))return r.compare(t);for(let e=0;e<r.length;e++)if(r[e]!==t[e])return r[e]<t[e]?-1:1;return 0}function Vl(r){let t=[],e=0;for(let n=0;n<r.length;n++){let o=r.charCodeAt(n);o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&n+1<r.length&&(r.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(r.charCodeAt(++n)&1023),t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128)}return t}function _l(r,t,e){let n=[];for(;t<e;){let o=r[t],i=null,s=o>239?4:o>223?3:o>191?2:1;if(t+s<=e){let a,c,f,u;switch(s){case 1:o<128&&(i=o);break;case 2:a=r[t+1],(a&192)===128&&(u=(o&31)<<6|a&63,u>127&&(i=u));break;case 3:a=r[t+1],c=r[t+2],(a&192)===128&&(c&192)===128&&(u=(o&15)<<12|(a&63)<<6|c&63,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:a=r[t+1],c=r[t+2],f=r[t+3],(a&192)===128&&(c&192)===128&&(f&192)===128&&(u=(o&15)<<18|(a&63)<<12|(c&63)<<6|f&63,u>65535&&u<1114112&&(i=u))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),t+=s}return lg(n)}var Pl=4096;function lg(r){let t=r.length;if(t<=Pl)return String.fromCharCode.apply(String,r);let e="",n=0;for(;n<t;)e+=String.fromCharCode.apply(String,r.slice(n,n+=Pl));return e}var fg=256,pi=class{constructor(t=fg){this.chunkSize=t,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(t){let e=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=e.length-(this.maxCursor-this.cursor)-1;e.set(t,o)}else{if(e){let o=e.length-(this.maxCursor-this.cursor)-1;o<e.length&&(this.chunks[this.chunks.length-1]=e.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(e=Hl(this.chunkSize),this.chunks.push(e),this.maxCursor+=e.length,this._initReuseChunk===null&&(this._initReuseChunk=e),e.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let e;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(e=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):e=Hr(n,0,this.cursor)}else e=Ml(this.chunks,this.cursor);return t&&this.reset(),e}};var H="CBOR decode error:",Sa="CBOR encode error:",Bn=[];Bn[23]=1;Bn[24]=2;Bn[25]=3;Bn[26]=5;Bn[27]=9;function Re(r,t,e){if(r.length-t<e)throw new Error(`${H} not enough data for type`)}var gt=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Ht(r,t,e){Re(r,t,1);let n=r[t];if(e.strict===!0&&n<gt[0])throw new Error(`${H} integer encoded in more bytes than necessary (strict decode)`);return n}function $t(r,t,e){Re(r,t,2);let n=r[t]<<8|r[t+1];if(e.strict===!0&&n<gt[1])throw new Error(`${H} integer encoded in more bytes than necessary (strict decode)`);return n}function Kt(r,t,e){Re(r,t,4);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3];if(e.strict===!0&&n<gt[2])throw new Error(`${H} integer encoded in more bytes than necessary (strict decode)`);return n}function qt(r,t,e){Re(r,t,8);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3],o=r[t+4]*16777216+(r[t+5]<<16)+(r[t+6]<<8)+r[t+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(e.strict===!0&&i<gt[3])throw new Error(`${H} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(e.allowBigInt===!0)return i;throw new Error(`${H} integers outside of the safe integer range are not supported`)}function Kl(r,t,e,n){return new _(y.uint,Ht(r,t+1,n),2)}function ql(r,t,e,n){return new _(y.uint,$t(r,t+1,n),3)}function zl(r,t,e,n){return new _(y.uint,Kt(r,t+1,n),5)}function jl(r,t,e,n){return new _(y.uint,qt(r,t+1,n),9)}function jt(r,t){return bt(r,0,t.value)}function bt(r,t,e){if(e<gt[0]){let n=Number(e);r.push([t|n])}else if(e<gt[1]){let n=Number(e);r.push([t|24,n])}else if(e<gt[2]){let n=Number(e);r.push([t|25,n>>>8,n&255])}else if(e<gt[3]){let n=Number(e);r.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(e);if(n<gt[4]){let o=[t|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,r.push(o)}else throw new Error(`${H} encountered BigInt larger than allowable range`)}}jt.encodedSize=function(t){return bt.encodedSize(t.value)};bt.encodedSize=function(t){return t<gt[0]?1:t<gt[1]?2:t<gt[2]?3:t<gt[3]?5:9};jt.compareTokens=function(t,e){return t.value<e.value?-1:t.value>e.value?1:0};function Gl(r,t,e,n){return new _(y.negint,-1-Ht(r,t+1,n),2)}function Zl(r,t,e,n){return new _(y.negint,-1-$t(r,t+1,n),3)}function Wl(r,t,e,n){return new _(y.negint,-1-Kt(r,t+1,n),5)}var Ia=BigInt(-1),Yl=BigInt(1);function Jl(r,t,e,n){let o=qt(r,t+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new _(y.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${H} integers outside of the safe integer range are not supported`);return new _(y.negint,Ia-BigInt(o),9)}function gi(r,t){let e=t.value,n=typeof e=="bigint"?e*Ia-Yl:e*-1-1;bt(r,t.type.majorEncoded,n)}gi.encodedSize=function(t){let e=t.value,n=typeof e=="bigint"?e*Ia-Yl:e*-1-1;return n<gt[0]?1:n<gt[1]?2:n<gt[2]?3:n<gt[3]?5:9};gi.compareTokens=function(t,e){return t.value<e.value?1:t.value>e.value?-1:0};function An(r,t,e,n){Re(r,t,e+n);let o=Hr(r,t+e,t+e+n);return new _(y.bytes,o,e+n)}function Xl(r,t,e,n){return An(r,t,1,e)}function Ql(r,t,e,n){return An(r,t,2,Ht(r,t+1,n))}function tf(r,t,e,n){return An(r,t,3,$t(r,t+1,n))}function ef(r,t,e,n){return An(r,t,5,Kt(r,t+1,n))}function rf(r,t,e,n){let o=qt(r,t+1,n);if(typeof o=="bigint")throw new Error(`${H} 64-bit integer bytes lengths not supported`);return An(r,t,9,o)}function mi(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===y.string?Ol(r.value):r.value),r.encodedBytes}function $r(r,t){let e=mi(t);bt(r,t.type.majorEncoded,e.length),r.push(e)}$r.encodedSize=function(t){let e=mi(t);return bt.encodedSize(e.length)+e.length};$r.compareTokens=function(t,e){return dg(mi(t),mi(e))};function dg(r,t){return r.length<t.length?-1:r.length>t.length?1:$l(r,t)}function Sn(r,t,e,n,o){let i=e+n;Re(r,t,i);let s=new _(y.string,Dl(r,t+e,t+i),i);return o.retainStringBytes===!0&&(s.byteValue=Hr(r,t+e,t+i)),s}function nf(r,t,e,n){return Sn(r,t,1,e,n)}function of(r,t,e,n){return Sn(r,t,2,Ht(r,t+1,n),n)}function sf(r,t,e,n){return Sn(r,t,3,$t(r,t+1,n),n)}function af(r,t,e,n){return Sn(r,t,5,Kt(r,t+1,n),n)}function cf(r,t,e,n){let o=qt(r,t+1,n);if(typeof o=="bigint")throw new Error(`${H} 64-bit integer string lengths not supported`);return Sn(r,t,9,o,n)}var uf=$r;function Kr(r,t,e,n){return new _(y.array,n,e)}function lf(r,t,e,n){return Kr(r,t,1,e)}function ff(r,t,e,n){return Kr(r,t,2,Ht(r,t+1,n))}function hf(r,t,e,n){return Kr(r,t,3,$t(r,t+1,n))}function df(r,t,e,n){return Kr(r,t,5,Kt(r,t+1,n))}function pf(r,t,e,n){let o=qt(r,t+1,n);if(typeof o=="bigint")throw new Error(`${H} 64-bit integer array lengths not supported`);return Kr(r,t,9,o)}function gf(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${H} indefinite length items not allowed`);return Kr(r,t,1,1/0)}function yi(r,t){bt(r,y.array.majorEncoded,t.value)}yi.compareTokens=jt.compareTokens;yi.encodedSize=function(t){return bt.encodedSize(t.value)};function qr(r,t,e,n){return new _(y.map,n,e)}function mf(r,t,e,n){return qr(r,t,1,e)}function yf(r,t,e,n){return qr(r,t,2,Ht(r,t+1,n))}function wf(r,t,e,n){return qr(r,t,3,$t(r,t+1,n))}function xf(r,t,e,n){return qr(r,t,5,Kt(r,t+1,n))}function bf(r,t,e,n){let o=qt(r,t+1,n);if(typeof o=="bigint")throw new Error(`${H} 64-bit integer map lengths not supported`);return qr(r,t,9,o)}function vf(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${H} indefinite length items not allowed`);return qr(r,t,1,1/0)}function wi(r,t){bt(r,y.map.majorEncoded,t.value)}wi.compareTokens=jt.compareTokens;wi.encodedSize=function(t){return bt.encodedSize(t.value)};function Ef(r,t,e,n){return new _(y.tag,e,1)}function Bf(r,t,e,n){return new _(y.tag,Ht(r,t+1,n),2)}function Af(r,t,e,n){return new _(y.tag,$t(r,t+1,n),3)}function Sf(r,t,e,n){return new _(y.tag,Kt(r,t+1,n),5)}function If(r,t,e,n){return new _(y.tag,qt(r,t+1,n),9)}function xi(r,t){bt(r,y.tag.majorEncoded,t.value)}xi.compareTokens=jt.compareTokens;xi.encodedSize=function(t){return bt.encodedSize(t.value)};var xg=20,bg=21,vg=22,Eg=23;function kf(r,t,e,n){if(n.allowUndefined===!1)throw new Error(`${H} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new _(y.null,null,1):new _(y.undefined,void 0,1)}function Tf(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${H} indefinite length items not allowed`);return new _(y.break,void 0,1)}function ka(r,t,e){if(e){if(e.allowNaN===!1&&Number.isNaN(r))throw new Error(`${H} NaN values are not supported`);if(e.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${H} Infinity values are not supported`)}return new _(y.float,r,t)}function Cf(r,t,e,n){return ka(Ta(r,t+1),3,n)}function Nf(r,t,e,n){return ka(Ca(r,t+1),5,n)}function Uf(r,t,e,n){return ka(_f(r,t+1),9,n)}function bi(r,t,e){let n=t.value;if(n===!1)r.push([y.float.majorEncoded|xg]);else if(n===!0)r.push([y.float.majorEncoded|bg]);else if(n===null)r.push([y.float.majorEncoded|vg]);else if(n===void 0)r.push([y.float.majorEncoded|Eg]);else{let o,i=!1;(!e||e.float64!==!0)&&(Lf(n),o=Ta(oe,1),n===o||Number.isNaN(n)?(oe[0]=249,r.push(oe.slice(0,3)),i=!0):(Vf(n),o=Ca(oe,1),n===o&&(oe[0]=250,r.push(oe.slice(0,5)),i=!0))),i||(Bg(n),o=_f(oe,1),oe[0]=251,r.push(oe.slice(0,9)))}}bi.encodedSize=function(t,e){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!e||e.float64!==!0){Lf(n);let o=Ta(oe,1);if(n===o||Number.isNaN(n))return 3;if(Vf(n),o=Ca(oe,1),n===o)return 5}return 9};var Rf=new ArrayBuffer(9),Gt=new DataView(Rf,1),oe=new Uint8Array(Rf,0);function Lf(r){if(r===1/0)Gt.setUint16(0,31744,!1);else if(r===-1/0)Gt.setUint16(0,64512,!1);else if(Number.isNaN(r))Gt.setUint16(0,32256,!1);else{Gt.setFloat32(0,r);let t=Gt.getUint32(0),e=(t&2139095040)>>23,n=t&8388607;if(e===255)Gt.setUint16(0,31744,!1);else if(e===0)Gt.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let o=e-127;o<-24?Gt.setUint16(0,0):o<-14?Gt.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):Gt.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Ta(r,t){if(r.length-t<2)throw new Error(`${H} not enough data for float16`);let e=(r[t]<<8)+r[t+1];if(e===31744)return 1/0;if(e===64512)return-1/0;if(e===32256)return NaN;let n=e>>10&31,o=e&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,e&32768?-i:i}function Vf(r){Gt.setFloat32(0,r,!1)}function Ca(r,t){if(r.length-t<4)throw new Error(`${H} not enough data for float32`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,4).getFloat32(0,!1)}function Bg(r){Gt.setFloat64(0,r,!1)}function _f(r,t){if(r.length-t<8)throw new Error(`${H} not enough data for float64`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,8).getFloat64(0,!1)}bi.compareTokens=jt.compareTokens;function W(r,t,e){throw new Error(`${H} encountered invalid minor (${e}) for major ${r[t]>>>5}`)}function vi(r){return()=>{throw new Error(`${H} ${r}`)}}var k=[];for(let r=0;r<=23;r++)k[r]=W;k[24]=Kl;k[25]=ql;k[26]=zl;k[27]=jl;k[28]=W;k[29]=W;k[30]=W;k[31]=W;for(let r=32;r<=55;r++)k[r]=W;k[56]=Gl;k[57]=Zl;k[58]=Wl;k[59]=Jl;k[60]=W;k[61]=W;k[62]=W;k[63]=W;for(let r=64;r<=87;r++)k[r]=Xl;k[88]=Ql;k[89]=tf;k[90]=ef;k[91]=rf;k[92]=W;k[93]=W;k[94]=W;k[95]=vi("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)k[r]=nf;k[120]=of;k[121]=sf;k[122]=af;k[123]=cf;k[124]=W;k[125]=W;k[126]=W;k[127]=vi("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)k[r]=lf;k[152]=ff;k[153]=hf;k[154]=df;k[155]=pf;k[156]=W;k[157]=W;k[158]=W;k[159]=gf;for(let r=160;r<=183;r++)k[r]=mf;k[184]=yf;k[185]=wf;k[186]=xf;k[187]=bf;k[188]=W;k[189]=W;k[190]=W;k[191]=vf;for(let r=192;r<=215;r++)k[r]=Ef;k[216]=Bf;k[217]=Af;k[218]=Sf;k[219]=If;k[220]=W;k[221]=W;k[222]=W;k[223]=W;for(let r=224;r<=243;r++)k[r]=vi("simple values are not supported");k[244]=W;k[245]=W;k[246]=W;k[247]=kf;k[248]=vi("simple values are not supported");k[249]=Cf;k[250]=Nf;k[251]=Uf;k[252]=W;k[253]=W;k[254]=W;k[255]=Tf;var ie=[];for(let r=0;r<24;r++)ie[r]=new _(y.uint,r,1);for(let r=-1;r>=-24;r--)ie[31-r]=new _(y.negint,r,1);ie[64]=new _(y.bytes,new Uint8Array(0),1);ie[96]=new _(y.string,"",1);ie[128]=new _(y.array,0,1);ie[160]=new _(y.map,0,1);ie[244]=new _(y.false,!1,1);ie[245]=new _(y.true,!0,1);ie[246]=new _(y.null,null,1);function Sg(){let r=[];return r[y.uint.major]=jt,r[y.negint.major]=gi,r[y.bytes.major]=$r,r[y.string.major]=uf,r[y.array.major]=yi,r[y.map.major]=wi,r[y.tag.major]=xi,r[y.float.major]=bi,r}var dv=Sg(),pv=new pi,Ei=class r{constructor(t,e){this.obj=t,this.parent=e}includes(t){let e=this;do if(e.obj===t)return!0;while(e=e.parent);return!1}static createCheck(t,e){if(t&&t.includes(e))throw new Error(`${Sa} object contains circular references`);return new r(e,t)}},We={null:new _(y.null,null),undefined:new _(y.undefined,void 0),true:new _(y.true,!0),false:new _(y.false,!1),emptyArray:new _(y.array,0),emptyMap:new _(y.map,0)},Ye={number(r,t,e,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new _(y.float,r):r>=0?new _(y.uint,r):new _(y.negint,r)},bigint(r,t,e,n){return r>=BigInt(0)?new _(y.uint,r):new _(y.negint,r)},Uint8Array(r,t,e,n){return new _(y.bytes,r)},string(r,t,e,n){return new _(y.string,r)},boolean(r,t,e,n){return r?We.true:We.false},null(r,t,e,n){return We.null},undefined(r,t,e,n){return We.undefined},ArrayBuffer(r,t,e,n){return new _(y.bytes,new Uint8Array(r))},DataView(r,t,e,n){return new _(y.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,t,e,n){if(!r.length)return e.addBreakTokens===!0?[We.emptyArray,new _(y.break)]:We.emptyArray;n=Ei.createCheck(n,r);let o=[],i=0;for(let s of r)o[i++]=Na(s,e,n);return e.addBreakTokens?[new _(y.array,r.length),o,new _(y.break)]:[new _(y.array,r.length),o]},Object(r,t,e,n){let o=t!=="Object",i=o?r.keys():Object.keys(r),s=o?r.size:i.length;if(!s)return e.addBreakTokens===!0?[We.emptyMap,new _(y.break)]:We.emptyMap;n=Ei.createCheck(n,r);let a=[],c=0;for(let f of i)a[c++]=[Na(f,e,n),Na(o?r.get(f):r[f],e,n)];return Ig(a,e),e.addBreakTokens?[new _(y.map,s),a,new _(y.break)]:[new _(y.map,s),a]}};Ye.Map=Ye.Object;Ye.Buffer=Ye.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Ye[`${r}Array`]=Ye.DataView;function Na(r,t={},e){let n=Ll(r),o=t&&t.typeEncoders&&t.typeEncoders[n]||Ye[n];if(typeof o=="function"){let s=o(r,n,t,e);if(s!=null)return s}let i=Ye[n];if(!i)throw new Error(`${Sa} unsupported type: ${n}`);return i(r,n,t,e)}function Ig(r,t){t.mapSorter&&r.sort(t.mapSorter)}var kg={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Bi=class{constructor(t,e={}){this._pos=0,this.data=t,this.options=e}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],e=ie[t];if(e===void 0){let n=k[t];if(!n)throw new Error(`${H} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;e=n(this.data,this._pos,o,this.options)}return this._pos+=e.encodedLength,e}},In=Symbol.for("DONE"),Ai=Symbol.for("BREAK");function Tg(r,t,e){let n=[];for(let o=0;o<r.value;o++){let i=zr(t,e);if(i===Ai){if(r.value===1/0)break;throw new Error(`${H} got unexpected break to lengthed array`)}if(i===In)throw new Error(`${H} found array but not enough entries (got ${o}, expected ${r.value})`);n[o]=i}return n}function Cg(r,t,e){let n=e.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<r.value;s++){let a=zr(t,e);if(a===Ai){if(r.value===1/0)break;throw new Error(`${H} got unexpected break to lengthed map`)}if(a===In)throw new Error(`${H} found map but not enough entries (got ${s} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${H} non-string keys not supported (got ${typeof a})`);if(e.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${H} found repeat map key "${a}"`);let c=zr(t,e);if(c===In)throw new Error(`${H} found map but not enough entries (got ${s} [no value], expected ${r.value})`);n?i.set(a,c):o[a]=c}return n?i:o}function zr(r,t){if(r.done())return In;let e=r.next();if(e.type===y.break)return Ai;if(e.type.terminal)return e.value;if(e.type===y.array)return Tg(e,r,t);if(e.type===y.map)return Cg(e,r,t);if(e.type===y.tag){if(t.tags&&typeof t.tags[e.value]=="function"){let n=zr(r,t);return t.tags[e.value](n)}throw new Error(`${H} tag not supported (${e.value})`)}throw new Error("unsupported")}function Pf(r,t){if(!(r instanceof Uint8Array))throw new Error(`${H} data to decode must be a Uint8Array`);t=Object.assign({},kg,t);let e=t.tokenizer||new Bi(r,t),n=zr(e,t);if(n===In)throw new Error(`${H} did not find any content to decode`);if(n===Ai)throw new Error(`${H} got unexpected break`);return[n,r.subarray(e.pos())]}function Ua(r,t){let[e,n]=Pf(r,t);if(n.length>0)throw new Error(`${H} too many terminals, data makes no sense`);return e}var Rg=_e("ipns:utils"),Ff=j("/ipns/");var Lg=0,Vg=18;function Df(r){let t;if(r.pubKey!=null)try{t=dl(r.pubKey)}catch(e){throw Rg.error(e),e}if(t!=null)return t}function Of(r){let t=j("ipns-signature:");return It([t,r])}function fr(r){return"signatureV1"in r?ne.encode({value:j(r.value),signatureV1:r.signatureV1,validityType:r.validityType,validity:j(r.validity),sequence:r.sequence,ttl:r.ttl,pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data}):ne.encode({pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data})}function pe(r){let t=ne.decode(r);if(t.sequence!=null&&(t.sequence=BigInt(t.sequence)),t.ttl!=null&&(t.ttl=BigInt(t.ttl)),t.signatureV2==null||t.data==null)throw new re("Missing data or signatureV2");let e=Mf(t.data),n=_g(e.Value),o=nt(e.Validity);if(t.value!=null&&t.signatureV1!=null)return Pg(t),{value:n,validityType:ne.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:ne.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}function kn(r){return It([Ff,r.bytes])}function Le(r){let t=we(r.slice(Ff.length));if(!Si(t,Lg)&&!Si(t,Vg))throw new dr("Multihash in IPNS key was not identity or sha2-256");return t}function Mf(r){let t=Ua(r);if(t.ValidityType===0)t.ValidityType=ne.ValidityType.EOL;else throw new Or("The validity type is unsupported");return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t}function _g(r){let t=nt(r).trim();if(t.startsWith("/"))return t;try{return`/ipfs/${X.decode(r).toV1().toString()}`}catch{}try{return`/ipfs/${X.parse(t).toV1().toString()}`}catch{}throw new fi("Value must be a valid content path starting with /")}function Pg(r){if(r.data==null)throw new hi("Record data is missing");let t=Mf(r.data);if(!st(t.Value,r.value??new Uint8Array(0)))throw new re('Field "value" did not match between protobuf and CBOR');if(!st(t.Validity,r.validity??new Uint8Array(0)))throw new re('Field "validity" did not match between protobuf and CBOR');if(t.ValidityType!==r.validityType)throw new re('Field "validityType" did not match between protobuf and CBOR');if(t.Sequence!==r.sequence)throw new re('Field "sequence" did not match between protobuf and CBOR');if(t.TTL!==r.ttl)throw new re('Field "ttl" did not match between protobuf and CBOR')}function Si(r,t){return r.code===t}var Dv=_e("ipns"),Ov=60*60*1e9,Dg="/ipns/",Mv=Dg.length;var Hf=Vn(Aa(),1);var Ii=_e("ipns:validator"),Og=1024*10,Mg=async(r,t)=>{let e=pe(t),n;try{let o=Of(e.data);n=await r.verify(o,e.signatureV2)}catch{n=!1}if(!n)throw Ii.error("record signature verification failed"),new re("Record signature verification failed");if(e.validityType===ne.ValidityType.EOL){if(Hf.default.fromString(e.validity).toDate().getTime()<Date.now())throw Ii.error("record has expired"),new ui("record has expired")}else if(e.validityType!=null)throw Ii.error("the validity type is unsupported"),new Or("The validity type is unsupported");Ii("ipns record for %s is valid",e.value)};async function $f(r,t){if(t.byteLength>Og)throw new li("The record is too large");let e=Le(r),n;Si(e,0)&&(n=Qo(e));let o=pe(t),i=Df(o)??n;if(i==null)throw new En("Could not extract public key from IPNS record or routing key");let s=kn(i.toMultihash());if(!st(s,r))throw new En("Embedded public key did not match routing key");await Mg(i,t)}var zf=Symbol.for("@achingbrain/uint8arraylist");function Kf(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function jr(r){return!!r?.[zf]}var qf=class r{bufs;length;[zf]=!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(jr(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(jr(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=Kf(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Kf(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(jr(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return It(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:It(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),i=new r;return i.length=o,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,c=a+s.byteLength;if(o=c,t>=c)continue;let f=t>=a&&t<c,u=e>a&&e<=c;if(f&&u){if(t===a&&e===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(e-t)));break}if(f){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(e===c){n.push(s);break}n.push(s.subarray(0,e-a));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!jr(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let l=0;l<i;l++)s[l]=-1;for(let l=0;l<o;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=e;l<=c;l+=u){u=0;for(let h=f;h>=0;h--){let m=this.get(l+h);if(n[h]!==m){u=Math.max(1,h-a[m]);break}}if(u===0)return l}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=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=Be(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=Be(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=Be(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=Be(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=Be(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=Be(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=Be(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=Be(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!st(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,i)=>o+i.byteLength,0)),n.length=e,n}};var ki=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MESSAGE_LENGTH"};async function*Tn(r,t={}){let e=/\r?\n/,n=new TextDecoder("utf8"),o="";for await(let i of r){if(typeof i=="string"&&(i=new TextEncoder().encode(i)),jr(i)&&(i=i.subarray()),o+=n.decode(i,{stream:!0}),o.length>(t?.maxMessageLength??o.length))throw new ki("Incoming message too long");let s=o.split(e);o=s.pop()??"";for(let a=0;a<s.length;a++)yield JSON.parse(s[a])}o+=n.decode(),o!==""&&(yield JSON.parse(o))}function ge(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var La=Vn(Gf(),1);var Nn=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Va=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Zf=r=>globalThis.DOMException===void 0?new Va(r):new DOMException(r),Wf=r=>{let t=r.reason===void 0?Zf("This operation was aborted."):r.reason;return t instanceof Error?t:Zf(t)};function _a(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=t,s,a,f=new Promise((u,l)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:m}=t;m.aborted&&l(Wf(m)),a=()=>{l(Wf(m))},m.addEventListener("abort",a,{once:!0})}if(e===Number.POSITIVE_INFINITY){r.then(u,l);return}let h=new Nn;s=i.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(m){l(m)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?u():o instanceof Error?l(o):(h.message=o??`Promise timed out after ${e} milliseconds`,l(h))},e),(async()=>{try{u(await r)}catch(m){l(m)}})()}).finally(()=>{f.clear(),a&&t.signal&&t.signal.removeEventListener("abort",a)});return f.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},f}function Pa(r,t,e){let n=0,o=r.length;for(;o>0;){let i=Math.trunc(o/2),s=n+i;e(r[s],t)<=0?(n=++s,o-=i+1):o=i}return n}var Un=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,id:e.id,run:t};if(this.size===0||this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let o=Pa(this.#t,n,(i,s)=>s.priority-i.priority);this.#t.splice(o,0,n)}setPriority(t,e){let n=this.#t.findIndex(i=>i.id===t);if(n===-1)throw new ReferenceError(`No promise function with the id "${t}" exists in the queue.`);let[o]=this.#t.splice(n,1);this.enqueue(o.run,{priority:e,id:t})}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var Rn=class extends La.default{#t;#r;#e=0;#a;#c;#p=0;#o;#u;#n;#g;#i=0;#l;#s;#m;#x=1n;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Un,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#r=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#a=t.intervalCap,this.#c=t.interval,this.#n=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#m=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#b(){return this.#r||this.#e<this.#a}get#v(){return this.#i<this.#l}#E(){this.#i--,this.#f(),this.emit("next")}#B(){this.#w(),this.#y(),this.#u=void 0}get#A(){let t=Date.now();if(this.#o===void 0){let e=this.#p-t;if(e<0)this.#e=this.#t?this.#i:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#B()},e)),!0}return!1}#f(){if(this.#n.size===0)return this.#o&&clearInterval(this.#o),this.#o=void 0,this.emit("empty"),this.#i===0&&this.emit("idle"),!1;if(!this.#s){let t=!this.#A;if(this.#b&&this.#v){let e=this.#n.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#r||this.#o!==void 0||(this.#o=setInterval(()=>{this.#w()},this.#c),this.#p=Date.now()+this.#c)}#w(){this.#e===0&&this.#i===0&&this.#o&&(clearInterval(this.#o),this.#o=void 0),this.#e=this.#t?this.#i:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#l=t,this.#h()}async#S(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}setPriority(t,e){this.#n.setPriority(t,e)}async add(t,e={}){return e.id??=(this.#x++).toString(),e={timeout:this.timeout,throwOnTimeout:this.#m,...e},new Promise((n,o)=>{this.#n.enqueue(async()=>{this.#i++,this.#e++;try{e.signal?.throwIfAborted();let i=t({signal:e.signal});e.timeout&&(i=_a(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#S(e.signal)]));let s=await i;n(s),this.emit("completed",s)}catch(i){if(i instanceof Nn&&!e.throwOnTimeout){n();return}o(i),this.emit("error",i)}finally{this.#E()}},e),this.emit("add"),this.#f()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#n=new this.#g}async onEmpty(){this.#n.size!==0&&await this.#d("empty")}async onSizeLessThan(t){this.#n.size<t||await this.#d("next",()=>this.#n.size<t)}async onIdle(){this.#i===0&&this.#n.size===0||await this.#d("idle")}async#d(t,e){return new Promise(n=>{let o=()=>{e&&!e()||(this.off(t,o),n())};this.on(t,o)})}get size(){return this.#n.size}sizeBy(t){return this.#n.filter(t).length}get pending(){return this.#i}get isPaused(){return this.#s}};var Gr=class extends Error{static name="InvalidRequestError";constructor(t="Invalid request"){super(t),this.name="InvalidRequestError"}},se=class extends Error{static name="BadResponseError";constructor(t="Bad response"){super(t),this.name="BadResponseError"}};function Kg(r){return r[Symbol.asyncIterator]!=null}function qg(r){if(Kg(r))return(async()=>{for await(let t of r)return t})();for(let t of r)return t}var Ci=qg;function zg(r){let[t,e]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[e](){return this}}}var Yf=zg;function jg(r){return r[Symbol.asyncIterator]!=null}function Gg(r,t){let e=0;if(jg(r))return async function*(){for await(let c of r)yield t(c,e++)}();let n=Yf(r),{value:o,done:i}=n.next();if(i===!0)return function*(){}();let s=t(o,e++);if(typeof s.then=="function")return async function*(){yield await s;for await(let c of n)yield t(c,e++)}();let a=t;return function*(){yield s;for(let c of n)yield a(c,e++)}()}var Ni=Gg;var Jf=j("/ipns/");function Xf(r){return st(r.subarray(0,Jf.byteLength),Jf)}var Ui=class{client;constructor(t){this.client=t}async*findProviders(t,e={}){yield*Ni(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs??[]}))}async provide(){}async cancelReprovide(){}async put(t,e,n){if(!Xf(t))return;let o=Le(t),i=X.createV1(114,o),s=pe(e);await this.client.putIPNS(i,s,n)}async get(t,e){if(!Xf(t))throw new Lt("Not found");let n=Le(t),o=X.createV1(114,n);try{let i=await this.client.getIPNS(o,e);return fr(i)}catch(i){throw i.name==="BadResponseError"?new Lt("Not found"):i}}},Ri=class{client;constructor(t){this.client=t}async findPeer(t,e={}){let n=await Ci(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new Lt("Not found")}async*getClosestPeers(t,e={}){}};var mt=_e("delegated-routing-v1-http-api-client"),Li={concurrentRequests:4,timeout:3e4,cacheTTL:5*60*1e3,cacheName:"delegated-routing-v1-cache"},Vi=class{started;httpQueue;shutDownController;clientUrl;timeout;contentRouting;peerRouting;filterAddrs;filterProtocols;inFlightRequests;cacheName;cache;cacheTTL;constructor(t,e={}){this.started=!1,this.shutDownController=new AbortController,this.shutDownController.signal,this.httpQueue=new Rn({concurrency:e.concurrentRequests??Li.concurrentRequests}),this.inFlightRequests=new Map,this.clientUrl=t instanceof URL?t:new URL(t),this.timeout=e.timeout??Li.timeout,this.filterAddrs=e.filterAddrs,this.filterProtocols=e.filterProtocols,this.contentRouting=new Ui(this),this.peerRouting=new Ri(this),this.cacheName=e.cacheName??Li.cacheName,this.cacheTTL=e.cacheTTL??Li.cacheTTL}get[ec](){return this.contentRouting}get[rc](){return this.peerRouting}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cacheTTL>0&&(this.cache=await globalThis.caches?.open(this.cacheName),this.cache!=null&&mt("cache enabled with ttl %d",this.cacheTTL)))}async stop(){this.httpQueue.clear(),this.shutDownController.abort(),await globalThis.caches?.delete(this.cacheName),this.started=!1}async*getProviders(t,e={}){mt("getProviders starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=vn([this.shutDownController.signal,n,e.signal]);let i=ge(),s=ge();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let a=new URL(`${this.clientUrl}routing/v1/providers/${t.toString()}`);this.#r(a,e.filterAddrs,e.filterProtocols);let c={headers:{Accept:"application/x-ndjson"},signal:o},f=await this.#e(a.toString(),c);if(f==null)throw new se("No response received");if(!f.ok)throw f.status===404?new Lt("No matching records found"):f.status===422?new Gr("Request does not conform to schema or semantic constraints"):new se(`Unexpected status code: ${f.status}`);if(f.body==null)throw new se("Routing response had no body");let u=f.headers.get("Content-Type");if(u==null)throw new se("No Content-Type header received");if(u?.startsWith("application/json")){let l=await f.json();for(let h of l.Providers){let m=this.#t(h);m!=null&&(yield m)}}else if(u.includes("application/x-ndjson"))for await(let l of Tn(ci(f.body))){let h=this.#t(l);h!=null&&(yield h)}else throw new se(`Unsupported Content-Type: ${u}`)}catch(a){mt.error("getProviders errored:",a)}finally{o.clear(),s.resolve(),mt("getProviders finished: %c",t)}}async*getPeers(t,e={}){mt("getPeers starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=vn([this.shutDownController.signal,n,e.signal]);let i=ge(),s=ge();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let a=new URL(`${this.clientUrl}routing/v1/peers/${t.toCID().toString()}`);this.#r(a,e.filterAddrs,e.filterProtocols);let c={headers:{Accept:"application/x-ndjson"},signal:o},f=await this.#e(a.toString(),c);if(f.status===404)throw new Lt("No matching records found");if(f.status===422)throw new Gr("Request does not conform to schema or semantic constraints");if(f.body==null)throw new se("Routing response had no body");if(f.headers.get("Content-Type")==="application/json"){let l=await f.json();for(let h of l.Peers){let m=this.#t(h);m!=null&&(yield m)}}else for await(let l of Tn(ci(f.body))){let h=this.#t(l);h!=null&&(yield h)}}catch(a){mt.error("getPeers errored:",a)}finally{o.clear(),s.resolve(),mt("getPeers finished: %c",t)}}async getIPNS(t,e={}){mt("getIPNS starts: %s",t);let n=AbortSignal.timeout(this.timeout),o=vn([this.shutDownController.signal,n,e.signal]);let i=ge(),s=ge();this.httpQueue.add(async()=>(i.resolve(),s.promise));let a=`${this.clientUrl}routing/v1/ipns/${t}`;try{await i.promise;let c={headers:{Accept:"application/vnd.ipfs.ipns-record"},signal:o},f=await this.#e(a,c);if(mt("getIPNS GET %s %d",a,f.status),f.status===404)throw new Lt("No matching records found");if(f.status===422)throw new Gr("Request does not conform to schema or semantic constraints");if(f.body==null)throw new se("GET ipns response had no body");let u=await f.arrayBuffer(),l=new Uint8Array(u,0,u.byteLength);return e.validate!==!1&&await $f(kn(t.multihash),l),pe(l)}catch(c){throw mt.error("getIPNS GET %s error:",a,c),c}finally{o.clear(),s.resolve(),mt("getIPNS finished: %s",t)}}async putIPNS(t,e,n={}){mt("putIPNS starts: %c",t);let o=AbortSignal.timeout(this.timeout),i=vn([this.shutDownController.signal,o,n.signal]);let s=ge(),a=ge();this.httpQueue.add(async()=>(s.resolve(),a.promise));let c=`${this.clientUrl}routing/v1/ipns/${t}`;try{await s.promise;let f=fr(e),u={method:"PUT",headers:{"Content-Type":"application/vnd.ipfs.ipns-record"},body:f,signal:i},l=await this.#e(c,u);if(mt("putIPNS PUT %s %d",c,l.status),l.status!==200)throw new se("PUT ipns response had status other than 200")}catch(f){throw mt.error("putIPNS PUT %s error:",c,f.stack),f}finally{i.clear(),a.resolve(),mt("putIPNS finished: %c",t)}}#t(t){try{let e=[],n=t.Addrs?.map(ur)??[];return t.Protocols!=null&&e.push(...t.Protocols),t.Protocol!=null&&(e.push(t.Protocol),delete t.Protocol),{...t,Schema:"peer",ID:ml(t.ID),Addrs:n,Protocols:e}}catch(e){mt.error("could not conform record to peer schema",e)}}#r(t,e,n){if(e!=null||this.filterAddrs!=null){let o=e?.join(",")??this.filterAddrs?.join(",")??"";o!==""&&t.searchParams.set("filter-addrs",o)}if(n!=null||this.filterProtocols!=null){let o=n?.join(",")??this.filterProtocols?.join(",")??"";o!==""&&t.searchParams.set("filter-protocols",o)}}async#e(t,e){let n=e.method??"GET",o=`${n}-${t}`;if(n==="GET"){let c=await this.cache?.match(t);if(c!=null){if(parseInt(c.headers.get("x-cache-expires")??"0",10)>Date.now())return mt("returning cached response for %s",o),c;await this.cache?.delete(t)}}let i=this.inFlightRequests.get(o);if(i!=null){let c=await i;return mt("deduplicating outgoing request for %s",o),c.clone()}let s=fetch(t,e).then(async c=>{if(this.cache!=null&&c.ok&&n==="GET"){let f=Date.now()+this.cacheTTL,u=new Headers(c.headers);u.set("x-cache-expires",f.toString());let l=new Response(c.clone().body,{status:c.status,statusText:c.statusText,headers:u});await this.cache.put(t,l)}return c}).finally(()=>{this.inFlightRequests.delete(o)});return this.inFlightRequests.set(o,s),await s}};function Qf(r,t={}){return new Vi(new URL(r),t)}function _i(){return{filterProtocols:["unknown","transport-bitswap","transport-ipfs-gateway-http"],filterAddrs:["https","webtransport","webrtc","webrtc-direct","wss","tls"]}}var th=j("/ipns/");function eh(r){return st(r.subarray(0,th.byteLength),th)}var Fa=class{client;constructor(t,e={}){this.client=Qf(t,e)}async provide(t,e){}async cancelReprovide(t,e){}async*findProviders(t,e){yield*Ni(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs,protocols:n.Protocols}))}async put(t,e,n){if(!eh(t))return;let o=Le(t),i=X.createV1(114,o),s=pe(e);await this.client.putIPNS(i,s,n)}async get(t,e){if(!eh(t))throw new Lt("Not found");let n=Le(t),o=X.createV1(114,n);try{let i=await this.client.getIPNS(o,e);return fr(i)}catch(i){throw i.name==="BadResponseError"?new Lt("Not found"):i}}async findPeer(t,e){let n=await Ci(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new Lt("Not found")}async*getClosestPeers(t,e){}};function rh(r,t){let e=t??_i();return new Fa(new URL(r),e)}var nh="[a-fA-F\\d:]",Je=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${nh})|(?<=${nh})(?=\\s|$))`:"",ae="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",ut="[a-fA-F\\d]{1,4}",Pi=`
2
+ "use strict";var HeliaRouters=(()=>{var pf=Object.create;var en=Object.defineProperty;var mf=Object.getOwnPropertyDescriptor;var gf=Object.getOwnPropertyNames;var yf=Object.getPrototypeOf,xf=Object.prototype.hasOwnProperty;var _s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),At=(e,t)=>{for(var r in t)en(e,r,{get:t[r],enumerable:!0})},Ls=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of gf(t))!xf.call(e,o)&&o!==r&&en(e,o,{get:()=>t[o],enumerable:!(n=mf(t,o))||n.enumerable});return e};var wo=(e,t,r)=>(r=e!=null?pf(yf(e)):{},Ls(t||!e||!e.__esModule?en(r,"default",{value:e,enumerable:!0}):r,e)),wf=e=>Ls(en({},"__esModule",{value:!0}),e);var ns=_s((pb,rs)=>{var hb=function(){typeof rs<"u"&&(rs.exports=y);var e=86400,t=3200,r=146097*t/400,n=e*r,o=1e3*n,i=864e13,s=4294967296,a=1e6,c="000000000",l=Math.trunc||function(w){var E=w-w%1;return E==0&&(w<0||w===0&&1/w!=1/0)?-0:E},u=y.prototype,f=(y.fromDate=function(w){return new y(+w)},y.fromInt64BE=P(0,1,2,3,0,4),y.fromInt64LE=P(3,2,1,0,4,0),y.fromString=function(_){var E,F=new y,_=(_+="").replace(/^\s*[+\-]?\d+/,function(K){var K=+K,A=1970+(K-1970)%400;return F.year=K-A,A}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(U,K,A){return K<0&&(A*=-1),E=6e4*(60*+K+ +A),""}).replace(/\.\d+$/,function(U){return F.nano=+(U+c).substr(1,9),""}).split(/\D+/);if(1<_.length?_[1]--:_[1]=0,F.time=E=Date.UTC.apply(Date,_)-(E||0),isNaN(E))throw new TypeError("Invalid Date");return h(F)},y.fromTimeT=function(w){return C(w,0)},u.year=0,u.time=0,u.nano=0,u.addNano=function(w){return this.nano+=+w||0,this},u.getNano=function(){var w=h(this);return(w.time%1e3*a+ +w.nano+1e9)%1e9},u.getTimeT=function(){var E=h(this),w=Math.floor(E.time/1e3),E=E.year;return E&&(w+=E*r*e/t),w},u.getYear=function(){return this.toDate().getUTCFullYear()+this.year},u.toDate=function(){return v(h(this).time)},u.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},u.toString=function(w){var E=this,F=E.toDate(),_={H:function(){return k(F.getUTCHours())},L:function(){return R(F.getUTCMilliseconds(),3)},M:function(){return k(F.getUTCMinutes())},N:function(){return R(E.getNano(),9)},S:function(){return k(F.getUTCSeconds())},Y:function(){var U=E.getYear();return 999999<U?"+"+U:9999<U?"+"+R(U,6):0<=U?R(U,4):-999999<=U?"-"+R(-U,6):U},a:function(){return b[F.getUTCDay()]},b:function(){return d[F.getUTCMonth()]},d:function(){return k(F.getUTCDate())},e:function(){return function(U){return(9<U?"":" ")+(0|U)}(F.getUTCDate())},m:function(){return k(F.getUTCMonth()+1)}};return function U(K){return K.replace(/%./g,function(A){var m=A[1],I=T[m],m=_[m];return I?U(I):m?m():A})}(w||f)},u.writeInt64BE=x(0,1,2,3,0,4),u.writeInt64LE=x(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),d=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],b=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],T={"%":"%",F:"%Y-%m-%d",n:`
3
+ `,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return y;function y(w,E,F){var _=this;if(!(_ instanceof y))return new y(w,E,F);_.time=+w||0,_.nano=+E||0,_.year=+F||0,h(_)}function h(w){var E,F,_,U=w.year,K=w.time,A=w.nano,I=((A<0||a<=A)&&(A-=(F=Math.floor(A/a))*a,K+=F,F=1),U%t);return(K<-i||i<K||I)&&((E=l(K/o))&&(U+=E*t,K-=E*o),(_=v(K)).setUTCFullYear(I+_.getUTCFullYear()),_=(K=+_)+(E=l((U-=I)/t))*o,E&&-i<=_&&_<=i&&(U-=E*t,K=_),F=1),F&&(w.year=U,w.time=K,w.nano=A),w}function v(w){var E=new Date(0);return E.setTime(w),E}function C(U,_){U=+U||0;var F=l((_=(_|0)*s)/n)+l(U/n),_=_%n+U%n,U=l(_/n);return U&&(F+=U,_-=U*n),new y(1e3*_,0,F*t)}function x(w,E,F,_,U,K){return function(I,m){var S=h(this);I=I||new Array(8),D(I,m|=0);var N=Math.floor(S.time/1e3),S=S.year*(r*e/t),p=l(S/s)+l(N/s),S=S%s+N%s,N=Math.floor(S/s);return N&&(p+=N,S-=N*s),A(I,m+U,p),A(I,m+K,S),I};function A(I,m,p){I[m+w]=p>>24&255,I[m+E]=p>>16&255,I[m+F]=p>>8&255,I[m+_]=255&p}}function P(w,E,F,_,U,K){return function(I,m){D(I,m|=0);var p=A(I,m+U);return C(A(I,m+K),p)};function A(I,m){return 16777216*I[m+w]+(I[m+E]<<16|I[m+F]<<8|I[m+_])}}function D(w,E){if(w=w&&w.length,w==null)throw new TypeError("Invalid Buffer");if(w<E+8)throw new RangeError("Out of range")}function k(w){return(9<w?"":"0")+(0|w)}function R(w,E){return(c+(0|w)).substr(-E)}}()});var Vu=_s((i2,ls)=>{"use strict";var Pp=Object.prototype.hasOwnProperty,It="~";function Xr(){}Object.create&&(Xr.prototype=Object.create(null),new Xr().__proto__||(It=!1));function Rp(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Mu(e,t,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new Rp(r,n||e,o),s=It?It+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],i]:e._events[s].push(i):(e._events[s]=i,e._eventsCount++),e}function co(e,t){--e._eventsCount===0?e._events=new Xr:delete e._events[t]}function St(){this._events=new Xr,this._eventsCount=0}St.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)Pp.call(r,n)&&t.push(It?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};St.prototype.listeners=function(t){var r=It?It+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s};St.prototype.listenerCount=function(t){var r=It?It+t:t,n=this._events[r];return n?n.fn?1:n.length:0};St.prototype.emit=function(t,r,n,o,i,s){var a=It?It+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,u,f;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,o),!0;case 5:return c.fn.call(c.context,r,n,o,i),!0;case 6:return c.fn.call(c.context,r,n,o,i,s),!0}for(f=1,u=new Array(l-1);f<l;f++)u[f-1]=arguments[f];c.fn.apply(c.context,u)}else{var d=c.length,b;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(t,c[f].fn,void 0,!0),l){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,o);break;default:if(!u)for(b=1,u=new Array(l-1);b<l;b++)u[b-1]=arguments[b];c[f].fn.apply(c[f].context,u)}}return!0};St.prototype.on=function(t,r,n){return Mu(this,t,r,n,!1)};St.prototype.once=function(t,r,n){return Mu(this,t,r,n,!0)};St.prototype.removeListener=function(t,r,n,o){var i=It?It+t:t;if(!this._events[i])return this;if(!r)return co(this,i),this;var s=this._events[i];if(s.fn)s.fn===r&&(!o||s.once)&&(!n||s.context===n)&&co(this,i);else{for(var a=0,c=[],l=s.length;a<l;a++)(s[a].fn!==r||o&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[i]=c.length===1?c[0]:c:co(this,i)}return this};St.prototype.removeAllListeners=function(t){var r;return t?(r=It?It+t:t,this._events[r]&&co(this,r)):(this._events=new Xr,this._eventsCount=0),this};St.prototype.off=St.prototype.removeListener;St.prototype.addListener=St.prototype.on;St.prefixed=It;St.EventEmitter=St;typeof ls<"u"&&(ls.exports=St)});var Qp={};At(Qp,{delegatedHTTPRouting:()=>Wu,delegatedHTTPRoutingDefaults:()=>go,httpGatewayRouting:()=>nf,libp2pRouting:()=>of});var ks=Symbol.for("@libp2p/content-routing");var bo=Symbol.for("@libp2p/peer-id");var Ds=Symbol.for("@libp2p/peer-routing");var xt=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"}};var Bt=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var rn=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},Ze=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var We=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Io={};At(Io,{base32:()=>Kt,base32hex:()=>Cf,base32hexpad:()=>Nf,base32hexpadupper:()=>Pf,base32hexupper:()=>Uf,base32pad:()=>Tf,base32padupper:()=>Bf,base32upper:()=>If,base32z:()=>Rf});var i0=new Uint8Array(0);function Fs(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ae(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}function Os(e){return new TextEncoder().encode(e)}function Ms(e){return new TextDecoder().decode(e)}function bf(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var i=e.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function f(T){if(T instanceof Uint8Array||(ArrayBuffer.isView(T)?T=new Uint8Array(T.buffer,T.byteOffset,T.byteLength):Array.isArray(T)&&(T=Uint8Array.from(T))),!(T instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(T.length===0)return"";for(var y=0,h=0,v=0,C=T.length;v!==C&&T[v]===0;)v++,y++;for(var x=(C-v)*u+1>>>0,P=new Uint8Array(x);v!==C;){for(var D=T[v],k=0,R=x-1;(D!==0||k<h)&&R!==-1;R--,k++)D+=256*P[R]>>>0,P[R]=D%a>>>0,D=D/a>>>0;if(D!==0)throw new Error("Non-zero carry");h=k,v++}for(var w=x-h;w!==x&&P[w]===0;)w++;for(var E=c.repeat(y);w<x;++w)E+=e.charAt(P[w]);return E}function d(T){if(typeof T!="string")throw new TypeError("Expected String");if(T.length===0)return new Uint8Array;var y=0;if(T[y]!==" "){for(var h=0,v=0;T[y]===c;)h++,y++;for(var C=(T.length-y)*l+1>>>0,x=new Uint8Array(C);T[y];){var P=r[T.charCodeAt(y)];if(P===255)return;for(var D=0,k=C-1;(P!==0||D<v)&&k!==-1;k--,D++)P+=a*x[k]>>>0,x[k]=P%256>>>0,P=P/256>>>0;if(P!==0)throw new Error("Non-zero carry");v=D,y++}if(T[y]!==" "){for(var R=C-v;R!==C&&x[R]===0;)R++;for(var w=new Uint8Array(h+(C-R)),E=h;R!==C;)w[E++]=x[R++];return w}}}function b(T){var y=d(T);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:d,decode:b}}var Ef=bf,Sf=Ef,Ks=Sf;var Eo=class{name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},So=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return qs(this,t)}},vo=class{decoders;constructor(t){this.decoders=t}or(t){return qs(this,t)}decode(t){let r=t[0],n=this.decoders[r];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 qs(e,t){return new vo({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var Ao=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Eo(t,r,n),this.decoder=new So(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Ye({name:e,prefix:t,encode:r,decode:n}){return new Ao(e,t,r,n)}function xe({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Ks(r,e);return Ye({prefix:t,name:e,encode:n,decode:i=>ae(o(i))})}function vf(e,t,r,n){let o={};for(let u=0;u<t.length;++u)o[t[u]]=u;let i=e.length;for(;e[i-1]==="=";)--i;let s=new Uint8Array(i*r/8|0),a=0,c=0,l=0;for(let u=0;u<i;++u){let f=o[e[u]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=r||(255&c<<8-a)!==0)throw new SyntaxError("Unexpected end of data");return s}function Af(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,i+=t[o&a>>s];if(s!==0&&(i+=t[o&a<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function st({name:e,prefix:t,bitsPerChar:r,alphabet:n}){return Ye({prefix:t,name:e,encode(o){return Af(o,n,r)},decode(o){return vf(o,n,r,e)}})}var Kt=st({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),If=st({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Tf=st({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Bf=st({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Cf=st({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Uf=st({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Nf=st({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Pf=st({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Rf=st({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var To={};At(To,{base58btc:()=>et,base58flickr:()=>_f});var et=xe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),_f=xe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Co={};At(Co,{base64:()=>Bo,base64pad:()=>Lf,base64url:()=>kf,base64urlpad:()=>Df});var Bo=st({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Lf=st({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),kf=st({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Df=st({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function Ff(e,t){try{if(typeof e=="string"&&e.length>0)return Of(e);if(typeof e=="number"&&isFinite(e))return t?.long?Vf(e):Mf(e);throw new Error("Value is not a string or number.")}catch(r){let n=Kf(r)?`${r.message}. value=${JSON.stringify(e)}`:"An unknown error has occured.";throw new Error(n)}}function Of(e){if(e=String(e),e.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return NaN;let r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*315576e5;case"weeks":case"week":case"w":return r*6048e5;case"days":case"day":case"d":return r*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return r*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return r*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return r*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var on=Ff;function Mf(e){let t=Math.abs(e);return t>=864e5?`${Math.round(e/864e5)}d`:t>=36e5?`${Math.round(e/36e5)}h`:t>=6e4?`${Math.round(e/6e4)}m`:t>=1e3?`${Math.round(e/1e3)}s`:`${e}ms`}function Vf(e){let t=Math.abs(e);return t>=864e5?nn(e,t,864e5,"day"):t>=36e5?nn(e,t,36e5,"hour"):t>=6e4?nn(e,t,6e4,"minute"):t>=1e3?nn(e,t,1e3,"second"):`${e} ms`}function nn(e,t,r,n){let o=t>=r*1.5;return`${Math.round(e/r)} ${n}${o?"s":""}`}function Kf(e){return typeof e=="object"&&e!==null&&"message"in e}function Uo(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=o,r.enabled=s,r.humanize=on,r.destroy=l,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let f=0;for(let d=0;d<u.length;d++)f=(f<<5)-f+u.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(u){let f,d=null,b,T;function y(...h){if(!y.enabled)return;let v=y,C=Number(new Date),x=C-(f||C);v.diff=x,v.prev=f,v.curr=C,f=C,h[0]=r.coerce(h[0]),typeof h[0]!="string"&&h.unshift("%O");let P=0;h[0]=h[0].replace(/%([a-zA-Z%])/g,(k,R)=>{if(k==="%%")return"%";P++;let w=r.formatters[R];if(typeof w=="function"){let E=h[P];k=w.call(v,E),h.splice(P,1),P--}return k}),r.formatArgs.call(v,h),(v.log||r.log).apply(v,h)}return y.namespace=u,y.useColors=r.useColors(),y.color=r.selectColor(u),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(b!==r.namespaces&&(b=r.namespaces,T=r.enabled(u)),T),set:h=>{d=h}}),typeof r.init=="function"&&r.init(y),y}function n(u,f){let d=r(this.namespace+(typeof f>"u"?":":f)+u);return d.log=this.log,d}function o(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f,d=(typeof u=="string"?u:"").split(/[\s,]+/),b=d.length;for(f=0;f<b;f++)d[f]&&(u=d[f].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.substr(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function i(){let u=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let f,d;for(f=0,d=r.skips.length;f<d;f++)if(r.skips[f].test(u))return!1;for(f=0,d=r.names.length;f<d;f++)if(r.names[f].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack??u.message:u}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.setupFormatters(r.formatters),r.enable(r.load()),r}var sn=Zf(),qf=["#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 $f(){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 zf(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+on(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),e.splice(n,0,t)}var Hf=console.debug??console.log??(()=>{});function Gf(e){try{e?sn?.setItem("debug",e):sn?.removeItem("debug")}catch{}}function jf(){let e;try{e=sn?.getItem("debug")}catch{}return!e&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(e=globalThis.process.env.DEBUG),e}function Zf(){try{return localStorage}catch{}}function Wf(e){e.j=function(t){try{return JSON.stringify(t)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var $s=Uo({formatArgs:zf,save:Gf,load:jf,useColors:$f,setupFormatters:Wf,colors:qf,storage:sn,log:Hf});var Ct=$s;Ct.formatters.b=e=>e==null?"undefined":et.baseEncode(e);Ct.formatters.t=e=>e==null?"undefined":Kt.baseEncode(e);Ct.formatters.m=e=>e==null?"undefined":Bo.baseEncode(e);Ct.formatters.p=e=>e==null?"undefined":e.toString();Ct.formatters.c=e=>e==null?"undefined":e.toString();Ct.formatters.k=e=>e==null?"undefined":e.toString();Ct.formatters.a=e=>e==null?"undefined":e.toString();Ct.formatters.e=e=>e==null?"undefined":zs(e.stack)??zs(e.message)??e.toString();function Yf(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function we(e){let t=Yf(`${e}:trace`);return Ct.enabled(`${e}:trace`)&&Ct.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=Ct(`${e}:trace`)),Object.assign(Ct(e),{error:Ct(`${e}:error`),trace:t})}function zs(e){if(e!=null&&(e=e.trim(),e.length!==0))return e}var No={};At(No,{base36:()=>Xe,base36upper:()=>Xf});var Xe=xe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Xf=xe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Jf=js,Hs=128,Qf=127,tl=~Qf,el=Math.pow(2,31);function js(e,t,r){t=t||[],r=r||0;for(var n=r;e>=el;)t[r++]=e&255|Hs,e/=128;for(;e&tl;)t[r++]=e&255|Hs,e>>>=7;return t[r]=e|0,js.bytes=r-n+1,t}var rl=Po,nl=128,Gs=127;function Po(e,n){var r=0,n=n||0,o=0,i=n,s,a=e.length;do{if(i>=a)throw Po.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&Gs)<<o:(s&Gs)*Math.pow(2,o),o+=7}while(s>=nl);return Po.bytes=i-n,r}var ol=Math.pow(2,7),il=Math.pow(2,14),sl=Math.pow(2,21),al=Math.pow(2,28),cl=Math.pow(2,35),ul=Math.pow(2,42),fl=Math.pow(2,49),ll=Math.pow(2,56),dl=Math.pow(2,63),hl=function(e){return e<ol?1:e<il?2:e<sl?3:e<al?4:e<cl?5:e<ul?6:e<fl?7:e<ll?8:e<dl?9:10},pl={encode:Jf,decode:rl,encodingLength:hl},ml=pl,Ir=ml;function Tr(e,t=0){return[Ir.decode(e,t),Ir.decode.bytes]}function Je(e,t,r=0){return Ir.encode(e,t,r),t}function Qe(e){return Ir.encodingLength(e)}function qt(e,t){let r=t.byteLength,n=Qe(e),o=n+Qe(r),i=new Uint8Array(o+r);return Je(e,i,0),Je(r,i,n),i.set(t,o),new tr(e,r,t,i)}function ce(e){let t=ae(e),[r,n]=Tr(t),[o,i]=Tr(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new tr(r,o,s,t)}function Zs(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Fs(e.bytes,r.bytes)}}var tr=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function Ws(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return yl(r,Ro(e),t??et.encoder);default:return xl(r,Ro(e),t??Kt.encoder)}}var Ys=new WeakMap;function Ro(e){let t=Ys.get(e);if(t==null){let r=new Map;return Ys.set(e,r),r}return t}var W=class e{code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==Br)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==wl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=qt(t,r);return e.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 e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&Zs(t.multihash,n.multihash)}toString(t){return Ws(this,t)}toJSON(){return{"/":Ws(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 r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new e(n,o,i,s??Xs(n,o,i.bytes))}else if(r[bl]===!0){let{version:n,multihash:o,code:i}=r,s=ce(o);return e.create(n,i,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==Br)throw new Error(`Version 0 CID must use dag-pb (code: ${Br}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=Xs(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Br,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=ae(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new tr(r.multihashCode,r.digestSize,i,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[f,d]=Tr(t.subarray(r));return r+=d,f},o=n(),i=Br;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),c=n(),l=r+c,u=l-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:u,size:l}}static parse(t,r){let[n,o]=gl(t,r),i=e.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ro(i).set(n,t),i}};function gl(e,t){switch(e[0]){case"Q":{let r=t??et;return[et.prefix,r.decode(`${et.prefix}${e}`)]}case et.prefix:{let r=t??et;return[et.prefix,r.decode(e)]}case Kt.prefix:{let r=t??Kt;return[Kt.prefix,r.decode(e)]}case Xe.prefix:{let r=t??Xe;return[Xe.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function yl(e,t,r){let{prefix:n}=r;if(n!==et.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let i=r.encode(e).slice(1);return t.set(n,i),i}else return o}function xl(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let i=r.encode(e);return t.set(n,i),i}else return o}var Br=112,wl=18;function Xs(e,t,r){let n=Qe(e),o=n+Qe(t),i=new Uint8Array(o+r.byteLength);return Je(e,i,0),Je(t,i,n),i.set(r,o),i}var bl=Symbol.for("@ipld/js-cid/CID");var _o={};At(_o,{identity:()=>$t});var Js=0,El="identity",Qs=ae;function Sl(e){return qt(Js,Qs(e))}var $t={code:Js,name:El,encode:Qs,digest:Sl};function ot(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ta(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function vl(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function er(e,...t){if(!vl(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function ea(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ta(e.outputLen),ta(e.blockLen)}function rr(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function ra(e,t){er(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}var Le=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function cn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function zt(e,t){return e<<32-t|e>>>t}function na(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function Cr(e){return typeof e=="string"&&(e=na(e)),er(e),e}function Lo(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];er(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var nr=class{clone(){return this._cloneInto()}};function un(e){let t=n=>e().update(Cr(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function fn(e=32){if(Le&&typeof Le.getRandomValues=="function")return Le.getRandomValues(new Uint8Array(e));if(Le&&typeof Le.randomBytes=="function")return Le.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}function Al(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function oa(e,t,r){return e&t^~e&r}function ia(e,t,r){return e&t^e&r^t&r}var or=class extends nr{constructor(t,r,n,o){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=cn(this.buffer)}update(t){rr(this);let{view:r,buffer:n,blockLen:o}=this;t=Cr(t);let i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=cn(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){rr(this),ra(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(n,0),s=0);for(let f=s;f<o;f++)r[f]=0;Al(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=cn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,u=this.get();if(l>u.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<l;f++)a.setUint32(4*f,u[f],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.length=o,t.pos=a,t.finished=i,t.destroyed=s,o%r&&t.buffer.set(n),t}};var ln=BigInt(4294967295),ko=BigInt(32);function sa(e,t=!1){return t?{h:Number(e&ln),l:Number(e>>ko&ln)}:{h:Number(e>>ko&ln)|0,l:Number(e&ln)|0}}function Il(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let o=0;o<e.length;o++){let{h:i,l:s}=sa(e[o],t);[r[o],n[o]]=[i,s]}return[r,n]}var Tl=(e,t)=>BigInt(e>>>0)<<ko|BigInt(t>>>0),Bl=(e,t,r)=>e>>>r,Cl=(e,t,r)=>e<<32-r|t>>>r,Ul=(e,t,r)=>e>>>r|t<<32-r,Nl=(e,t,r)=>e<<32-r|t>>>r,Pl=(e,t,r)=>e<<64-r|t>>>r-32,Rl=(e,t,r)=>e>>>r-32|t<<64-r,_l=(e,t)=>t,Ll=(e,t)=>e,kl=(e,t,r)=>e<<r|t>>>32-r,Dl=(e,t,r)=>t<<r|e>>>32-r,Fl=(e,t,r)=>t<<r-32|e>>>64-r,Ol=(e,t,r)=>e<<r-32|t>>>64-r;function Ml(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Vl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Kl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,ql=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),$l=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,zl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Hl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Gl={fromBig:sa,split:Il,toBig:Tl,shrSH:Bl,shrSL:Cl,rotrSH:Ul,rotrSL:Nl,rotrBH:Pl,rotrBL:Rl,rotr32H:_l,rotr32L:Ll,rotlSH:kl,rotlSL:Dl,rotlBH:Fl,rotlBL:Ol,add:Ml,add3L:Vl,add3H:Kl,add4L:ql,add4H:$l,add5H:Hl,add5L:zl},$=Gl;var[jl,Zl]=$.split(["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(e=>BigInt(e))),Ee=new Uint32Array(80),Se=new Uint32Array(80),Do=class extends or{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:l,El:u,Fh:f,Fl:d,Gh:b,Gl:T,Hh:y,Hl:h}=this;return[t,r,n,o,i,s,a,c,l,u,f,d,b,T,y,h]}set(t,r,n,o,i,s,a,c,l,u,f,d,b,T,y,h){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=u|0,this.Fh=f|0,this.Fl=d|0,this.Gh=b|0,this.Gl=T|0,this.Hh=y|0,this.Hl=h|0}process(t,r){for(let x=0;x<16;x++,r+=4)Ee[x]=t.getUint32(r),Se[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let P=Ee[x-15]|0,D=Se[x-15]|0,k=$.rotrSH(P,D,1)^$.rotrSH(P,D,8)^$.shrSH(P,D,7),R=$.rotrSL(P,D,1)^$.rotrSL(P,D,8)^$.shrSL(P,D,7),w=Ee[x-2]|0,E=Se[x-2]|0,F=$.rotrSH(w,E,19)^$.rotrBH(w,E,61)^$.shrSH(w,E,6),_=$.rotrSL(w,E,19)^$.rotrBL(w,E,61)^$.shrSL(w,E,6),U=$.add4L(R,_,Se[x-7],Se[x-16]),K=$.add4H(U,k,F,Ee[x-7],Ee[x-16]);Ee[x]=K|0,Se[x]=U|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:l,Dl:u,Eh:f,El:d,Fh:b,Fl:T,Gh:y,Gl:h,Hh:v,Hl:C}=this;for(let x=0;x<80;x++){let P=$.rotrSH(f,d,14)^$.rotrSH(f,d,18)^$.rotrBH(f,d,41),D=$.rotrSL(f,d,14)^$.rotrSL(f,d,18)^$.rotrBL(f,d,41),k=f&b^~f&y,R=d&T^~d&h,w=$.add5L(C,D,R,Zl[x],Se[x]),E=$.add5H(w,v,P,k,jl[x],Ee[x]),F=w|0,_=$.rotrSH(n,o,28)^$.rotrBH(n,o,34)^$.rotrBH(n,o,39),U=$.rotrSL(n,o,28)^$.rotrBL(n,o,34)^$.rotrBL(n,o,39),K=n&i^n&a^i&a,A=o&s^o&c^s&c;v=y|0,C=h|0,y=b|0,h=T|0,b=f|0,T=d|0,{h:f,l:d}=$.add(l|0,u|0,E|0,F|0),l=a|0,u=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let I=$.add3L(F,U,A);n=$.add3H(I,E,_,K),o=I|0}({h:n,l:o}=$.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=$.add(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=$.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:u}=$.add(this.Dh|0,this.Dl|0,l|0,u|0),{h:f,l:d}=$.add(this.Eh|0,this.El|0,f|0,d|0),{h:b,l:T}=$.add(this.Fh|0,this.Fl|0,b|0,T|0),{h:y,l:h}=$.add(this.Gh|0,this.Gl|0,y|0,h|0),{h:v,l:C}=$.add(this.Hh|0,this.Hl|0,v|0,C|0),this.set(n,o,i,s,a,c,l,u,f,d,b,T,y,h,v,C)}roundClean(){Ee.fill(0),Se.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var aa=un(()=>new Do);var pn={};At(pn,{aInRange:()=>Ut,abool:()=>Ht,abytes:()=>ir,bitGet:()=>td,bitLen:()=>Vo,bitMask:()=>Nr,bitSet:()=>ed,bytesToHex:()=>fe,bytesToNumberBE:()=>le,bytesToNumberLE:()=>Ae,concatBytes:()=>de,createHmacDrbg:()=>Ko,ensureBytes:()=>it,equalBytes:()=>Jl,hexToBytes:()=>De,hexToNumber:()=>Mo,inRange:()=>Ur,isBytes:()=>ve,memoized:()=>Oe,notImplemented:()=>nd,numberToBytesBE:()=>Ie,numberToBytesLE:()=>Fe,numberToHexUnpadded:()=>ke,numberToVarBytesBE:()=>Xl,utf8ToBytes:()=>Ql,validateObject:()=>re});var dn=BigInt(0),hn=BigInt(1),Wl=BigInt(2);function ve(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ir(e){if(!ve(e))throw new Error("Uint8Array expected")}function Ht(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}var Yl=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function fe(e){ir(e);let t="";for(let r=0;r<e.length;r++)t+=Yl[e[r]];return t}function ke(e){let t=e.toString(16);return t.length&1?"0"+t:t}function Mo(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?dn:BigInt("0x"+e)}var ue={_0:48,_9:57,A:65,F:70,a:97,f:102};function ca(e){if(e>=ue._0&&e<=ue._9)return e-ue._0;if(e>=ue.A&&e<=ue.F)return e-(ue.A-10);if(e>=ue.a&&e<=ue.f)return e-(ue.a-10)}function De(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=ca(e.charCodeAt(i)),a=ca(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function le(e){return Mo(fe(e))}function Ae(e){return ir(e),Mo(fe(Uint8Array.from(e).reverse()))}function Ie(e,t){return De(e.toString(16).padStart(t*2,"0"))}function Fe(e,t){return Ie(e,t).reverse()}function Xl(e){return De(ke(e))}function it(e,t,r){let n;if(typeof t=="string")try{n=De(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(ve(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function de(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];ir(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}function Jl(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function Ql(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}var Fo=e=>typeof e=="bigint"&&dn<=e;function Ur(e,t,r){return Fo(e)&&Fo(t)&&Fo(r)&&t<=e&&e<r}function Ut(e,t,r,n){if(!Ur(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Vo(e){let t;for(t=0;e>dn;e>>=hn,t+=1);return t}function td(e,t){return e>>BigInt(t)&hn}function ed(e,t,r){return e|(r?hn:dn)<<BigInt(t)}var Nr=e=>(Wl<<BigInt(e-1))-hn,Oo=e=>new Uint8Array(e),ua=e=>Uint8Array.from(e);function Ko(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Oo(e),o=Oo(e),i=0,s=()=>{n.fill(1),o.fill(0),i=0},a=(...f)=>r(o,n,...f),c=(f=Oo())=>{o=a(ua([0]),f),n=a(),f.length!==0&&(o=a(ua([1]),f),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,d=[];for(;f<t;){n=a();let b=n.slice();d.push(b),f+=n.length}return de(...d)};return(f,d)=>{s(),c(f);let b;for(;!(b=d(l()));)c();return s(),b}}var rd={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||ve(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function re(e,t,r={}){let n=(o,i,s)=>{let a=rd[i];if(typeof a!="function")throw new Error("invalid validator function");let c=e[o];if(!(s&&c===void 0)&&!a(c,e))throw new Error("param "+String(o)+" is invalid. Expected "+i+", got "+c)};for(let[o,i]of Object.entries(t))n(o,i,!1);for(let[o,i]of Object.entries(r))n(o,i,!0);return e}var nd=()=>{throw new Error("not implemented")};function Oe(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var ct=BigInt(0),rt=BigInt(1),Me=BigInt(2),od=BigInt(3),qo=BigInt(4),fa=BigInt(5),la=BigInt(8),id=BigInt(9),sd=BigInt(16);function J(e,t){let r=e%t;return r>=ct?r:t+r}function ad(e,t,r){if(t<ct)throw new Error("invalid exponent, negatives unsupported");if(r<=ct)throw new Error("invalid modulus");if(r===rt)return ct;let n=rt;for(;t>ct;)t&rt&&(n=n*e%r),e=e*e%r,t>>=rt;return n}function nt(e,t,r){let n=e;for(;t-- >ct;)n*=n,n%=r;return n}function mn(e,t){if(e===ct)throw new Error("invert: expected non-zero number");if(t<=ct)throw new Error("invert: expected positive modulus, got "+t);let r=J(e,t),n=t,o=ct,i=rt,s=rt,a=ct;for(;r!==ct;){let l=n/r,u=n%r,f=o-s*l,d=i-a*l;n=r,r=u,o=s,i=a,s=f,a=d}if(n!==rt)throw new Error("invert: does not exist");return J(o,t)}function cd(e){let t=(e-rt)/Me,r,n,o;for(r=e-rt,n=0;r%Me===ct;r/=Me,n++);for(o=Me;o<e&&ad(o,t,e)!==e-rt;o++)if(o>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){let s=(e+rt)/qo;return function(c,l){let u=c.pow(l,s);if(!c.eql(c.sqr(u),l))throw new Error("Cannot find square root");return u}}let i=(r+rt)/Me;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,u=a.pow(a.mul(a.ONE,o),r),f=a.pow(c,i),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let b=1;for(let y=a.sqr(d);b<l&&!a.eql(y,a.ONE);b++)y=a.sqr(y);let T=a.pow(u,rt<<BigInt(l-b-1));u=a.sqr(T),f=a.mul(f,T),d=a.mul(d,u),l=b}return f}}function ud(e){if(e%qo===od){let t=(e+rt)/qo;return function(n,o){let i=n.pow(o,t);if(!n.eql(n.sqr(i),o))throw new Error("Cannot find square root");return i}}if(e%la===fa){let t=(e-fa)/la;return function(n,o){let i=n.mul(o,Me),s=n.pow(i,t),a=n.mul(o,s),c=n.mul(n.mul(a,Me),s),l=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(l),o))throw new Error("Cannot find square root");return l}}return e%sd,cd(e)}var da=(e,t)=>(J(e,t)&rt)===rt,fd=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function $o(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=fd.reduce((n,o)=>(n[o]="function",n),t);return re(e,r)}function ld(e,t,r){if(r<ct)throw new Error("invalid exponent, negatives unsupported");if(r===ct)return e.ONE;if(r===rt)return t;let n=e.ONE,o=t;for(;r>ct;)r&rt&&(n=e.mul(n,o)),o=e.sqr(o),r>>=rt;return n}function dd(e,t){let r=new Array(t.length),n=t.reduce((i,s,a)=>e.is0(s)?i:(r[a]=i,e.mul(i,s)),e.ONE),o=e.inv(n);return t.reduceRight((i,s,a)=>e.is0(s)?i:(r[a]=e.mul(i,r[a]),e.mul(i,s)),o),r}function zo(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Te(e,t,r=!1,n={}){if(e<=ct)throw new Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:o,nByteLength:i}=zo(e,t);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let s,a=Object.freeze({ORDER:e,isLE:r,BITS:o,BYTES:i,MASK:Nr(o),ZERO:ct,ONE:rt,create:c=>J(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return ct<=c&&c<e},is0:c=>c===ct,isOdd:c=>(c&rt)===rt,neg:c=>J(-c,e),eql:(c,l)=>c===l,sqr:c=>J(c*c,e),add:(c,l)=>J(c+l,e),sub:(c,l)=>J(c-l,e),mul:(c,l)=>J(c*l,e),pow:(c,l)=>ld(a,c,l),div:(c,l)=>J(c*mn(l,e),e),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>mn(c,e),sqrt:n.sqrt||(c=>(s||(s=ud(e)),s(a,c))),invertBatch:c=>dd(a,c),cmov:(c,l,u)=>u?l:c,toBytes:c=>r?Fe(c,i):Ie(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return r?Ae(c):le(c)}});return Object.freeze(a)}function ha(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Ho(e){let t=ha(e);return t+Math.ceil(t/2)}function pa(e,t,r=!1){let n=e.length,o=ha(t),i=Ho(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Ae(e):le(e),a=J(s,t-rt)+rt;return r?Fe(a,o):Ie(a,o)}var ma=BigInt(0),gn=BigInt(1);function Go(e,t){let r=t.negate();return e?r:t}function ga(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function jo(e,t){ga(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1);return{windows:r,windowSize:n}}function hd(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function pd(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Zo=new WeakMap,ya=new WeakMap;function Wo(e){return ya.get(e)||1}function yn(e,t){return{constTimeNegate:Go,hasPrecomputes(r){return Wo(r)!==1},unsafeLadder(r,n,o=e.ZERO){let i=r;for(;n>ma;)n&gn&&(o=o.add(i)),i=i.double(),n>>=gn;return o},precomputeWindow(r,n){let{windows:o,windowSize:i}=jo(n,t),s=[],a=r,c=a;for(let l=0;l<o;l++){c=a,s.push(c);for(let u=1;u<i;u++)c=c.add(a),s.push(c);a=c.double()}return s},wNAF(r,n,o){let{windows:i,windowSize:s}=jo(r,t),a=e.ZERO,c=e.BASE,l=BigInt(2**r-1),u=2**r,f=BigInt(r);for(let d=0;d<i;d++){let b=d*s,T=Number(o&l);o>>=f,T>s&&(T-=u,o+=gn);let y=b,h=b+Math.abs(T)-1,v=d%2!==0,C=T<0;T===0?c=c.add(Go(v,n[y])):a=a.add(Go(C,n[h]))}return{p:a,f:c}},wNAFUnsafe(r,n,o,i=e.ZERO){let{windows:s,windowSize:a}=jo(r,t),c=BigInt(2**r-1),l=2**r,u=BigInt(r);for(let f=0;f<s;f++){let d=f*a;if(o===ma)break;let b=Number(o&c);if(o>>=u,b>a&&(b-=l,o+=gn),b===0)continue;let T=n[d+Math.abs(b)-1];b<0&&(T=T.negate()),i=i.add(T)}return i},getPrecomputes(r,n,o){let i=Zo.get(n);return i||(i=this.precomputeWindow(n,r),r!==1&&Zo.set(n,o(i))),i},wNAFCached(r,n,o){let i=Wo(r);return this.wNAF(i,this.getPrecomputes(i,r,o),n)},wNAFCachedUnsafe(r,n,o,i){let s=Wo(r);return s===1?this.unsafeLadder(r,n,i):this.wNAFUnsafe(s,this.getPrecomputes(s,r,o),n,i)},setWindowSize(r,n){ga(n,t),ya.set(r,n),Zo.delete(r)}}}function xn(e,t,r,n){if(hd(r,e),pd(n,t),r.length!==n.length)throw new Error("arrays of points and scalars must have equal length");let o=e.ZERO,i=Vo(BigInt(r.length)),s=i>12?i-3:i>4?i-2:i?2:1,a=(1<<s)-1,c=new Array(a+1).fill(o),l=Math.floor((t.BITS-1)/s)*s,u=o;for(let f=l;f>=0;f-=s){c.fill(o);for(let b=0;b<n.length;b++){let T=n[b],y=Number(T>>BigInt(f)&BigInt(a));c[y]=c[y].add(r[b])}let d=o;for(let b=c.length-1,T=o;b>0;b--)T=T.add(c[b]),d=d.add(T);if(u=u.add(d),f!==0)for(let b=0;b<s;b++)u=u.double()}return u}function Pr(e){return $o(e.Fp),re(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...zo(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Gt=BigInt(0),Nt=BigInt(1),wn=BigInt(2),md=BigInt(8),gd={zip215:!0};function yd(e){let t=Pr(e);return re(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function xa(e){let t=yd(e),{Fp:r,n,prehash:o,hash:i,randomBytes:s,nByteLength:a,h:c}=t,l=wn<<BigInt(a*8)-Nt,u=r.create,f=Te(t.n,t.nBitLength),d=t.uvRatio||((m,p)=>{try{return{isValid:!0,value:r.sqrt(m*r.inv(p))}}catch{return{isValid:!1,value:Gt}}}),b=t.adjustScalarBytes||(m=>m),T=t.domain||((m,p,S)=>{if(Ht("phflag",S),p.length||S)throw new Error("Contexts/pre-hash are not supported");return m});function y(m,p){Ut("coordinate "+m,p,Gt,l)}function h(m){if(!(m instanceof x))throw new Error("ExtendedPoint expected")}let v=Oe((m,p)=>{let{ex:S,ey:N,ez:O}=m,M=m.is0();p==null&&(p=M?md:r.inv(O));let z=u(S*p),j=u(N*p),q=u(O*p);if(M)return{x:Gt,y:Nt};if(q!==Nt)throw new Error("invZ was invalid");return{x:z,y:j}}),C=Oe(m=>{let{a:p,d:S}=t;if(m.is0())throw new Error("bad point: ZERO");let{ex:N,ey:O,ez:M,et:z}=m,j=u(N*N),q=u(O*O),X=u(M*M),tt=u(X*X),ft=u(j*p),lt=u(X*u(ft+q)),mt=u(tt+u(S*u(j*q)));if(lt!==mt)throw new Error("bad point: equation left != right (1)");let yt=u(N*O),Tt=u(M*z);if(yt!==Tt)throw new Error("bad point: equation left != right (2)");return!0});class x{constructor(p,S,N,O){this.ex=p,this.ey=S,this.ez=N,this.et=O,y("x",p),y("y",S),y("z",N),y("t",O),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(p){if(p instanceof x)throw new Error("extended point not allowed");let{x:S,y:N}=p||{};return y("x",S),y("y",N),new x(S,N,Nt,u(S*N))}static normalizeZ(p){let S=r.invertBatch(p.map(N=>N.ez));return p.map((N,O)=>N.toAffine(S[O])).map(x.fromAffine)}static msm(p,S){return xn(x,f,p,S)}_setWindowSize(p){k.setWindowSize(this,p)}assertValidity(){C(this)}equals(p){h(p);let{ex:S,ey:N,ez:O}=this,{ex:M,ey:z,ez:j}=p,q=u(S*j),X=u(M*O),tt=u(N*j),ft=u(z*O);return q===X&&tt===ft}is0(){return this.equals(x.ZERO)}negate(){return new x(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:p}=t,{ex:S,ey:N,ez:O}=this,M=u(S*S),z=u(N*N),j=u(wn*u(O*O)),q=u(p*M),X=S+N,tt=u(u(X*X)-M-z),ft=q+z,lt=ft-j,mt=q-z,yt=u(tt*lt),Tt=u(ft*mt),vt=u(tt*mt),ee=u(lt*ft);return new x(yt,Tt,ee,vt)}add(p){h(p);let{a:S,d:N}=t,{ex:O,ey:M,ez:z,et:j}=this,{ex:q,ey:X,ez:tt,et:ft}=p;if(S===BigInt(-1)){let Ts=u((M-O)*(X+q)),Bs=u((M+O)*(X-q)),xo=u(Bs-Ts);if(xo===Gt)return this.double();let Cs=u(z*wn*ft),Us=u(j*wn*tt),Ns=Us+Cs,Ps=Bs+Ts,Rs=Us-Cs,ff=u(Ns*xo),lf=u(Ps*Rs),df=u(Ns*Rs),hf=u(xo*Ps);return new x(ff,lf,hf,df)}let lt=u(O*q),mt=u(M*X),yt=u(j*N*ft),Tt=u(z*tt),vt=u((O+M)*(q+X)-lt-mt),ee=Tt-yt,se=Tt+yt,Ar=u(mt-S*lt),sf=u(vt*ee),af=u(se*Ar),cf=u(vt*Ar),uf=u(ee*se);return new x(sf,af,uf,cf)}subtract(p){return this.add(p.negate())}wNAF(p){return k.wNAFCached(this,p,x.normalizeZ)}multiply(p){let S=p;Ut("scalar",S,Nt,n);let{p:N,f:O}=this.wNAF(S);return x.normalizeZ([N,O])[0]}multiplyUnsafe(p,S=x.ZERO){let N=p;return Ut("scalar",N,Gt,n),N===Gt?D:this.is0()||N===Nt?this:k.wNAFCachedUnsafe(this,N,x.normalizeZ,S)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return k.unsafeLadder(this,n).is0()}toAffine(p){return v(this,p)}clearCofactor(){let{h:p}=t;return p===Nt?this:this.multiplyUnsafe(p)}static fromHex(p,S=!1){let{d:N,a:O}=t,M=r.BYTES;p=it("pointHex",p,M),Ht("zip215",S);let z=p.slice(),j=p[M-1];z[M-1]=j&-129;let q=Ae(z),X=S?l:r.ORDER;Ut("pointHex.y",q,Gt,X);let tt=u(q*q),ft=u(tt-Nt),lt=u(N*tt-O),{isValid:mt,value:yt}=d(ft,lt);if(!mt)throw new Error("Point.fromHex: invalid y coordinate");let Tt=(yt&Nt)===Nt,vt=(j&128)!==0;if(!S&&yt===Gt&&vt)throw new Error("Point.fromHex: x=0 and x_0=1");return vt!==Tt&&(yt=u(-yt)),x.fromAffine({x:yt,y:q})}static fromPrivateKey(p){return E(p).point}toRawBytes(){let{x:p,y:S}=this.toAffine(),N=Fe(S,r.BYTES);return N[N.length-1]|=p&Nt?128:0,N}toHex(){return fe(this.toRawBytes())}}x.BASE=new x(t.Gx,t.Gy,Nt,u(t.Gx*t.Gy)),x.ZERO=new x(Gt,Nt,Nt,Gt);let{BASE:P,ZERO:D}=x,k=yn(x,a*8);function R(m){return J(m,n)}function w(m){return R(Ae(m))}function E(m){let p=r.BYTES;m=it("private key",m,p);let S=it("hashed private key",i(m),2*p),N=b(S.slice(0,p)),O=S.slice(p,2*p),M=w(N),z=P.multiply(M),j=z.toRawBytes();return{head:N,prefix:O,scalar:M,point:z,pointBytes:j}}function F(m){return E(m).pointBytes}function _(m=new Uint8Array,...p){let S=de(...p);return w(i(T(S,it("context",m),!!o)))}function U(m,p,S={}){m=it("message",m),o&&(m=o(m));let{prefix:N,scalar:O,pointBytes:M}=E(p),z=_(S.context,N,m),j=P.multiply(z).toRawBytes(),q=_(S.context,j,M,m),X=R(z+q*O);Ut("signature.s",X,Gt,n);let tt=de(j,Fe(X,r.BYTES));return it("result",tt,r.BYTES*2)}let K=gd;function A(m,p,S,N=K){let{context:O,zip215:M}=N,z=r.BYTES;m=it("signature",m,2*z),p=it("message",p),S=it("publicKey",S,z),M!==void 0&&Ht("zip215",M),o&&(p=o(p));let j=Ae(m.slice(z,2*z)),q,X,tt;try{q=x.fromHex(S,M),X=x.fromHex(m.slice(0,z),M),tt=P.multiplyUnsafe(j)}catch{return!1}if(!M&&q.isSmallOrder())return!1;let ft=_(O,X.toRawBytes(),q.toRawBytes(),p);return X.add(q.multiplyUnsafe(ft)).subtract(tt).clearCofactor().equals(x.ZERO)}return P._setWindowSize(8),{CURVE:t,getPublicKey:F,sign:U,verify:A,ExtendedPoint:x,utils:{getExtendedPublicKey:E,randomPrivateKey:()=>s(r.BYTES),precompute(m=8,p=x.BASE){return p._setWindowSize(m),p.multiply(BigInt(3)),p}}}}var Yo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),wa=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),lm=BigInt(0),xd=BigInt(1),ba=BigInt(2),dm=BigInt(3),wd=BigInt(5),bd=BigInt(8);function Ed(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=Yo,a=e*e%i*e%i,c=nt(a,ba,i)*a%i,l=nt(c,xd,i)*e%i,u=nt(l,wd,i)*l%i,f=nt(u,t,i)*u%i,d=nt(f,r,i)*f%i,b=nt(d,n,i)*d%i,T=nt(b,o,i)*b%i,y=nt(T,o,i)*b%i,h=nt(y,t,i)*u%i;return{pow_p_5_8:nt(h,ba,i)*e%i,b2:a}}function Sd(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function vd(e,t){let r=Yo,n=J(t*t*t,r),o=J(n*n*t,r),i=Ed(e*o).pow_p_5_8,s=J(e*n*i,r),a=J(t*s*s,r),c=s,l=J(s*wa,r),u=a===e,f=a===J(-e,r),d=a===J(-e*wa,r);return u&&(s=c),(f||d)&&(s=l),da(s,r)&&(s=J(-s,r)),{isValid:u||f,value:s}}var Ad=Te(Yo,void 0,!0),Id={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ad,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:bd,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:aa,randomBytes:fn,adjustScalarBytes:Sd,uvRatio:vd},Ea=xa(Id);var bn=32;function Sa(e,t,r){return Ea.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}var En=class{type="Ed25519";raw;constructor(t){this.raw=Xo(t,bn)}toMultihash(){return $t.digest(Sn(this))}toCID(){return W.createV1(114,this.toMultihash())}toString(){return et.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}verify(t,r){return Sa(this.raw,r,t)}};function Jo(e){return e=Xo(e,bn),new En(e)}function Xo(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new xt(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}function he(e=0){return new Uint8Array(e)}function Pt(e=0){return new Uint8Array(e)}var Bd=Math.pow(2,7),Cd=Math.pow(2,14),Ud=Math.pow(2,21),Qo=Math.pow(2,28),ti=Math.pow(2,35),ei=Math.pow(2,42),ri=Math.pow(2,49),Y=128,wt=127;function Rt(e){if(e<Bd)return 1;if(e<Cd)return 2;if(e<Ud)return 3;if(e<Qo)return 4;if(e<ti)return 5;if(e<ei)return 6;if(e<ri)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function ni(e,t,r=0){switch(Rt(e)){case 8:t[r++]=e&255|Y,e/=128;case 7:t[r++]=e&255|Y,e/=128;case 6:t[r++]=e&255|Y,e/=128;case 5:t[r++]=e&255|Y,e/=128;case 4:t[r++]=e&255|Y,e>>>=7;case 3:t[r++]=e&255|Y,e>>>=7;case 2:t[r++]=e&255|Y,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Nd(e,t,r=0){switch(Rt(e)){case 8:t.set(r++,e&255|Y),e/=128;case 7:t.set(r++,e&255|Y),e/=128;case 6:t.set(r++,e&255|Y),e/=128;case 5:t.set(r++,e&255|Y),e/=128;case 4:t.set(r++,e&255|Y),e>>>=7;case 3:t.set(r++,e&255|Y),e>>>=7;case 2:t.set(r++,e&255|Y),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function oi(e,t){let r=e[t],n=0;if(n+=r&wt,r<Y||(r=e[t+1],n+=(r&wt)<<7,r<Y)||(r=e[t+2],n+=(r&wt)<<14,r<Y)||(r=e[t+3],n+=(r&wt)<<21,r<Y)||(r=e[t+4],n+=(r&wt)*Qo,r<Y)||(r=e[t+5],n+=(r&wt)*ti,r<Y)||(r=e[t+6],n+=(r&wt)*ei,r<Y)||(r=e[t+7],n+=(r&wt)*ri,r<Y))return n;throw new RangeError("Could not decode varint")}function Pd(e,t){let r=e.get(t),n=0;if(n+=r&wt,r<Y||(r=e.get(t+1),n+=(r&wt)<<7,r<Y)||(r=e.get(t+2),n+=(r&wt)<<14,r<Y)||(r=e.get(t+3),n+=(r&wt)<<21,r<Y)||(r=e.get(t+4),n+=(r&wt)*Qo,r<Y)||(r=e.get(t+5),n+=(r&wt)*ti,r<Y)||(r=e.get(t+6),n+=(r&wt)*ei,r<Y)||(r=e.get(t+7),n+=(r&wt)*ri,r<Y))return n;throw new RangeError("Could not decode varint")}function sr(e,t,r=0){return t==null&&(t=Pt(Rt(e))),t instanceof Uint8Array?ni(e,t,r):Nd(e,t,r)}function Ve(e,t=0){return e instanceof Uint8Array?oi(e,t):Pd(e,t)}var ii=new Float32Array([-0]),Be=new Uint8Array(ii.buffer);function Ia(e,t,r){ii[0]=e,t[r]=Be[0],t[r+1]=Be[1],t[r+2]=Be[2],t[r+3]=Be[3]}function Ta(e,t){return Be[0]=e[t],Be[1]=e[t+1],Be[2]=e[t+2],Be[3]=e[t+3],ii[0]}var si=new Float64Array([-0]),bt=new Uint8Array(si.buffer);function Ba(e,t,r){si[0]=e,t[r]=bt[0],t[r+1]=bt[1],t[r+2]=bt[2],t[r+3]=bt[3],t[r+4]=bt[4],t[r+5]=bt[5],t[r+6]=bt[6],t[r+7]=bt[7]}function Ca(e,t){return bt[0]=e[t],bt[1]=e[t+1],bt[2]=e[t+2],bt[3]=e[t+3],bt[4]=e[t+4],bt[5]=e[t+5],bt[6]=e[t+6],bt[7]=e[t+7],si[0]}var Rd=BigInt(Number.MAX_SAFE_INTEGER),_d=BigInt(Number.MIN_SAFE_INTEGER),_t=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Ke;if(t<Rd&&t>_d)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,o=t-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>Ua&&(o=0n,++n>Ua&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return Ke;let r=t<0;r&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new e(n,o)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Ke}},Ke=new _t(0,0);Ke.toBigInt=function(){return 0n};Ke.zzEncode=Ke.zzDecode=function(){return this};Ke.length=function(){return 1};var Ua=4294967296n;function Na(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Pa(e,t,r){if(r-t<1)return"";let o,i=[],s=0,a;for(;t<r;)a=e[t++],a<128?i[s++]=a:a>191&&a<224?i[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,i[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function ai(e,t,r){let n=r,o,i;for(let s=0;s<e.length;++s)o=e.charCodeAt(s),o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&((i=e.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128);return r-n}function jt(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function vn(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var ci=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,jt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw jt(this,4);return vn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw jt(this,4);return vn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw jt(this,4);let t=Ta(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw jt(this,4);let t=Ca(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw jt(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return Pa(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw jt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw jt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new _t(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw jt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw jt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw jt(this,8);let t=vn(this.buf,this.pos+=4),r=vn(this.buf,this.pos+=4);return new _t(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=oi(this.buf,this.pos);return this.pos+=Rt(t),t}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 ui(e){return new ci(e instanceof Uint8Array?e:e.subarray())}function ar(e,t,r){let n=ui(e);return t.decode(n,void 0,r)}var fi={};At(fi,{base10:()=>Ld});var Ld=xe({prefix:"9",name:"base10",alphabet:"0123456789"});var li={};At(li,{base16:()=>kd,base16upper:()=>Dd});var kd=st({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Dd=st({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var di={};At(di,{base2:()=>Fd});var Fd=st({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hi={};At(hi,{base256emoji:()=>qd});var _a=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Od=_a.reduce((e,t,r)=>(e[r]=t,e),[]),Md=_a.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function Vd(e){return e.reduce((t,r)=>(t+=Od[r],t),"")}function Kd(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Md[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var qd=Ye({prefix:"\u{1F680}",name:"base256emoji",encode:Vd,decode:Kd});var pi={};At(pi,{base8:()=>$d});var $d=st({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var mi={};At(mi,{identity:()=>zd});var zd=Ye({prefix:"\0",name:"identity",encode:e=>Ms(e),decode:e=>Os(e)});var jm=new TextEncoder,Zm=new TextDecoder;var xi={};At(xi,{sha256:()=>Rr,sha512:()=>jd});function yi({name:e,code:t,encode:r}){return new gi(e,t,r)}var gi=class{name;code;encode;constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?qt(this.code,r):r.then(n=>qt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function ka(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var Rr=yi({name:"sha2-256",code:18,encode:ka("SHA-256")}),jd=yi({name:"sha2-512",code:19,encode:ka("SHA-512")});var _r={...mi,...di,...pi,...fi,...li,...Io,...No,...To,...Co,...hi},sg={...xi,..._o};function Fa(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Da=Fa("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),wi=Fa("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Pt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Zd={utf8:Da,"utf-8":Da,hex:_r.base16,latin1:wi,ascii:wi,binary:wi,..._r},An=Zd;function H(e,t="utf8"){let r=An[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function bi(e){let t=e??8192,r=t>>>1,n,o=t;return function(s){if(s<1||s>r)return Pt(s);o+s>t&&(n=Pt(t),o=0);let a=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),a}}var qe=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Ei(){}var vi=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Wd=bi();function Yd(e){return globalThis.Buffer!=null?Pt(e):Wd(e)}var kr=class{len;head;tail;states;constructor(){this.len=0,this.head=new qe(Ei,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new qe(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Ai((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(In,10,_t.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=_t.fromBigInt(t);return this._push(In,r.length(),r)}uint64Number(t){return this._push(ni,Rt(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=_t.fromBigInt(t).zzEncode();return this._push(In,r.length(),r)}sint64Number(t){let r=_t.fromNumber(t).zzEncode();return this._push(In,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Si,1,t?1:0)}fixed32(t){return this._push(Lr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=_t.fromBigInt(t);return this._push(Lr,4,r.lo)._push(Lr,4,r.hi)}fixed64Number(t){let r=_t.fromNumber(t);return this._push(Lr,4,r.lo)._push(Lr,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Ia,4,t)}double(t){return this._push(Ba,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Si,1,0):this.uint32(r)._push(Jd,r,t)}string(t){let r=Na(t);return r!==0?this.uint32(r)._push(ai,r,t):this._push(Si,1,0)}fork(){return this.states=new vi(this),this.head=this.tail=new qe(Ei,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 qe(Ei,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=Yd(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Si(e,t,r){t[r]=e&255}function Xd(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var Ai=class extends qe{next;constructor(t,r){super(Xd,t,r),this.next=void 0}};function In(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function Lr(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function Jd(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(kr.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Qd,t,e),this},kr.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(th,t,e),this});function Qd(e,t,r){t.set(e,r)}function th(e,t,r){e.length<40?ai(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(H(e),r)}function Ii(){return new kr}function cr(e,t){let r=Ii();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var ur;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(ur||(ur={}));function Tn(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Dr(e){function t(o){if(e[o.toString()]==null)throw new Error("Invalid enum value");return e[o]}let r=function(i,s){let a=t(i);s.int32(a)},n=function(i){let s=i.int32();return t(s)};return Tn("enum",ur.VARINT,r,n)}function fr(e,t){return Tn("message",ur.LENGTH_DELIMITED,e,t)}var ut;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1"})(ut||(ut={}));var Ti;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1"})(Ti||(Ti={}));(function(e){e.codec=()=>Dr(Ti)})(ut||(ut={}));var ne;(function(e){let t;e.codec=()=>(t==null&&(t=fr((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ut.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let a=r.uint32();switch(a>>>3){case 1:{i.Type=ut.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return i})),t),e.encode=r=>cr(r,e.codec()),e.decode=(r,n)=>ar(r,e.codec(),n)})(ne||(ne={}));var Bi;(function(e){let t;e.codec=()=>(t==null&&(t=fr((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ut.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let a=r.uint32();switch(a>>>3){case 1:{i.Type=ut.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return i})),t),e.encode=r=>cr(r,e.codec()),e.decode=(r,n)=>ar(r,e.codec(),n)})(Bi||(Bi={}));var Mr={};At(Mr,{MAX_RSA_KEY_SIZE:()=>Ri,generateRSAKeyPair:()=>Ja,jwkToJWKKeyPair:()=>Qa,jwkToPkcs1:()=>dh,jwkToPkix:()=>Li,jwkToRSAPrivateKey:()=>Xa,pkcs1ToJwk:()=>Za,pkcs1ToRSAPrivateKey:()=>Ya,pkixToJwk:()=>Wa,pkixToRSAPublicKey:()=>ki});var eh=new Uint32Array([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]),Ce=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ue=new Uint32Array(64),Ci=class extends or{constructor(){super(64,32,8,!1),this.A=Ce[0]|0,this.B=Ce[1]|0,this.C=Ce[2]|0,this.D=Ce[3]|0,this.E=Ce[4]|0,this.F=Ce[5]|0,this.G=Ce[6]|0,this.H=Ce[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let f=0;f<16;f++,r+=4)Ue[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let d=Ue[f-15],b=Ue[f-2],T=zt(d,7)^zt(d,18)^d>>>3,y=zt(b,17)^zt(b,19)^b>>>10;Ue[f]=y+Ue[f-7]+T+Ue[f-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:l,H:u}=this;for(let f=0;f<64;f++){let d=zt(a,6)^zt(a,11)^zt(a,25),b=u+d+oa(a,c,l)+eh[f]+Ue[f]|0,y=(zt(n,2)^zt(n,13)^zt(n,22))+ia(n,o,i)|0;u=l,l=c,c=a,a=s+b|0,s=i,i=o,o=n,n=b+y|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(n,o,i,s,a,c,l,u)}roundClean(){Ue.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var lr=un(()=>new Ci);function G(e,t="utf8"){let r=An[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}function Et(e,t){t==null&&(t=e.reduce((o,i)=>o+i.length,0));let r=Pt(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var Va=Symbol.for("@achingbrain/uint8arraylist");function Ma(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let o=r+n.byteLength;if(t<o)return{buf:n,index:t-r};r=o}throw new RangeError("index is out of bounds")}function dr(e){return!!e?.[Va]}var Zt=class e{bufs;length;[Va]=!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 r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(dr(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(dr(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=Ma(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Ma(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(dr(t))for(let n=0;n<t.length;n++)this.set(r+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,r){let{bufs:n,length:o}=this._subList(t,r);return Et(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:Et(n,o)}sublist(t,r){let{bufs:n,length:o}=this._subList(t,r),i=new e;return i.length=o,i.bufs=[...n],i}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,c=a+s.byteLength;if(o=c,t>=c)continue;let l=t>=a&&t<c,u=r>a&&r<=c;if(l&&u){if(t===a&&r===c){n.push(s);break}let f=t-a;n.push(s.subarray(f,f+(r-t)));break}if(l){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!dr(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(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let f=0;f<i;f++)s[f]=-1;for(let f=0;f<o;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,l=n.byteLength-1,u;for(let f=r;f<=c;f+=u){u=0;for(let d=l;d>=0;d--){let b=this.get(f+d);if(n[d]!==b){u=Math.max(1,d-a[b]);break}}if(u===0)return f}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=Pt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let o=he(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let o=he(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let o=he(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=Pt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let o=he(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let o=he(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let o=he(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let o=he(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let o=he(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!ot(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((o,i)=>o+i.byteLength,0)),n.length=r,n}};var rh=parseInt("11111",2),Ni=parseInt("10000000",2),nh=parseInt("01111111",2),Ka={2:oh,3:ah,5:sh,6:ih,16:Ui,22:Ui,48:Ui};function Fr(e,t={offset:0}){let r=e[t.offset]&rh;if(t.offset++,Ka[r]!=null)return Ka[r](e,t);throw new Error("No decoder for tag "+r)}function Bn(e,t){let r=0;if((e[t.offset]&Ni)===Ni){let n=e[t.offset]&nh,o="0x";t.offset++;for(let i=0;i<n;i++,t.offset++)o+=e[t.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=e[t.offset],t.offset++;return r}function Ui(e,t){Bn(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=Fr(e,t);if(n===null)break;r.push(n)}return r}function oh(e,t){let r=Bn(e,t),n=t.offset,o=t.offset+r,i=[];for(let s=n;s<o;s++)s===n&&e[s]===0||i.push(e[s]);return t.offset+=r,Uint8Array.from(i)}function ih(e,t){let r=Bn(e,t);return t.offset+=r,["oid-unimplemented"]}function sh(e,t){return t.offset++,null}function ah(e,t){let r=Bn(e,t),n=e[t.offset];t.offset++;let o=e.subarray(t.offset,t.offset+r);if(t.offset+=r,n!==0)throw new Error("Unused bits in bit string is unimplemented");return Fr(o,{offset:0})}function ch(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new Zt;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function Pi(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=ch(e.byteLength);return new Zt(Uint8Array.from([t.byteLength|Ni]),t)}function Ot(e){let t=new Zt,r=parseInt("10000000",2);return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new Zt(Uint8Array.from([2]),Pi(t),t)}function qa(e){let t=Uint8Array.from([0]),r=new Zt(t,e);return new Zt(Uint8Array.from([3]),Pi(r),r)}function Cn(e){let t=new Zt;for(let r of e)t.append(r);return new Zt(Uint8Array.from([48]),Pi(t),t)}var Or=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Un=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var $a={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new Un("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 Ne=$a;async function za(e){let t=await Ne.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await uh(t);return{privateKey:r[0],publicKey:r[1]}}async function Ha(e,t){let r=await Ne.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Ne.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Ga(e,t,r){let n=await Ne.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Ne.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function uh(e){if(e.privateKey==null||e.publicKey==null)throw new xt("Private and public key are required");return Promise.all([Ne.get().subtle.exportKey("jwk",e.privateKey),Ne.get().subtle.exportKey("jwk",e.publicKey)])}function ja(e){if(e.kty!=="RSA")throw new xt("invalid key type");if(e.n==null)throw new xt("invalid key modulus");return H(e.n,"base64url").length*8}var hr=class{type="RSA";_key;_raw;_multihash;constructor(t,r){this._key=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=Mr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return W.createV1(114,this._multihash)}toString(){return et.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}verify(t,r){return Ga(this._key,r,t)}},Vr=class{type="RSA";_key;_raw;publicKey;constructor(t,r){this._key=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=Mr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}sign(t){return Ha(this._key,t)}};var Ri=8192,_i=18,fh=1062,lh=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function Za(e){let t=Fr(e);return{n:G(t[1],"base64url"),e:G(t[2],"base64url"),d:G(t[3],"base64url"),p:G(t[4],"base64url"),q:G(t[5],"base64url"),dp:G(t[6],"base64url"),dq:G(t[7],"base64url"),qi:G(t[8],"base64url"),kty:"RSA"}}function dh(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new xt("JWK was missing components");return Cn([Ot(Uint8Array.from([0])),Ot(H(e.n,"base64url")),Ot(H(e.e,"base64url")),Ot(H(e.d,"base64url")),Ot(H(e.p,"base64url")),Ot(H(e.q,"base64url")),Ot(H(e.dp,"base64url")),Ot(H(e.dq,"base64url")),Ot(H(e.qi,"base64url"))]).subarray()}function Wa(e){let t=Fr(e,{offset:0});return{kty:"RSA",n:G(t[1][0],"base64url"),e:G(t[1][1],"base64url")}}function Li(e){if(e.n==null||e.e==null)throw new xt("JWK was missing components");return Cn([lh,qa(Cn([Ot(H(e.n,"base64url")),Ot(H(e.e,"base64url"))]))]).subarray()}function Ya(e){let t=Za(e);return Xa(t)}function ki(e,t){if(e.byteLength>=fh)throw new je("Key size is too large");let r=Wa(e);if(t==null){let n=lr(ne.encode({Type:ut.RSA,Data:e}));t=qt(_i,n)}return new hr(r,t)}function Xa(e){if(ja(e)>Ri)throw new xt("Key size is too large");let t=Qa(e),r=lr(ne.encode({Type:ut.RSA,Data:Li(t.publicKey)})),n=qt(_i,r);return new Vr(t.privateKey,new hr(t.publicKey,n))}async function Ja(e){if(e>Ri)throw new xt("Key size is too large");let t=await za(e),r=lr(ne.encode({Type:ut.RSA,Data:Li(t.publicKey)})),n=qt(_i,r);return new Vr(t.privateKey,new hr(t.publicKey,n))}function Qa(e){if(e==null)throw new xt("Missing key parameter");return{privateKey:e,publicKey:{kty:e.kty,n:e.n,e:e.e}}}var Nn=class extends nr{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,ea(t);let n=Cr(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(t){return rr(this),this.iHash.update(t),this}digestInto(t){rr(this),er(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Di=(e,t,r)=>new Nn(e,t).update(r).digest();Di.create=(e,t)=>new Nn(e,t);function tc(e){e.lowS!==void 0&&Ht("lowS",e.lowS),e.prehash!==void 0&&Ht("prehash",e.prehash)}function hh(e){let t=Pr(e);re(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:o}=t;if(r){if(!n.eql(o,n.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:ph,hexToBytes:mh}=pn,Fi=class extends Error{constructor(t=""){super(t)}},pe={Err:Fi,_tlv:{encode:(e,t)=>{let{Err:r}=pe;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,o=ke(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let i=n>127?ke(o.length/2|128):"";return ke(e)+i+o+t},decode(e,t){let{Err:r}=pe,n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");let o=t[n++],i=!!(o&128),s=0;if(!i)s=o;else{let c=o&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let l=t.subarray(n,n+c);if(l.length!==c)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(n+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){let{Err:t}=pe;if(e<me)throw new t("integer: negative integers are not allowed");let r=ke(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=pe;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return ph(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=pe,o=typeof e=="string"?mh(e):e;ir(o);let{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:l,l:u}=n.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=pe,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),i=n+o;return t.encode(48,i)}},me=BigInt(0),dt=BigInt(1),Cy=BigInt(2),ec=BigInt(3),Uy=BigInt(4);function gh(e){let t=hh(e),{Fp:r}=t,n=Te(t.n,t.nBitLength),o=t.toBytes||((y,h,v)=>{let C=h.toAffine();return de(Uint8Array.from([4]),r.toBytes(C.x),r.toBytes(C.y))}),i=t.fromBytes||(y=>{let h=y.subarray(1),v=r.fromBytes(h.subarray(0,r.BYTES)),C=r.fromBytes(h.subarray(r.BYTES,2*r.BYTES));return{x:v,y:C}});function s(y){let{a:h,b:v}=t,C=r.sqr(y),x=r.mul(C,y);return r.add(r.add(x,r.mul(y,h)),v)}if(!r.eql(r.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function a(y){return Ur(y,dt,t.n)}function c(y){let{allowedPrivateKeyLengths:h,nByteLength:v,wrapPrivateKey:C,n:x}=t;if(h&&typeof y!="bigint"){if(ve(y)&&(y=fe(y)),typeof y!="string"||!h.includes(y.length))throw new Error("invalid private key");y=y.padStart(v*2,"0")}let P;try{P=typeof y=="bigint"?y:le(it("private key",y,v))}catch{throw new Error("invalid private key, expected hex or "+v+" bytes, got "+typeof y)}return C&&(P=J(P,x)),Ut("private key",P,dt,x),P}function l(y){if(!(y instanceof d))throw new Error("ProjectivePoint expected")}let u=Oe((y,h)=>{let{px:v,py:C,pz:x}=y;if(r.eql(x,r.ONE))return{x:v,y:C};let P=y.is0();h==null&&(h=P?r.ONE:r.inv(x));let D=r.mul(v,h),k=r.mul(C,h),R=r.mul(x,h);if(P)return{x:r.ZERO,y:r.ZERO};if(!r.eql(R,r.ONE))throw new Error("invZ was invalid");return{x:D,y:k}}),f=Oe(y=>{if(y.is0()){if(t.allowInfinityPoint&&!r.is0(y.py))return;throw new Error("bad point: ZERO")}let{x:h,y:v}=y.toAffine();if(!r.isValid(h)||!r.isValid(v))throw new Error("bad point: x or y not FE");let C=r.sqr(v),x=s(h);if(!r.eql(C,x))throw new Error("bad point: equation left != right");if(!y.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(h,v,C){if(this.px=h,this.py=v,this.pz=C,h==null||!r.isValid(h))throw new Error("x required");if(v==null||!r.isValid(v))throw new Error("y required");if(C==null||!r.isValid(C))throw new Error("z required");Object.freeze(this)}static fromAffine(h){let{x:v,y:C}=h||{};if(!h||!r.isValid(v)||!r.isValid(C))throw new Error("invalid affine point");if(h instanceof d)throw new Error("projective point not allowed");let x=P=>r.eql(P,r.ZERO);return x(v)&&x(C)?d.ZERO:new d(v,C,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let v=r.invertBatch(h.map(C=>C.pz));return h.map((C,x)=>C.toAffine(v[x])).map(d.fromAffine)}static fromHex(h){let v=d.fromAffine(i(it("pointHex",h)));return v.assertValidity(),v}static fromPrivateKey(h){return d.BASE.multiply(c(h))}static msm(h,v){return xn(d,n,h,v)}_setWindowSize(h){T.setWindowSize(this,h)}assertValidity(){f(this)}hasEvenY(){let{y:h}=this.toAffine();if(r.isOdd)return!r.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){l(h);let{px:v,py:C,pz:x}=this,{px:P,py:D,pz:k}=h,R=r.eql(r.mul(v,k),r.mul(P,x)),w=r.eql(r.mul(C,k),r.mul(D,x));return R&&w}negate(){return new d(this.px,r.neg(this.py),this.pz)}double(){let{a:h,b:v}=t,C=r.mul(v,ec),{px:x,py:P,pz:D}=this,k=r.ZERO,R=r.ZERO,w=r.ZERO,E=r.mul(x,x),F=r.mul(P,P),_=r.mul(D,D),U=r.mul(x,P);return U=r.add(U,U),w=r.mul(x,D),w=r.add(w,w),k=r.mul(h,w),R=r.mul(C,_),R=r.add(k,R),k=r.sub(F,R),R=r.add(F,R),R=r.mul(k,R),k=r.mul(U,k),w=r.mul(C,w),_=r.mul(h,_),U=r.sub(E,_),U=r.mul(h,U),U=r.add(U,w),w=r.add(E,E),E=r.add(w,E),E=r.add(E,_),E=r.mul(E,U),R=r.add(R,E),_=r.mul(P,D),_=r.add(_,_),E=r.mul(_,U),k=r.sub(k,E),w=r.mul(_,F),w=r.add(w,w),w=r.add(w,w),new d(k,R,w)}add(h){l(h);let{px:v,py:C,pz:x}=this,{px:P,py:D,pz:k}=h,R=r.ZERO,w=r.ZERO,E=r.ZERO,F=t.a,_=r.mul(t.b,ec),U=r.mul(v,P),K=r.mul(C,D),A=r.mul(x,k),I=r.add(v,C),m=r.add(P,D);I=r.mul(I,m),m=r.add(U,K),I=r.sub(I,m),m=r.add(v,x);let p=r.add(P,k);return m=r.mul(m,p),p=r.add(U,A),m=r.sub(m,p),p=r.add(C,x),R=r.add(D,k),p=r.mul(p,R),R=r.add(K,A),p=r.sub(p,R),E=r.mul(F,m),R=r.mul(_,A),E=r.add(R,E),R=r.sub(K,E),E=r.add(K,E),w=r.mul(R,E),K=r.add(U,U),K=r.add(K,U),A=r.mul(F,A),m=r.mul(_,m),K=r.add(K,A),A=r.sub(U,A),A=r.mul(F,A),m=r.add(m,A),U=r.mul(K,m),w=r.add(w,U),U=r.mul(p,m),R=r.mul(I,R),R=r.sub(R,U),U=r.mul(I,K),E=r.mul(p,E),E=r.add(E,U),new d(R,w,E)}subtract(h){return this.add(h.negate())}is0(){return this.equals(d.ZERO)}wNAF(h){return T.wNAFCached(this,h,d.normalizeZ)}multiplyUnsafe(h){let{endo:v,n:C}=t;Ut("scalar",h,me,C);let x=d.ZERO;if(h===me)return x;if(this.is0()||h===dt)return this;if(!v||T.hasPrecomputes(this))return T.wNAFCachedUnsafe(this,h,d.normalizeZ);let{k1neg:P,k1:D,k2neg:k,k2:R}=v.splitScalar(h),w=x,E=x,F=this;for(;D>me||R>me;)D&dt&&(w=w.add(F)),R&dt&&(E=E.add(F)),F=F.double(),D>>=dt,R>>=dt;return P&&(w=w.negate()),k&&(E=E.negate()),E=new d(r.mul(E.px,v.beta),E.py,E.pz),w.add(E)}multiply(h){let{endo:v,n:C}=t;Ut("scalar",h,dt,C);let x,P;if(v){let{k1neg:D,k1:k,k2neg:R,k2:w}=v.splitScalar(h),{p:E,f:F}=this.wNAF(k),{p:_,f:U}=this.wNAF(w);E=T.constTimeNegate(D,E),_=T.constTimeNegate(R,_),_=new d(r.mul(_.px,v.beta),_.py,_.pz),x=E.add(_),P=F.add(U)}else{let{p:D,f:k}=this.wNAF(h);x=D,P=k}return d.normalizeZ([x,P])[0]}multiplyAndAddUnsafe(h,v,C){let x=d.BASE,P=(k,R)=>R===me||R===dt||!k.equals(x)?k.multiplyUnsafe(R):k.multiply(R),D=P(this,v).add(P(h,C));return D.is0()?void 0:D}toAffine(h){return u(this,h)}isTorsionFree(){let{h,isTorsionFree:v}=t;if(h===dt)return!0;if(v)return v(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:v}=t;return h===dt?this:v?v(d,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return Ht("isCompressed",h),this.assertValidity(),o(d,this,h)}toHex(h=!0){return Ht("isCompressed",h),fe(this.toRawBytes(h))}}d.BASE=new d(t.Gx,t.Gy,r.ONE),d.ZERO=new d(r.ZERO,r.ONE,r.ZERO);let b=t.nBitLength,T=yn(d,t.endo?Math.ceil(b/2):b);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:a}}function yh(e){let t=Pr(e);return re(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function rc(e){let t=yh(e),{Fp:r,n}=t,o=r.BYTES+1,i=2*r.BYTES+1;function s(A){return J(A,n)}function a(A){return mn(A,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:l,weierstrassEquation:u,isWithinCurveOrder:f}=gh({...t,toBytes(A,I,m){let p=I.toAffine(),S=r.toBytes(p.x),N=de;return Ht("isCompressed",m),m?N(Uint8Array.from([I.hasEvenY()?2:3]),S):N(Uint8Array.from([4]),S,r.toBytes(p.y))},fromBytes(A){let I=A.length,m=A[0],p=A.subarray(1);if(I===o&&(m===2||m===3)){let S=le(p);if(!Ur(S,dt,r.ORDER))throw new Error("Point is not on curve");let N=u(S),O;try{O=r.sqrt(N)}catch(j){let q=j instanceof Error?": "+j.message:"";throw new Error("Point is not on curve"+q)}let M=(O&dt)===dt;return(m&1)===1!==M&&(O=r.neg(O)),{x:S,y:O}}else if(I===i&&m===4){let S=r.fromBytes(p.subarray(0,r.BYTES)),N=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:S,y:N}}else{let S=o,N=i;throw new Error("invalid Point, expected length of "+S+", or uncompressed "+N+", got "+I)}}}),d=A=>fe(Ie(A,t.nByteLength));function b(A){let I=n>>dt;return A>I}function T(A){return b(A)?s(-A):A}let y=(A,I,m)=>le(A.slice(I,m));class h{constructor(I,m,p){this.r=I,this.s=m,this.recovery=p,this.assertValidity()}static fromCompact(I){let m=t.nByteLength;return I=it("compactSignature",I,m*2),new h(y(I,0,m),y(I,m,2*m))}static fromDER(I){let{r:m,s:p}=pe.toSig(it("DER",I));return new h(m,p)}assertValidity(){Ut("r",this.r,dt,n),Ut("s",this.s,dt,n)}addRecoveryBit(I){return new h(this.r,this.s,I)}recoverPublicKey(I){let{r:m,s:p,recovery:S}=this,N=k(it("msgHash",I));if(S==null||![0,1,2,3].includes(S))throw new Error("recovery id invalid");let O=S===2||S===3?m+t.n:m;if(O>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let M=(S&1)===0?"02":"03",z=c.fromHex(M+d(O)),j=a(O),q=s(-N*j),X=s(p*j),tt=c.BASE.multiplyAndAddUnsafe(z,q,X);if(!tt)throw new Error("point at infinify");return tt.assertValidity(),tt}hasHighS(){return b(this.s)}normalizeS(){return this.hasHighS()?new h(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return De(this.toDERHex())}toDERHex(){return pe.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return De(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let v={isValidPrivateKey(A){try{return l(A),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let A=Ho(t.n);return pa(t.randomBytes(A),t.n)},precompute(A=8,I=c.BASE){return I._setWindowSize(A),I.multiply(BigInt(3)),I}};function C(A,I=!0){return c.fromPrivateKey(A).toRawBytes(I)}function x(A){let I=ve(A),m=typeof A=="string",p=(I||m)&&A.length;return I?p===o||p===i:m?p===2*o||p===2*i:A instanceof c}function P(A,I,m=!0){if(x(A))throw new Error("first arg must be private key");if(!x(I))throw new Error("second arg must be public key");return c.fromHex(I).multiply(l(A)).toRawBytes(m)}let D=t.bits2int||function(A){if(A.length>8192)throw new Error("input is too large");let I=le(A),m=A.length*8-t.nBitLength;return m>0?I>>BigInt(m):I},k=t.bits2int_modN||function(A){return s(D(A))},R=Nr(t.nBitLength);function w(A){return Ut("num < 2^"+t.nBitLength,A,me,R),Ie(A,t.nByteLength)}function E(A,I,m=F){if(["recovered","canonical"].some(lt=>lt in m))throw new Error("sign() legacy options not supported");let{hash:p,randomBytes:S}=t,{lowS:N,prehash:O,extraEntropy:M}=m;N==null&&(N=!0),A=it("msgHash",A),tc(m),O&&(A=it("prehashed msgHash",p(A)));let z=k(A),j=l(I),q=[w(j),w(z)];if(M!=null&&M!==!1){let lt=M===!0?S(r.BYTES):M;q.push(it("extraEntropy",lt))}let X=de(...q),tt=z;function ft(lt){let mt=D(lt);if(!f(mt))return;let yt=a(mt),Tt=c.BASE.multiply(mt).toAffine(),vt=s(Tt.x);if(vt===me)return;let ee=s(yt*s(tt+vt*j));if(ee===me)return;let se=(Tt.x===vt?0:2)|Number(Tt.y&dt),Ar=ee;return N&&b(ee)&&(Ar=T(ee),se^=1),new h(vt,Ar,se)}return{seed:X,k2sig:ft}}let F={lowS:t.lowS,prehash:!1},_={lowS:t.lowS,prehash:!1};function U(A,I,m=F){let{seed:p,k2sig:S}=E(A,I,m),N=t;return Ko(N.hash.outputLen,N.nByteLength,N.hmac)(p,S)}c.BASE._setWindowSize(8);function K(A,I,m,p=_){let S=A;I=it("msgHash",I),m=it("publicKey",m);let{lowS:N,prehash:O,format:M}=p;if(tc(p),"strict"in p)throw new Error("options.strict was renamed to lowS");if(M!==void 0&&M!=="compact"&&M!=="der")throw new Error("format must be compact or der");let z=typeof S=="string"||ve(S),j=!z&&!M&&typeof S=="object"&&S!==null&&typeof S.r=="bigint"&&typeof S.s=="bigint";if(!z&&!j)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let q,X;try{if(j&&(q=new h(S.r,S.s)),z){try{M!=="compact"&&(q=h.fromDER(S))}catch(se){if(!(se instanceof pe.Err))throw se}!q&&M!=="der"&&(q=h.fromCompact(S))}X=c.fromHex(m)}catch{return!1}if(!q||N&&q.hasHighS())return!1;O&&(I=t.hash(I));let{r:tt,s:ft}=q,lt=k(I),mt=a(ft),yt=s(lt*mt),Tt=s(tt*mt),vt=c.BASE.multiplyAndAddUnsafe(X,yt,Tt)?.toAffine();return vt?s(vt.x)===tt:!1}return{CURVE:t,getPublicKey:C,getSharedSecret:P,sign:U,verify:K,ProjectivePoint:c,Signature:h,utils:v}}function xh(e){return{hash:e,hmac:(t,...r)=>Di(e,t,Lo(...r)),randomBytes:fn}}function nc(e,t){let r=n=>rc({...e,...xh(n)});return{...r(t),create:r}}var sc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),oc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),wh=BigInt(1),Oi=BigInt(2),ic=(e,t)=>(e+t/Oi)/t;function bh(e){let t=sc,r=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,f=nt(u,r,t)*u%t,d=nt(f,r,t)*u%t,b=nt(d,Oi,t)*l%t,T=nt(b,o,t)*b%t,y=nt(T,i,t)*T%t,h=nt(y,a,t)*y%t,v=nt(h,c,t)*h%t,C=nt(v,a,t)*y%t,x=nt(C,r,t)*u%t,P=nt(x,s,t)*T%t,D=nt(P,n,t)*l%t,k=nt(D,Oi,t);if(!Mi.eql(Mi.sqr(k),e))throw new Error("Cannot find square root");return k}var Mi=Te(sc,void 0,void 0,{sqrt:bh}),$e=nc({a:BigInt(0),b:BigInt(7),Fp:Mi,n:oc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=oc,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-wh*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,s=BigInt("0x100000000000000000000000000000000"),a=ic(i*e,t),c=ic(-n*e,t),l=J(e-a*r-c*o,t),u=J(-a*n-c*i,t),f=l>s,d=u>s;if(f&&(l=t-l),d&&(u=t-u),l>s||u>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:f,k1:l,k2neg:d,k2:u}}}},lr),Oy=BigInt(0);var My=$e.ProjectivePoint;function ac(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function cc(e,t,r){let n=Rr.digest(r instanceof Uint8Array?r:r.subarray());if(ac(n))return n.then(({digest:o})=>$e.verify(t,o,e)).catch(o=>{throw new Or(String(o))});try{return $e.verify(t,n.digest,e)}catch(o){throw new Or(String(o))}}var Pn=class{type="secp256k1";raw;_key;constructor(t){this._key=fc(t),this.raw=uc(this._key)}toMultihash(){return $t.digest(Sn(this))}toCID(){return W.createV1(114,this.toMultihash())}toString(){return et.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}verify(t,r){return cc(this._key,r,t)}};function Vi(e){return new Pn(e)}function uc(e){return $e.ProjectivePoint.fromHex(e).toRawBytes(!0)}function fc(e){try{return $e.ProjectivePoint.fromHex(e),e}catch(t){throw new je(String(t))}}function lc(e,t){let{Type:r,Data:n}=ne.decode(e),o=n??new Uint8Array;switch(r){case ut.RSA:return ki(o,t);case ut.Ed25519:return Jo(o);case ut.secp256k1:return Vi(o);default:throw new We}}function Rn(e){let{Type:t,Data:r}=ne.decode(e.digest),n=r??new Uint8Array;switch(t){case ut.Ed25519:return Jo(n);case ut.secp256k1:return Vi(n);default:throw new We}}function Sn(e){return ne.encode({Type:ut[e.type],Data:e.raw})}var dc=Symbol.for("nodejs.util.inspect.custom"),Eh=114,Kr=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[bo]=!0;toString(){return this.string==null&&(this.string=et.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return W.createV1(Eh,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return ot(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return ot(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[dc](){return`PeerId(${this.toString()})`}},_n=class extends Kr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Ln=class extends Kr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},kn=class extends Kr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Sh=2336,qr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=$t.digest(H(this.url))}[dc](){return`PeerId(${this.url})`}[bo]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return W.createV1(Sh,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=G(t)),t.toString()===this.toString())}};var vh=114,hc=2336;function pc(e,t){let r;if(e.charAt(0)==="1"||e.charAt(0)==="Q")r=ce(et.decode(`z${e}`));else{if(e.startsWith("k51qzi5uqu5")||e.startsWith("kzwfwjn5ji4")||e.startsWith("k2k4r8")||e.startsWith("bafz"))return Ki(W.parse(e));if(t==null)throw new xt('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=ce(t.decode(e))}return mc(r)}function mc(e){if(Ih(e))return new _n({multihash:e});if(Ah(e))try{let t=Rn(e);if(t.type==="Ed25519")return new Ln({multihash:e,publicKey:t});if(t.type==="secp256k1")return new kn({multihash:e,publicKey:t})}catch{let r=G(e.digest);return new qr(new URL(r))}throw new Ze("Supplied PeerID Multihash is invalid")}function Ki(e){if(e?.multihash==null||e.version==null||e.version===1&&e.code!==vh&&e.code!==hc)throw new rn("Supplied PeerID CID is invalid");if(e.code===hc){let t=G(e.multihash.digest);return new qr(new URL(t))}return mc(e.multihash)}function Ah(e){return e.code===$t.code}function Ih(e){return e.code===Rr.code}var Dn=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,o){return this.readAtomically(()=>{let i=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",l=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,t);if(!Number.isNaN(d))return d});if(u===void 0)break;if(i*=t,i+=u,i>l||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[o]=s[0],r[o+1]=s[1],r[o+2]=s[2],r[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];r[o]=i>>8,r[o+1]=i&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=t(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[a]=t(i.subarray(0,s));return r.set(i.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var gc=45,Th=15,pr=new Dn;function qi(e){if(!(e.length>Th))return pr.new(e).parseWith(()=>pr.readIPv4Addr())}function $i(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>gc))return pr.new(e).parseWith(()=>pr.readIPv6Addr())}function Fn(e,t=!1){if(e.includes("%")&&(e=e.split("%")[0]),e.length>gc)return;let r=pr.new(e).parseWith(()=>pr.readIPAddr());if(r)return t&&r.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,r[0],r[1],r[2],r[3]]):r}var Wx=parseInt("0xFFFF",16),Yx=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function wc(e){return!!qi(e)}function bc(e){return!!$i(e)}function On(e){return!!Fn(e)}var Ec=wc,Ph=bc,zi=function(e){let t=0;if(e=e.toString().trim(),Ec(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Ph(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let i=Ec(r[n]),s;i&&(s=zi(r[n]),r[n]=G(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,G(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){let i=parseInt(r[n],16);o[t++]=i>>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},Sc=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let o=[];for(let i=0;i<r;i++)o.push(e[t+i]);return o.join(".")}if(r===16){let o=[];for(let i=0;i<r;i+=2)o.push(n.getUint16(t+i).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var mr={},Hi={},_h=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];_h.forEach(e=>{let t=Lh(...e);Hi[t.code]=t,mr[t.name]=t});function Lh(e,t,r,n,o){return{code:e,size:t,name:r,resolvable:!!n,path:!!o}}function Q(e){if(typeof e=="number"){if(Hi[e]!=null)return Hi[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(mr[e]!=null)return mr[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var _w=Q("ip4"),Lw=Q("ip6"),kw=Q("ipcidr");function Wi(e,t){switch(Q(e).code){case 4:case 41:return Dh(t);case 42:return Zi(t);case 43:return G(t,"base10");case 6:case 273:case 33:case 132:return Ic(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Zi(t);case 421:return Vh(t);case 444:return Ac(t);case 445:return Ac(t);case 466:return Mh(t);case 481:return globalThis.encodeURIComponent(Zi(t));default:return G(t,"base16")}}function Yi(e,t){switch(Q(e).code){case 4:return vc(t);case 41:return vc(t);case 42:return ji(t);case 43:return H(t,"base10");case 6:case 273:case 33:case 132:return Xi(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ji(t);case 421:return Fh(t);case 444:return Kh(t);case 445:return qh(t);case 466:return Oh(t);case 481:return ji(globalThis.decodeURIComponent(t));default:return H(t,"base16")}}var Gi=Object.values(_r).map(e=>e.decoder),kh=function(){let e=Gi[0].or(Gi[1]);return Gi.slice(2).forEach(t=>e=e.or(t)),e}();function vc(e){if(!On(e))throw new Error("invalid ip address");return zi(e)}function Dh(e){let t=Sc(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!On(t))throw new Error("invalid ip address");return t}function Xi(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Ic(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function ji(e){let t=H(e),r=Uint8Array.from(sr(t.length));return Et([r,t],r.length+t.length)}function Zi(e){let t=Ve(e);if(e=e.slice(Rt(t)),e.length!==t)throw new Error("inconsistent lengths");return G(e)}function Fh(e){let t;e[0]==="Q"||e[0]==="1"?t=ce(et.decode(`z${e}`)).bytes:t=W.parse(e).multihash.bytes;let r=Uint8Array.from(sr(t.length));return Et([r,t],r.length+t.length)}function Oh(e){let t=kh.decode(e),r=Uint8Array.from(sr(t.length));return Et([r,t],r.length+t.length)}function Mh(e){let t=Ve(e),r=e.slice(Rt(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+G(r,"base64url")}function Vh(e){let t=Ve(e),r=e.slice(Rt(t));if(r.length!==t)throw new Error("inconsistent lengths");return G(r,"base58btc")}function Kh(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=Kt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Xi(n);return Et([r,o],r.length+o.length)}function qh(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Kt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Xi(n);return Et([r,o],r.length+o.length)}function Ac(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=G(t,"base32"),o=Ic(r);return`${n}:${o}`}function Tc(e){e=Ji(e);let t=[],r=[],n=null,o=e.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<o.length;i++){let s=o[i],a=Q(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(i++,i>=o.length)throw new Mn("invalid address: "+e);if(a.path===!0){n=Ji(o.slice(i).join("/")),t.push([a.code,Yi(a.code,n)]),r.push([a.code,n]);break}let c=Yi(a.code,o[i]);t.push([a.code,c]),r.push([a.code,Wi(a.code,c)])}return{string:Bc(r),bytes:Vn(t),tuples:t,stringTuples:r,path:n}}function Qi(e){let t=[],r=[],n=null,o=0;for(;o<e.length;){let i=Ve(e,o),s=Rt(i),a=Q(i),c=$h(a,e.slice(o+s));if(c===0){t.push([i]),r.push([i]),o+=s;continue}let l=e.slice(o+s,o+s+c);if(o+=c+s,o>e.length)throw new Mn("Invalid address Uint8Array: "+G(e,"base16"));t.push([i,l]);let u=Wi(i,l);if(r.push([i,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(e),string:Bc(r),tuples:t,stringTuples:r,path:n}}function Bc(e){let t=[];return e.map(r=>{let n=Q(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Ji(t.join("/"))}function Vn(e){return Et(e.map(t=>{let r=Q(t[0]),n=Uint8Array.from(sr(r.code));return t.length>1&&t[1]!=null&&(n=Et([n,t[1]])),n}))}function $h(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=Ve(t instanceof Uint8Array?t:Uint8Array.from(t));return r+Rt(r)}}function Ji(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}var Mn=class extends Error{static name="ParseError";name="ParseError";constructor(t){super(`Error parsing address: ${t}`)}};var zh=Symbol.for("nodejs.util.inspect.custom"),es=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Hh=[Q("dns").code,Q("dns4").code,Q("dns6").code,Q("dnsaddr").code],ts=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},Kn=class e{bytes;#t;#r;#e;#a;[es]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Qi(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Tc(t)}else if(Uc(t))r=Qi(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#r=r.tuples,this.#e=r.stringTuples,this.#a=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,o,i="",s=Q("tcp"),a=Q("udp"),c=Q("ip4"),l=Q("ip6"),u=Q("dns6"),f=Q("ip6zone");for(let[b,T]of this.stringTuples())b===f.code&&(i=`%${T??""}`),Hh.includes(b)&&(r=s.name==="tcp"?"tcp":"udp",o=443,n=`${T??""}${i}`,t=b===u.code?6:4),(b===s.code||b===a.code)&&(r=Q(b).name==="tcp"?"tcp":"udp",o=parseInt(T??"")),(b===c.code||b===l.code)&&(r=Q(b).name==="tcp"?"tcp":"udp",n=`${T??""}${i}`,t=b===l.code?6:4);if(t==null||r==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:o}}protos(){return this.#r.map(([t])=>Object.assign({},Q(t)))}protoCodes(){return this.#r.map(([t])=>t)}protoNames(){return this.#r.map(([t])=>Q(t).name)}tuples(){return this.#r.map(([t,r])=>r==null?[t]:[t,r])}stringTuples(){return this.#e.map(([t,r])=>r==null?[t]:[t,r])}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,o))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Vn(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===mr.p2p.code&&t.push([n,o]),n===mr["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?G(et.decode(`z${n}`),"base58btc"):G(W.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(t){return ot(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(i=>i.resolvable);if(r==null)return[this];let n=Cc.get(r.name);if(n==null)throw new ts(`no available resolver for ${r.name}`);return(await n(this,t)).map(i=>ze(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[zh](){return`Multiaddr(${this.#t})`}};var Cc=new Map;function Uc(e){return!!e?.[es]}function ze(e){return new Kn(e)}function $r(e){let t=new globalThis.AbortController;function r(){t.abort();for(let i of e)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let i of e){if(i?.aborted===!0){r();break}i?.addEventListener!=null&&i.addEventListener("abort",r)}function n(){for(let i of e)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}let o=t.signal;return o.clear=n,o}async function*qn(e,t={}){let r=e.getReader();try{for(;;){let n=await r.read();if(n.done)return;yield n.value}}finally{t.preventCancel!==!0&&await r.cancel(),r.releaseLock()}}var Gh="/",jh=new TextEncoder().encode(Gh),lb=jh[0];var Bp=wo(ns(),1);var Wt=class extends Error{static name="SignatureVerificationError";constructor(t="Record signature verification failed"){super(t),this.name="SignatureVerificationError"}},$n=class extends Error{static name="RecordExpiredError";constructor(t="Record has expired"){super(t),this.name="RecordExpiredError"}},gr=class extends Error{static name="UnsupportedValidityError";constructor(t="The validity type is unsupported"){super(t),this.name="UnsupportedValidityError"}},zn=class extends Error{static name="RecordTooLargeError";constructor(t="The record is too large"){super(t),this.name="RecordTooLargeError"}},Hn=class extends Error{static name="InvalidValueError";constructor(t="Value must be a valid content path starting with /"){super(t),this.name="InvalidValueError"}},Gn=class extends Error{static name="InvalidRecordDataError";constructor(t="Invalid record data"){super(t),this.name="InvalidRecordDataError"}},zr=class extends Error{static name="InvalidEmbeddedPublicKeyError";constructor(t="Invalid embedded public key"){super(t),this.name="InvalidEmbeddedPublicKeyError"}};var Yt;(function(e){let t;(function(o){o.EOL="EOL"})(t=e.ValidityType||(e.ValidityType={}));let r;(function(o){o[o.EOL=0]="EOL"})(r||(r={})),function(o){o.codec=()=>Dr(r)}(t=e.ValidityType||(e.ValidityType={}));let n;e.codec=()=>(n==null&&(n=fr((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.value!=null&&(i.uint32(10),i.bytes(o.value)),o.signatureV1!=null&&(i.uint32(18),i.bytes(o.signatureV1)),o.validityType!=null&&(i.uint32(24),e.ValidityType.codec().encode(o.validityType,i)),o.validity!=null&&(i.uint32(34),i.bytes(o.validity)),o.sequence!=null&&(i.uint32(40),i.uint64(o.sequence)),o.ttl!=null&&(i.uint32(48),i.uint64(o.ttl)),o.pubKey!=null&&(i.uint32(58),i.bytes(o.pubKey)),o.signatureV2!=null&&(i.uint32(66),i.bytes(o.signatureV2)),o.data!=null&&(i.uint32(74),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i,s={})=>{let a={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let l=o.uint32();switch(l>>>3){case 1:{a.value=o.bytes();break}case 2:{a.signatureV1=o.bytes();break}case 3:{a.validityType=e.ValidityType.codec().decode(o);break}case 4:{a.validity=o.bytes();break}case 5:{a.sequence=o.uint64();break}case 6:{a.ttl=o.uint64();break}case 7:{a.pubKey=o.bytes();break}case 8:{a.signatureV2=o.bytes();break}case 9:{a.data=o.bytes();break}default:{o.skipType(l&7);break}}}return a})),n),e.encode=o=>cr(o,e.codec()),e.decode=(o,i)=>ar(o,e.codec(),i)})(Yt||(Yt={}));var Zh=["string","number","bigint","symbol"],Wh=["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 Nc(e){if(e===null)return"null";if(e===void 0)return"undefined";if(e===!0||e===!1)return"boolean";let t=typeof e;if(Zh.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(e))return"Array";if(Yh(e))return"Buffer";let r=Xh(e);return r||"Object"}function Yh(e){return e&&e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer.call(null,e)}function Xh(e){let t=Object.prototype.toString.call(e).slice(8,-1);if(Wh.includes(t))return t}var g=class{constructor(t,r,n){this.major=t,this.majorEncoded=t<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};g.uint=new g(0,"uint",!0);g.negint=new g(1,"negint",!0);g.bytes=new g(2,"bytes",!0);g.string=new g(3,"string",!0);g.array=new g(4,"array",!1);g.map=new g(5,"map",!1);g.tag=new g(6,"tag",!1);g.float=new g(7,"float",!0);g.false=new g(7,"false",!0);g.true=new g(7,"true",!0);g.null=new g(7,"null",!0);g.undefined=new g(7,"undefined",!0);g.break=new g(7,"break",!0);var L=class{constructor(t,r,n){this.type=t,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var yr=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Jh=new TextDecoder,Qh=new TextEncoder;function jn(e){return yr&&globalThis.Buffer.isBuffer(e)}function Lc(e){return e instanceof Uint8Array?jn(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e:Uint8Array.from(e)}var kc=yr?(e,t,r)=>r-t>64?globalThis.Buffer.from(e.subarray(t,r)).toString("utf8"):Rc(e,t,r):(e,t,r)=>r-t>64?Jh.decode(e.subarray(t,r)):Rc(e,t,r),Dc=yr?e=>e.length>64?globalThis.Buffer.from(e):Pc(e):e=>e.length>64?Qh.encode(e):Pc(e);var xr=yr?(e,t,r)=>jn(e)?new Uint8Array(e.subarray(t,r)):e.slice(t,r):(e,t,r)=>e.slice(t,r),Fc=yr?(e,t)=>(e=e.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Lc(globalThis.Buffer.concat(e,t))):(e,t)=>{let r=new Uint8Array(t),n=0;for(let o of e)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Oc=yr?e=>globalThis.Buffer.allocUnsafe(e):e=>new Uint8Array(e);function Mc(e,t){if(jn(e)&&jn(t))return e.compare(t);for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return 0}function Pc(e){let t=[],r=0;for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(e.charCodeAt(++n)&1023),t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128)}return t}function Rc(e,t,r){let n=[];for(;t<r;){let o=e[t],i=null,s=o>239?4:o>223?3:o>191?2:1;if(t+s<=r){let a,c,l,u;switch(s){case 1:o<128&&(i=o);break;case 2:a=e[t+1],(a&192)===128&&(u=(o&31)<<6|a&63,u>127&&(i=u));break;case 3:a=e[t+1],c=e[t+2],(a&192)===128&&(c&192)===128&&(u=(o&15)<<12|(a&63)<<6|c&63,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:a=e[t+1],c=e[t+2],l=e[t+3],(a&192)===128&&(c&192)===128&&(l&192)===128&&(u=(o&15)<<18|(a&63)<<12|(c&63)<<6|l&63,u>65535&&u<1114112&&(i=u))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),t+=s}return tp(n)}var _c=4096;function tp(e){let t=e.length;if(t<=_c)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=_c));return r}var ep=256,Zn=class{constructor(t=ep){this.chunkSize=t,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(t){let r=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(t,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(r=Oc(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=xr(n,0,this.cursor)}else r=Fc(this.chunks,this.cursor);return t&&this.reset(),r}};var V="CBOR decode error:",os="CBOR encode error:",Hr=[];Hr[23]=1;Hr[24]=2;Hr[25]=3;Hr[26]=5;Hr[27]=9;function ge(e,t,r){if(e.length-t<r)throw new Error(`${V} not enough data for type`)}var ht=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Lt(e,t,r){ge(e,t,1);let n=e[t];if(r.strict===!0&&n<ht[0])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function kt(e,t,r){ge(e,t,2);let n=e[t]<<8|e[t+1];if(r.strict===!0&&n<ht[1])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function Dt(e,t,r){ge(e,t,4);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];if(r.strict===!0&&n<ht[2])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function Ft(e,t,r){ge(e,t,8);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3],o=e[t+4]*16777216+(e[t+5]<<16)+(e[t+6]<<8)+e[t+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<ht[3])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${V} integers outside of the safe integer range are not supported`)}function Vc(e,t,r,n){return new L(g.uint,Lt(e,t+1,n),2)}function Kc(e,t,r,n){return new L(g.uint,kt(e,t+1,n),3)}function qc(e,t,r,n){return new L(g.uint,Dt(e,t+1,n),5)}function $c(e,t,r,n){return new L(g.uint,Ft(e,t+1,n),9)}function Mt(e,t){return gt(e,0,t.value)}function gt(e,t,r){if(r<ht[0]){let n=Number(r);e.push([t|n])}else if(r<ht[1]){let n=Number(r);e.push([t|24,n])}else if(r<ht[2]){let n=Number(r);e.push([t|25,n>>>8,n&255])}else if(r<ht[3]){let n=Number(r);e.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<ht[4]){let o=[t|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,e.push(o)}else throw new Error(`${V} encountered BigInt larger than allowable range`)}}Mt.encodedSize=function(t){return gt.encodedSize(t.value)};gt.encodedSize=function(t){return t<ht[0]?1:t<ht[1]?2:t<ht[2]?3:t<ht[3]?5:9};Mt.compareTokens=function(t,r){return t.value<r.value?-1:t.value>r.value?1:0};function zc(e,t,r,n){return new L(g.negint,-1-Lt(e,t+1,n),2)}function Hc(e,t,r,n){return new L(g.negint,-1-kt(e,t+1,n),3)}function Gc(e,t,r,n){return new L(g.negint,-1-Dt(e,t+1,n),5)}var is=BigInt(-1),jc=BigInt(1);function Zc(e,t,r,n){let o=Ft(e,t+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new L(g.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${V} integers outside of the safe integer range are not supported`);return new L(g.negint,is-BigInt(o),9)}function Wn(e,t){let r=t.value,n=typeof r=="bigint"?r*is-jc:r*-1-1;gt(e,t.type.majorEncoded,n)}Wn.encodedSize=function(t){let r=t.value,n=typeof r=="bigint"?r*is-jc:r*-1-1;return n<ht[0]?1:n<ht[1]?2:n<ht[2]?3:n<ht[3]?5:9};Wn.compareTokens=function(t,r){return t.value<r.value?1:t.value>r.value?-1:0};function Gr(e,t,r,n){ge(e,t,r+n);let o=xr(e,t+r,t+r+n);return new L(g.bytes,o,r+n)}function Wc(e,t,r,n){return Gr(e,t,1,r)}function Yc(e,t,r,n){return Gr(e,t,2,Lt(e,t+1,n))}function Xc(e,t,r,n){return Gr(e,t,3,kt(e,t+1,n))}function Jc(e,t,r,n){return Gr(e,t,5,Dt(e,t+1,n))}function Qc(e,t,r,n){let o=Ft(e,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer bytes lengths not supported`);return Gr(e,t,9,o)}function Yn(e){return e.encodedBytes===void 0&&(e.encodedBytes=e.type===g.string?Dc(e.value):e.value),e.encodedBytes}function wr(e,t){let r=Yn(t);gt(e,t.type.majorEncoded,r.length),e.push(r)}wr.encodedSize=function(t){let r=Yn(t);return gt.encodedSize(r.length)+r.length};wr.compareTokens=function(t,r){return np(Yn(t),Yn(r))};function np(e,t){return e.length<t.length?-1:e.length>t.length?1:Mc(e,t)}function jr(e,t,r,n,o){let i=r+n;ge(e,t,i);let s=new L(g.string,kc(e,t+r,t+i),i);return o.retainStringBytes===!0&&(s.byteValue=xr(e,t+r,t+i)),s}function tu(e,t,r,n){return jr(e,t,1,r,n)}function eu(e,t,r,n){return jr(e,t,2,Lt(e,t+1,n),n)}function ru(e,t,r,n){return jr(e,t,3,kt(e,t+1,n),n)}function nu(e,t,r,n){return jr(e,t,5,Dt(e,t+1,n),n)}function ou(e,t,r,n){let o=Ft(e,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer string lengths not supported`);return jr(e,t,9,o,n)}var iu=wr;function br(e,t,r,n){return new L(g.array,n,r)}function su(e,t,r,n){return br(e,t,1,r)}function au(e,t,r,n){return br(e,t,2,Lt(e,t+1,n))}function cu(e,t,r,n){return br(e,t,3,kt(e,t+1,n))}function uu(e,t,r,n){return br(e,t,5,Dt(e,t+1,n))}function fu(e,t,r,n){let o=Ft(e,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer array lengths not supported`);return br(e,t,9,o)}function lu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return br(e,t,1,1/0)}function Xn(e,t){gt(e,g.array.majorEncoded,t.value)}Xn.compareTokens=Mt.compareTokens;Xn.encodedSize=function(t){return gt.encodedSize(t.value)};function Er(e,t,r,n){return new L(g.map,n,r)}function du(e,t,r,n){return Er(e,t,1,r)}function hu(e,t,r,n){return Er(e,t,2,Lt(e,t+1,n))}function pu(e,t,r,n){return Er(e,t,3,kt(e,t+1,n))}function mu(e,t,r,n){return Er(e,t,5,Dt(e,t+1,n))}function gu(e,t,r,n){let o=Ft(e,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer map lengths not supported`);return Er(e,t,9,o)}function yu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return Er(e,t,1,1/0)}function Jn(e,t){gt(e,g.map.majorEncoded,t.value)}Jn.compareTokens=Mt.compareTokens;Jn.encodedSize=function(t){return gt.encodedSize(t.value)};function xu(e,t,r,n){return new L(g.tag,r,1)}function wu(e,t,r,n){return new L(g.tag,Lt(e,t+1,n),2)}function bu(e,t,r,n){return new L(g.tag,kt(e,t+1,n),3)}function Eu(e,t,r,n){return new L(g.tag,Dt(e,t+1,n),5)}function Su(e,t,r,n){return new L(g.tag,Ft(e,t+1,n),9)}function Qn(e,t){gt(e,g.tag.majorEncoded,t.value)}Qn.compareTokens=Mt.compareTokens;Qn.encodedSize=function(t){return gt.encodedSize(t.value)};var up=20,fp=21,lp=22,dp=23;function vu(e,t,r,n){if(n.allowUndefined===!1)throw new Error(`${V} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new L(g.null,null,1):new L(g.undefined,void 0,1)}function Au(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return new L(g.break,void 0,1)}function ss(e,t,r){if(r){if(r.allowNaN===!1&&Number.isNaN(e))throw new Error(`${V} NaN values are not supported`);if(r.allowInfinity===!1&&(e===1/0||e===-1/0))throw new Error(`${V} Infinity values are not supported`)}return new L(g.float,e,t)}function Iu(e,t,r,n){return ss(as(e,t+1),3,n)}function Tu(e,t,r,n){return ss(cs(e,t+1),5,n)}function Bu(e,t,r,n){return ss(Pu(e,t+1),9,n)}function to(e,t,r){let n=t.value;if(n===!1)e.push([g.float.majorEncoded|up]);else if(n===!0)e.push([g.float.majorEncoded|fp]);else if(n===null)e.push([g.float.majorEncoded|lp]);else if(n===void 0)e.push([g.float.majorEncoded|dp]);else{let o,i=!1;(!r||r.float64!==!0)&&(Uu(n),o=as(Xt,1),n===o||Number.isNaN(n)?(Xt[0]=249,e.push(Xt.slice(0,3)),i=!0):(Nu(n),o=cs(Xt,1),n===o&&(Xt[0]=250,e.push(Xt.slice(0,5)),i=!0))),i||(hp(n),o=Pu(Xt,1),Xt[0]=251,e.push(Xt.slice(0,9)))}}to.encodedSize=function(t,r){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){Uu(n);let o=as(Xt,1);if(n===o||Number.isNaN(n))return 3;if(Nu(n),o=cs(Xt,1),n===o)return 5}return 9};var Cu=new ArrayBuffer(9),Vt=new DataView(Cu,1),Xt=new Uint8Array(Cu,0);function Uu(e){if(e===1/0)Vt.setUint16(0,31744,!1);else if(e===-1/0)Vt.setUint16(0,64512,!1);else if(Number.isNaN(e))Vt.setUint16(0,32256,!1);else{Vt.setFloat32(0,e);let t=Vt.getUint32(0),r=(t&2139095040)>>23,n=t&8388607;if(r===255)Vt.setUint16(0,31744,!1);else if(r===0)Vt.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Vt.setUint16(0,0):o<-14?Vt.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):Vt.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function as(e,t){if(e.length-t<2)throw new Error(`${V} not enough data for float16`);let r=(e[t]<<8)+e[t+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function Nu(e){Vt.setFloat32(0,e,!1)}function cs(e,t){if(e.length-t<4)throw new Error(`${V} not enough data for float32`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,4).getFloat32(0,!1)}function hp(e){Vt.setFloat64(0,e,!1)}function Pu(e,t){if(e.length-t<8)throw new Error(`${V} not enough data for float64`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,8).getFloat64(0,!1)}to.compareTokens=Mt.compareTokens;function Z(e,t,r){throw new Error(`${V} encountered invalid minor (${r}) for major ${e[t]>>>5}`)}function eo(e){return()=>{throw new Error(`${V} ${e}`)}}var B=[];for(let e=0;e<=23;e++)B[e]=Z;B[24]=Vc;B[25]=Kc;B[26]=qc;B[27]=$c;B[28]=Z;B[29]=Z;B[30]=Z;B[31]=Z;for(let e=32;e<=55;e++)B[e]=Z;B[56]=zc;B[57]=Hc;B[58]=Gc;B[59]=Zc;B[60]=Z;B[61]=Z;B[62]=Z;B[63]=Z;for(let e=64;e<=87;e++)B[e]=Wc;B[88]=Yc;B[89]=Xc;B[90]=Jc;B[91]=Qc;B[92]=Z;B[93]=Z;B[94]=Z;B[95]=eo("indefinite length bytes/strings are not supported");for(let e=96;e<=119;e++)B[e]=tu;B[120]=eu;B[121]=ru;B[122]=nu;B[123]=ou;B[124]=Z;B[125]=Z;B[126]=Z;B[127]=eo("indefinite length bytes/strings are not supported");for(let e=128;e<=151;e++)B[e]=su;B[152]=au;B[153]=cu;B[154]=uu;B[155]=fu;B[156]=Z;B[157]=Z;B[158]=Z;B[159]=lu;for(let e=160;e<=183;e++)B[e]=du;B[184]=hu;B[185]=pu;B[186]=mu;B[187]=gu;B[188]=Z;B[189]=Z;B[190]=Z;B[191]=yu;for(let e=192;e<=215;e++)B[e]=xu;B[216]=wu;B[217]=bu;B[218]=Eu;B[219]=Su;B[220]=Z;B[221]=Z;B[222]=Z;B[223]=Z;for(let e=224;e<=243;e++)B[e]=eo("simple values are not supported");B[244]=Z;B[245]=Z;B[246]=Z;B[247]=vu;B[248]=eo("simple values are not supported");B[249]=Iu;B[250]=Tu;B[251]=Bu;B[252]=Z;B[253]=Z;B[254]=Z;B[255]=Au;var Jt=[];for(let e=0;e<24;e++)Jt[e]=new L(g.uint,e,1);for(let e=-1;e>=-24;e--)Jt[31-e]=new L(g.negint,e,1);Jt[64]=new L(g.bytes,new Uint8Array(0),1);Jt[96]=new L(g.string,"",1);Jt[128]=new L(g.array,0,1);Jt[160]=new L(g.map,0,1);Jt[244]=new L(g.false,!1,1);Jt[245]=new L(g.true,!0,1);Jt[246]=new L(g.null,null,1);function mp(){let e=[];return e[g.uint.major]=Mt,e[g.negint.major]=Wn,e[g.bytes.major]=wr,e[g.string.major]=iu,e[g.array.major]=Xn,e[g.map.major]=Jn,e[g.tag.major]=Qn,e[g.float.major]=to,e}var u1=mp(),f1=new Zn,ro=class e{constructor(t,r){this.obj=t,this.parent=r}includes(t){let r=this;do if(r.obj===t)return!0;while(r=r.parent);return!1}static createCheck(t,r){if(t&&t.includes(r))throw new Error(`${os} object contains circular references`);return new e(r,t)}},Pe={null:new L(g.null,null),undefined:new L(g.undefined,void 0),true:new L(g.true,!0),false:new L(g.false,!1),emptyArray:new L(g.array,0),emptyMap:new L(g.map,0)},Re={number(e,t,r,n){return!Number.isInteger(e)||!Number.isSafeInteger(e)?new L(g.float,e):e>=0?new L(g.uint,e):new L(g.negint,e)},bigint(e,t,r,n){return e>=BigInt(0)?new L(g.uint,e):new L(g.negint,e)},Uint8Array(e,t,r,n){return new L(g.bytes,e)},string(e,t,r,n){return new L(g.string,e)},boolean(e,t,r,n){return e?Pe.true:Pe.false},null(e,t,r,n){return Pe.null},undefined(e,t,r,n){return Pe.undefined},ArrayBuffer(e,t,r,n){return new L(g.bytes,new Uint8Array(e))},DataView(e,t,r,n){return new L(g.bytes,new Uint8Array(e.buffer,e.byteOffset,e.byteLength))},Array(e,t,r,n){if(!e.length)return r.addBreakTokens===!0?[Pe.emptyArray,new L(g.break)]:Pe.emptyArray;n=ro.createCheck(n,e);let o=[],i=0;for(let s of e)o[i++]=us(s,r,n);return r.addBreakTokens?[new L(g.array,e.length),o,new L(g.break)]:[new L(g.array,e.length),o]},Object(e,t,r,n){let o=t!=="Object",i=o?e.keys():Object.keys(e),s=o?e.size:i.length;if(!s)return r.addBreakTokens===!0?[Pe.emptyMap,new L(g.break)]:Pe.emptyMap;n=ro.createCheck(n,e);let a=[],c=0;for(let l of i)a[c++]=[us(l,r,n),us(o?e.get(l):e[l],r,n)];return gp(a,r),r.addBreakTokens?[new L(g.map,s),a,new L(g.break)]:[new L(g.map,s),a]}};Re.Map=Re.Object;Re.Buffer=Re.Uint8Array;for(let e of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Re[`${e}Array`]=Re.DataView;function us(e,t={},r){let n=Nc(e),o=t&&t.typeEncoders&&t.typeEncoders[n]||Re[n];if(typeof o=="function"){let s=o(e,n,t,r);if(s!=null)return s}let i=Re[n];if(!i)throw new Error(`${os} unsupported type: ${n}`);return i(e,n,t,r)}function gp(e,t){t.mapSorter&&e.sort(t.mapSorter)}var yp={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},no=class{constructor(t,r={}){this._pos=0,this.data=t,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],r=Jt[t];if(r===void 0){let n=B[t];if(!n)throw new Error(`${V} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},Zr=Symbol.for("DONE"),oo=Symbol.for("BREAK");function xp(e,t,r){let n=[];for(let o=0;o<e.value;o++){let i=Sr(t,r);if(i===oo){if(e.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed array`)}if(i===Zr)throw new Error(`${V} found array but not enough entries (got ${o}, expected ${e.value})`);n[o]=i}return n}function wp(e,t,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<e.value;s++){let a=Sr(t,r);if(a===oo){if(e.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed map`)}if(a===Zr)throw new Error(`${V} found map but not enough entries (got ${s} [no key], expected ${e.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${V} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${V} found repeat map key "${a}"`);let c=Sr(t,r);if(c===Zr)throw new Error(`${V} found map but not enough entries (got ${s} [no value], expected ${e.value})`);n?i.set(a,c):o[a]=c}return n?i:o}function Sr(e,t){if(e.done())return Zr;let r=e.next();if(r.type===g.break)return oo;if(r.type.terminal)return r.value;if(r.type===g.array)return xp(r,e,t);if(r.type===g.map)return wp(r,e,t);if(r.type===g.tag){if(t.tags&&typeof t.tags[r.value]=="function"){let n=Sr(e,t);return t.tags[r.value](n)}throw new Error(`${V} tag not supported (${r.value})`)}throw new Error("unsupported")}function Ru(e,t){if(!(e instanceof Uint8Array))throw new Error(`${V} data to decode must be a Uint8Array`);t=Object.assign({},yp,t);let r=t.tokenizer||new no(e,t),n=Sr(r,t);if(n===Zr)throw new Error(`${V} did not find any content to decode`);if(n===oo)throw new Error(`${V} got unexpected break`);return[n,e.subarray(r.pos())]}function fs(e,t){let[r,n]=Ru(e,t);if(n.length>0)throw new Error(`${V} too many terminals, data makes no sense`);return r}var Sp=we("ipns:utils"),_u=H("/ipns/");var vp=0,Ap=18;function Lu(e){let t;if(e.pubKey!=null)try{t=lc(e.pubKey)}catch(r){throw Sp.error(r),r}if(t!=null)return t}function ku(e){let t=H("ipns-signature:");return Et([t,e])}function Ge(e){return"signatureV1"in e?Yt.encode({value:H(e.value),signatureV1:e.signatureV1,validityType:e.validityType,validity:H(e.validity),sequence:e.sequence,ttl:e.ttl,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data}):Yt.encode({pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data})}function oe(e){let t=Yt.decode(e);if(t.sequence!=null&&(t.sequence=BigInt(t.sequence)),t.ttl!=null&&(t.ttl=BigInt(t.ttl)),t.signatureV2==null||t.data==null)throw new Wt("Missing data or signatureV2");let r=Du(t.data),n=Ip(r.Value),o=G(r.Validity);if(t.value!=null&&t.signatureV1!=null)return Tp(t),{value:n,validityType:Yt.ValidityType.EOL,validity:o,sequence:r.Sequence,ttl:r.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:Yt.ValidityType.EOL,validity:o,sequence:r.Sequence,ttl:r.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}function Wr(e){return Et([_u,e.bytes])}function ye(e){let t=ce(e.slice(_u.length));if(!io(t,vp)&&!io(t,Ap))throw new Ze("Multihash in IPNS key was not identity or sha2-256");return t}function Du(e){let t=fs(e);if(t.ValidityType===0)t.ValidityType=Yt.ValidityType.EOL;else throw new gr("The validity type is unsupported");return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t}function Ip(e){let t=G(e).trim();if(t.startsWith("/"))return t;try{return`/ipfs/${W.decode(e).toV1().toString()}`}catch{}try{return`/ipfs/${W.parse(t).toV1().toString()}`}catch{}throw new Hn("Value must be a valid content path starting with /")}function Tp(e){if(e.data==null)throw new Gn("Record data is missing");let t=Du(e.data);if(!ot(t.Value,e.value??new Uint8Array(0)))throw new Wt('Field "value" did not match between protobuf and CBOR');if(!ot(t.Validity,e.validity??new Uint8Array(0)))throw new Wt('Field "validity" did not match between protobuf and CBOR');if(t.ValidityType!==e.validityType)throw new Wt('Field "validityType" did not match between protobuf and CBOR');if(t.Sequence!==e.sequence)throw new Wt('Field "sequence" did not match between protobuf and CBOR');if(t.TTL!==e.ttl)throw new Wt('Field "ttl" did not match between protobuf and CBOR')}function io(e,t){return e.code===t}var L1=we("ipns"),k1=60*60*1e9,Cp="/ipns/",D1=Cp.length;var Fu=wo(ns(),1);var so=we("ipns:validator"),Up=1024*10,Np=async(e,t)=>{let r=oe(t),n;try{let o=ku(r.data);n=await e.verify(o,r.signatureV2)}catch{n=!1}if(!n)throw so.error("record signature verification failed"),new Wt("Record signature verification failed");if(r.validityType===Yt.ValidityType.EOL){if(Fu.default.fromString(r.validity).toDate().getTime()<Date.now())throw so.error("record has expired"),new $n("record has expired")}else if(r.validityType!=null)throw so.error("the validity type is unsupported"),new gr("The validity type is unsupported");so("ipns record for %s is valid",r.value)};async function Ou(e,t){if(t.byteLength>Up)throw new zn("The record is too large");let r=ye(e),n;io(r,0)&&(n=Rn(r));let o=oe(t),i=Lu(o)??n;if(i==null)throw new zr("Could not extract public key from IPNS record or routing key");let s=Wr(i.toMultihash());if(!ot(s,e))throw new zr("Embedded public key did not match routing key");await Np(i,t)}var ao=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MESSAGE_LENGTH"};async function*Yr(e,t={}){let r=/\r?\n/,n=new TextDecoder("utf8"),o="";for await(let i of e){if(typeof i=="string"&&(i=new TextEncoder().encode(i)),dr(i)&&(i=i.subarray()),o+=n.decode(i,{stream:!0}),o.length>(t?.maxMessageLength??o.length))throw new ao("Incoming message too long");let s=o.split(r);o=s.pop()??"";for(let a=0;a<s.length;a++)yield JSON.parse(s[a])}o+=n.decode(),o!==""&&(yield JSON.parse(o))}function ie(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var ds=wo(Vu(),1);var Jr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},hs=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Ku=e=>globalThis.DOMException===void 0?new hs(e):new DOMException(e),qu=e=>{let t=e.reason===void 0?Ku("This operation was aborted."):e.reason;return t instanceof Error?t:Ku(t)};function ps(e,t){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=t,s,a,l=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(t.signal){let{signal:b}=t;b.aborted&&f(qu(b)),a=()=>{f(qu(b))},b.addEventListener("abort",a,{once:!0})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let d=new Jr;s=i.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(b){f(b)}return}typeof e.cancel=="function"&&e.cancel(),o===!1?u():o instanceof Error?f(o):(d.message=o??`Promise timed out after ${r} milliseconds`,f(d))},r),(async()=>{try{u(await e)}catch(b){f(b)}})()}).finally(()=>{l.clear(),a&&t.signal&&t.signal.removeEventListener("abort",a)});return l.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},l}function ms(e,t,r){let n=0,o=e.length;for(;o>0;){let i=Math.trunc(o/2),s=n+i;r(e[s],t)<=0?(n=++s,o-=i+1):o=i}return n}var Qr=class{#t=[];enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,id:r.id,run:t};if(this.size===0||this.#t[this.size-1].priority>=r.priority){this.#t.push(n);return}let o=ms(this.#t,n,(i,s)=>s.priority-i.priority);this.#t.splice(o,0,n)}setPriority(t,r){let n=this.#t.findIndex(i=>i.id===t);if(n===-1)throw new ReferenceError(`No promise function with the id "${t}" exists in the queue.`);let[o]=this.#t.splice(n,1);this.enqueue(o.run,{priority:r,id:t})}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this.#t.length}};var tn=class extends ds.default{#t;#r;#e=0;#a;#c;#p=0;#o;#u;#n;#m;#i=0;#f;#s;#g;#w=1n;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Qr,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#r=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#a=t.intervalCap,this.#c=t.interval,this.#n=new t.queueClass,this.#m=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#g=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#b(){return this.#r||this.#e<this.#a}get#E(){return this.#i<this.#f}#S(){this.#i--,this.#l(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#A(){let t=Date.now();if(this.#o===void 0){let r=this.#p-t;if(r<0)this.#e=this.#t?this.#i:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#l(){if(this.#n.size===0)return this.#o&&clearInterval(this.#o),this.#o=void 0,this.emit("empty"),this.#i===0&&this.emit("idle"),!1;if(!this.#s){let t=!this.#A;if(this.#b&&this.#E){let r=this.#n.dequeue();return r?(this.emit("active"),r(),t&&this.#y(),!0):!1}}return!1}#y(){this.#r||this.#o!==void 0||(this.#o=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#e===0&&this.#i===0&&this.#o&&(clearInterval(this.#o),this.#o=void 0),this.#e=this.#t?this.#i:0,this.#d()}#d(){for(;this.#l(););}get concurrency(){return this.#f}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#f=t,this.#d()}async#I(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}setPriority(t,r){this.#n.setPriority(t,r)}async add(t,r={}){return r.id??=(this.#w++).toString(),r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,o)=>{this.#n.enqueue(async()=>{this.#i++,this.#e++;try{r.signal?.throwIfAborted();let i=t({signal:r.signal});r.timeout&&(i=ps(Promise.resolve(i),{milliseconds:r.timeout})),r.signal&&(i=Promise.race([i,this.#I(r.signal)]));let s=await i;n(s),this.emit("completed",s)}catch(i){if(i instanceof Jr&&!r.throwOnTimeout){n();return}o(i),this.emit("error",i)}finally{this.#S()}},r),this.emit("add"),this.#l()})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return this.#s?(this.#s=!1,this.#d(),this):this}pause(){this.#s=!0}clear(){this.#n=new this.#m}async onEmpty(){this.#n.size!==0&&await this.#h("empty")}async onSizeLessThan(t){this.#n.size<t||await this.#h("next",()=>this.#n.size<t)}async onIdle(){this.#i===0&&this.#n.size===0||await this.#h("idle")}async#h(t,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(t,o),n())};this.on(t,o)})}get size(){return this.#n.size}sizeBy(t){return this.#n.filter(t).length}get pending(){return this.#i}get isPaused(){return this.#s}};var vr=class extends Error{static name="InvalidRequestError";constructor(t="Invalid request"){super(t),this.name="InvalidRequestError"}},Qt=class extends Error{static name="BadResponseError";constructor(t="Bad response"){super(t),this.name="BadResponseError"}};function _p(e){return e[Symbol.asyncIterator]!=null}function Lp(e){if(_p(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var uo=Lp;function kp(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[r](){return this}}}var $u=kp;function Dp(e){return e[Symbol.asyncIterator]!=null}function Fp(e,t){let r=0;if(Dp(e))return async function*(){for await(let c of e)yield t(c,r++)}();let n=$u(e),{value:o,done:i}=n.next();if(i===!0)return function*(){}();let s=t(o,r++);if(typeof s.then=="function")return async function*(){yield await s;for await(let c of n)yield t(c,r++)}();let a=t;return function*(){yield s;for(let c of n)yield a(c,r++)}()}var fo=Fp;var zu=H("/ipns/");function Hu(e){return ot(e.subarray(0,zu.byteLength),zu)}var lo=class{client;constructor(t){this.client=t}async*findProviders(t,r={}){yield*fo(this.client.getProviders(t,r),n=>({id:n.ID,multiaddrs:n.Addrs??[]}))}async provide(){}async cancelReprovide(){}async put(t,r,n){if(!Hu(t))return;let o=ye(t),i=W.createV1(114,o),s=oe(r);await this.client.putIPNS(i,s,n)}async get(t,r){if(!Hu(t))throw new Bt("Not found");let n=ye(t),o=W.createV1(114,n);try{let i=await this.client.getIPNS(o,r);return Ge(i)}catch(i){throw i.name==="BadResponseError"?new Bt("Not found"):i}}},ho=class{client;constructor(t){this.client=t}async findPeer(t,r={}){let n=await uo(this.client.getPeers(t,r));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new Bt("Not found")}async*getClosestPeers(t,r={}){}};var pt=we("delegated-routing-v1-http-api-client"),po={concurrentRequests:4,timeout:3e4,cacheTTL:5*60*1e3,cacheName:"delegated-routing-v1-cache"},mo=class{started;httpQueue;shutDownController;clientUrl;timeout;contentRouting;peerRouting;filterAddrs;filterProtocols;inFlightRequests;cacheName;cache;cacheTTL;constructor(t,r={}){this.started=!1,this.shutDownController=new AbortController,this.shutDownController.signal,this.httpQueue=new tn({concurrency:r.concurrentRequests??po.concurrentRequests}),this.inFlightRequests=new Map,this.clientUrl=t instanceof URL?t:new URL(t),this.timeout=r.timeout??po.timeout,this.filterAddrs=r.filterAddrs,this.filterProtocols=r.filterProtocols,this.contentRouting=new lo(this),this.peerRouting=new ho(this),this.cacheName=r.cacheName??po.cacheName,this.cacheTTL=r.cacheTTL??po.cacheTTL}get[ks](){return this.contentRouting}get[Ds](){return this.peerRouting}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cacheTTL>0&&(this.cache=await globalThis.caches?.open(this.cacheName),this.cache!=null&&pt("cache enabled with ttl %d",this.cacheTTL)))}async stop(){this.httpQueue.clear(),this.shutDownController.abort(),await globalThis.caches?.delete(this.cacheName),this.started=!1}async*getProviders(t,r={}){pt("getProviders starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=$r([this.shutDownController.signal,n,r.signal]);let i=ie(),s=ie();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let a=new URL(`${this.clientUrl}routing/v1/providers/${t.toString()}`);this.#r(a,r.filterAddrs,r.filterProtocols);let c={headers:{Accept:"application/x-ndjson"},signal:o},l=await this.#e(a.toString(),c);if(l==null)throw new Qt("No response received");if(!l.ok)throw l.status===404?new Bt("No matching records found"):l.status===422?new vr("Request does not conform to schema or semantic constraints"):new Qt(`Unexpected status code: ${l.status}`);if(l.body==null)throw new Qt("Routing response had no body");let u=l.headers.get("Content-Type");if(u==null)throw new Qt("No Content-Type header received");if(u?.startsWith("application/json")){let f=await l.json();for(let d of f.Providers){let b=this.#t(d);b!=null&&(yield b)}}else if(u.includes("application/x-ndjson"))for await(let f of Yr(qn(l.body))){let d=this.#t(f);d!=null&&(yield d)}else throw new Qt(`Unsupported Content-Type: ${u}`)}catch(a){pt.error("getProviders errored:",a)}finally{o.clear(),s.resolve(),pt("getProviders finished: %c",t)}}async*getPeers(t,r={}){pt("getPeers starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=$r([this.shutDownController.signal,n,r.signal]);let i=ie(),s=ie();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let a=new URL(`${this.clientUrl}routing/v1/peers/${t.toCID().toString()}`);this.#r(a,r.filterAddrs,r.filterProtocols);let c={headers:{Accept:"application/x-ndjson"},signal:o},l=await this.#e(a.toString(),c);if(l.status===404)throw new Bt("No matching records found");if(l.status===422)throw new vr("Request does not conform to schema or semantic constraints");if(l.body==null)throw new Qt("Routing response had no body");if(l.headers.get("Content-Type")==="application/json"){let f=await l.json();for(let d of f.Peers){let b=this.#t(d);b!=null&&(yield b)}}else for await(let f of Yr(qn(l.body))){let d=this.#t(f);d!=null&&(yield d)}}catch(a){pt.error("getPeers errored:",a)}finally{o.clear(),s.resolve(),pt("getPeers finished: %c",t)}}async getIPNS(t,r={}){pt("getIPNS starts: %s",t);let n=AbortSignal.timeout(this.timeout),o=$r([this.shutDownController.signal,n,r.signal]);let i=ie(),s=ie();this.httpQueue.add(async()=>(i.resolve(),s.promise));let a=`${this.clientUrl}routing/v1/ipns/${t}`;try{await i.promise;let c={headers:{Accept:"application/vnd.ipfs.ipns-record"},signal:o},l=await this.#e(a,c);if(pt("getIPNS GET %s %d",a,l.status),l.status===404)throw new Bt("No matching records found");if(l.status===422)throw new vr("Request does not conform to schema or semantic constraints");if(l.body==null)throw new Qt("GET ipns response had no body");let u=await l.arrayBuffer(),f=new Uint8Array(u,0,u.byteLength);return r.validate!==!1&&await Ou(Wr(t.multihash),f),oe(f)}catch(c){throw pt.error("getIPNS GET %s error:",a,c),c}finally{o.clear(),s.resolve(),pt("getIPNS finished: %s",t)}}async putIPNS(t,r,n={}){pt("putIPNS starts: %c",t);let o=AbortSignal.timeout(this.timeout),i=$r([this.shutDownController.signal,o,n.signal]);let s=ie(),a=ie();this.httpQueue.add(async()=>(s.resolve(),a.promise));let c=`${this.clientUrl}routing/v1/ipns/${t}`;try{await s.promise;let l=Ge(r),u={method:"PUT",headers:{"Content-Type":"application/vnd.ipfs.ipns-record"},body:l,signal:i},f=await this.#e(c,u);if(pt("putIPNS PUT %s %d",c,f.status),f.status!==200)throw new Qt("PUT ipns response had status other than 200")}catch(l){throw pt.error("putIPNS PUT %s error:",c,l.stack),l}finally{i.clear(),a.resolve(),pt("putIPNS finished: %c",t)}}#t(t){try{let r=[],n=t.Addrs?.map(ze)??[];return t.Protocols!=null&&r.push(...t.Protocols),t.Protocol!=null&&(r.push(t.Protocol),delete t.Protocol),{...t,Schema:"peer",ID:pc(t.ID),Addrs:n,Protocols:r}}catch(r){pt.error("could not conform record to peer schema",r)}}#r(t,r,n){if(r!=null||this.filterAddrs!=null){let o=r?.join(",")??this.filterAddrs?.join(",")??"";o!==""&&t.searchParams.set("filter-addrs",o)}if(n!=null||this.filterProtocols!=null){let o=n?.join(",")??this.filterProtocols?.join(",")??"";o!==""&&t.searchParams.set("filter-protocols",o)}}async#e(t,r){let n=r.method??"GET",o=`${n}-${t}`;if(n==="GET"){let c=await this.cache?.match(t);if(c!=null){if(parseInt(c.headers.get("x-cache-expires")??"0",10)>Date.now())return pt("returning cached response for %s",o),c;await this.cache?.delete(t)}}let i=this.inFlightRequests.get(o);if(i!=null){let c=await i;return pt("deduplicating outgoing request for %s",o),c.clone()}let s=fetch(t,r).then(async c=>{if(this.cache!=null&&c.ok&&n==="GET"){let l=Date.now()+this.cacheTTL,u=new Headers(c.headers);u.set("x-cache-expires",l.toString());let f=new Response(c.clone().body,{status:c.status,statusText:c.statusText,headers:u});await this.cache.put(t,f)}return c}).finally(()=>{this.inFlightRequests.delete(o)});return this.inFlightRequests.set(o,s),await s}};function Gu(e,t={}){return new mo(new URL(e),t)}function go(){return{filterProtocols:["unknown","transport-bitswap","transport-ipfs-gateway-http"],filterAddrs:["https","webtransport","webrtc","webrtc-direct","wss","tls"]}}var ju=H("/ipns/");function Zu(e){return ot(e.subarray(0,ju.byteLength),ju)}var gs=class{client;constructor(t,r={}){this.client=Gu(t,r)}async provide(t,r){}async cancelReprovide(t,r){}async*findProviders(t,r){yield*fo(this.client.getProviders(t,r),n=>({id:n.ID,multiaddrs:n.Addrs,protocols:n.Protocols}))}async put(t,r,n){if(!Zu(t))return;let o=ye(t),i=W.createV1(114,o),s=oe(r);await this.client.putIPNS(i,s,n)}async get(t,r){if(!Zu(t))throw new Bt("Not found");let n=ye(t),o=W.createV1(114,n);try{let i=await this.client.getIPNS(o,r);return Ge(i)}catch(i){throw i.name==="BadResponseError"?new Bt("Not found"):i}}async findPeer(t,r){let n=await uo(this.client.getPeers(t,r));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new Bt("Not found")}async*getClosestPeers(t,r){}};function Wu(e,t){let r=t??go();return new gs(new URL(e),r)}var Yu="[a-fA-F\\d:]",_e=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${Yu})|(?<=${Yu})(?=\\s|$))`:"",te="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",at="[a-fA-F\\d]{1,4}",yo=`
8
4
  (?:
9
- (?:${ut}:){7}(?:${ut}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
10
- (?:${ut}:){6}(?:${ae}|:${ut}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
11
- (?:${ut}:){5}(?::${ae}|(?::${ut}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
12
- (?:${ut}:){4}(?:(?::${ut}){0,1}:${ae}|(?::${ut}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
13
- (?:${ut}:){3}(?:(?::${ut}){0,2}:${ae}|(?::${ut}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
14
- (?:${ut}:){2}(?:(?::${ut}){0,3}:${ae}|(?::${ut}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
15
- (?:${ut}:){1}(?:(?::${ut}){0,4}:${ae}|(?::${ut}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
16
- (?::(?:(?::${ut}){0,5}:${ae}|(?::${ut}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
5
+ (?:${at}:){7}(?:${at}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
6
+ (?:${at}:){6}(?:${te}|:${at}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
7
+ (?:${at}:){5}(?::${te}|(?::${at}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
8
+ (?:${at}:){4}(?:(?::${at}){0,1}:${te}|(?::${at}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
9
+ (?:${at}:){3}(?:(?::${at}){0,2}:${te}|(?::${at}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
10
+ (?:${at}:){2}(?:(?::${at}){0,3}:${te}|(?::${at}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
11
+ (?:${at}:){1}(?:(?::${at}){0,4}:${te}|(?::${at}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
12
+ (?::(?:(?::${at}){0,5}:${te}|(?::${at}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
17
13
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
18
- `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Zg=new RegExp(`(?:^${ae}$)|(?:^${Pi}$)`),Wg=new RegExp(`^${ae}$`),Yg=new RegExp(`^${Pi}$`),Da=r=>r&&r.exact?Zg:new RegExp(`(?:${Je(r)}${ae}${Je(r)})|(?:${Je(r)}${Pi}${Je(r)})`,"g");Da.v4=r=>r&&r.exact?Wg:new RegExp(`${Je(r)}${ae}${Je(r)}`,"g");Da.v6=r=>r&&r.exact?Yg:new RegExp(`${Je(r)}${Pi}${Je(r)}`,"g");var Oa=Da;function Ma(r){let t=(...e)=>r(...e);return Object.defineProperty(t,"name",{value:`functionTimeout(${r.name||"<anonymous>"})`,configurable:!0}),t}function oh(){return!1}var{toString:Jg}=Object.prototype;function Ha(r){return Jg.call(r)==="[object RegExp]"}var ih={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"};function $a(r,t={}){if(!Ha(r))throw new TypeError("Expected a RegExp instance");let e=Object.keys(ih).map(o=>(typeof t[o]=="boolean"?t[o]:r[o])?ih[o]:"").join(""),n=new RegExp(t.source||r.source,e);return n.lastIndex=typeof t.lastIndex=="number"?t.lastIndex:r.lastIndex,n}function Ka(r,t,{timeout:e}={}){try{return Ma(()=>$a(r).test(t),{timeout:e})()}catch(n){if(oh(n))return!1;throw n}}var Xg=15,Qg=45,sh={timeout:400};function qa(r){return r.length>Qg?!1:Ka(Oa.v6({exact:!0}),r,sh)}function ah(r){return r.length>Xg?!1:Ka(Oa.v4({exact:!0}),r,sh)}var ch={http:"80",https:"443",ws:"80",wss:"443"},tm=["http","https","ws","wss"];function uh(r,t){t=t??{};let e=t.defaultDnsType??"dns4",{scheme:n,hostname:o,port:i}=em(r),a="/"+[rm(o,e),nm(i,n),om(n)].filter(c=>!!c).reduce((c,f)=>c.concat(f),[]).join("/");return ur(a)}function em(r){let[t]=r.split(":");tm.includes(t)||(r="http"+r.substring(t.length));let{protocol:e,hostname:n,port:o}=new URL(r);if(o==null||o===""){let i=im(t);i!=null&&(o=i),i==null&&e==="http:"&&(o="80")}return{scheme:t,hostname:n,port:o}}function rm(r,t){if(!(r==null||r==="")){if(ah(r))return["ip4",r];if(qa(r))return["ip6",r];if(r[0]==="["){let e=r.substring(1,r.length-1);if(qa(e))return["ip6",e]}return[t,r]}}function nm(r,t){if(!(r==null||r===""))return t==="udp"?["udp",r]:["tcp",r]}function om(r){if(r.match(/^tcp$|^udp$/)==null)return[r]}function im(r){if(!(r==null||r===""||ch[r]==null))return ch[r]}var sm=["https://trustless-gateway.link","https://4everland.io"],am=2336;function cm(r){return r=r.toString(),{id:wl(X.createV1(am,Yt.digest(j(r)))),multiaddrs:[uh(r)]}}var za=class{gateways;constructor(t={}){this.gateways=(t.gateways??sm).map(e=>cm(e))}async*findProviders(t,e){yield*this.gateways.toSorted(()=>Math.random()>.5?1:-1).map(n=>({...n,protocols:["transport-ipfs-gateway-http"]}))}};function lh(r={}){return new za(r)}var ja=class{libp2p;constructor(t){this.libp2p=t}async provide(t,e){await this.libp2p.contentRouting.provide(t,e)}async cancelReprovide(t,e){await this.libp2p.contentRouting.cancelReprovide(t,e)}async*findProviders(t,e){yield*this.libp2p.contentRouting.findProviders(t,e)}async put(t,e,n){await this.libp2p.contentRouting.put(t,e,n)}async get(t,e){return this.libp2p.contentRouting.get(t,e)}async findPeer(t,e){return this.libp2p.peerRouting.findPeer(t,e)}async*getClosestPeers(t,e){yield*this.libp2p.peerRouting.getClosestPeers(t,e)}};function fh(r){return new ja(r)}return Sh(um);})();
14
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Op=new RegExp(`(?:^${te}$)|(?:^${yo}$)`),Mp=new RegExp(`^${te}$`),Vp=new RegExp(`^${yo}$`),ys=e=>e&&e.exact?Op:new RegExp(`(?:${_e(e)}${te}${_e(e)})|(?:${_e(e)}${yo}${_e(e)})`,"g");ys.v4=e=>e&&e.exact?Mp:new RegExp(`${_e(e)}${te}${_e(e)}`,"g");ys.v6=e=>e&&e.exact?Vp:new RegExp(`${_e(e)}${yo}${_e(e)}`,"g");var xs=ys;function ws(e){let t=(...r)=>e(...r);return Object.defineProperty(t,"name",{value:`functionTimeout(${e.name||"<anonymous>"})`,configurable:!0}),t}function Xu(){return!1}var{toString:Kp}=Object.prototype;function bs(e){return Kp.call(e)==="[object RegExp]"}var Ju={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"};function Es(e,t={}){if(!bs(e))throw new TypeError("Expected a RegExp instance");let r=Object.keys(Ju).map(o=>(typeof t[o]=="boolean"?t[o]:e[o])?Ju[o]:"").join(""),n=new RegExp(t.source||e.source,r);return n.lastIndex=typeof t.lastIndex=="number"?t.lastIndex:e.lastIndex,n}function Ss(e,t,{timeout:r}={}){try{return ws(()=>Es(e).test(t),{timeout:r})()}catch(n){if(Xu(n))return!1;throw n}}var qp=15,$p=45,Qu={timeout:400};function vs(e){return e.length>$p?!1:Ss(xs.v6({exact:!0}),e,Qu)}function tf(e){return e.length>qp?!1:Ss(xs.v4({exact:!0}),e,Qu)}var ef={http:"80",https:"443",ws:"80",wss:"443"},zp=["http","https","ws","wss"];function rf(e,t){t=t??{};let r=t.defaultDnsType??"dns4",{scheme:n,hostname:o,port:i}=Hp(e),a="/"+[Gp(o,r),jp(i,n),Zp(n)].filter(c=>!!c).reduce((c,l)=>c.concat(l),[]).join("/");return ze(a)}function Hp(e){let[t]=e.split(":");zp.includes(t)||(e="http"+e.substring(t.length));let{protocol:r,hostname:n,port:o}=new URL(e);if(o==null||o===""){let i=Wp(t);i!=null&&(o=i),i==null&&r==="http:"&&(o="80")}return{scheme:t,hostname:n,port:o}}function Gp(e,t){if(!(e==null||e==="")){if(tf(e))return["ip4",e];if(vs(e))return["ip6",e];if(e[0]==="["){let r=e.substring(1,e.length-1);if(vs(r))return["ip6",r]}return[t,e]}}function jp(e,t){if(!(e==null||e===""))return t==="udp"?["udp",e]:["tcp",e]}function Zp(e){if(e.match(/^tcp$|^udp$/)==null)return[e]}function Wp(e){if(!(e==null||e===""||ef[e]==null))return ef[e]}var Yp=["https://trustless-gateway.link","https://4everland.io"],Xp=2336;function Jp(e){return e=e.toString(),{id:Ki(W.createV1(Xp,$t.digest(H(e)))),multiaddrs:[rf(e)]}}var As=class{gateways;constructor(t={}){this.gateways=(t.gateways??Yp).map(r=>Jp(r))}async*findProviders(t,r){yield*this.gateways.toSorted(()=>Math.random()>.5?1:-1).map(n=>({...n,protocols:["transport-ipfs-gateway-http"]}))}};function nf(e={}){return new As(e)}var Is=class{libp2p;constructor(t){this.libp2p=t}async provide(t,r){await this.libp2p.contentRouting.provide(t,r)}async cancelReprovide(t,r){await this.libp2p.contentRouting.cancelReprovide(t,r)}async*findProviders(t,r){yield*this.libp2p.contentRouting.findProviders(t,r)}async put(t,r,n){await this.libp2p.contentRouting.put(t,r,n)}async get(t,r){return this.libp2p.contentRouting.get(t,r)}async findPeer(t,r){return this.libp2p.peerRouting.findPeer(t,r)}async*getClosestPeers(t,r){yield*this.libp2p.peerRouting.getClosestPeers(t,r)}};function of(e){return new Is(e)}return wf(Qp);})();
19
15
  /*! Bundled license information:
20
16
 
21
- pvtsutils/build/index.js:
22
- (*!
23
- * MIT License
24
- *
25
- * Copyright (c) 2017-2024 Peculiar Ventures, LLC
26
- *
27
- * Permission is hereby granted, free of charge, to any person obtaining a copy
28
- * of this software and associated documentation files (the "Software"), to deal
29
- * in the Software without restriction, including without limitation the rights
30
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
31
- * copies of the Software, and to permit persons to whom the Software is
32
- * furnished to do so, subject to the following conditions:
33
- *
34
- * The above copyright notice and this permission notice shall be included in all
35
- * copies or substantial portions of the Software.
36
- *
37
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
38
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
39
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
40
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
41
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
42
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
43
- * SOFTWARE.
44
- *
45
- *)
46
-
47
17
  @noble/hashes/esm/utils.js:
48
18
  (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
49
19
 
@@ -62,46 +32,6 @@ pvtsutils/build/index.js:
62
32
  @noble/curves/esm/ed25519.js:
63
33
  (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
64
34
 
65
- pvutils/build/utils.es.js:
66
- (*!
67
- Copyright (c) Peculiar Ventures, LLC
68
- *)
69
-
70
- asn1js/build/index.es.js:
71
- (*!
72
- * Copyright (c) 2014, GMO GlobalSign
73
- * Copyright (c) 2015-2022, Peculiar Ventures
74
- * All rights reserved.
75
- *
76
- * Author 2014-2019, Yury Strozhevsky
77
- *
78
- * Redistribution and use in source and binary forms, with or without modification,
79
- * are permitted provided that the following conditions are met:
80
- *
81
- * * Redistributions of source code must retain the above copyright notice, this
82
- * list of conditions and the following disclaimer.
83
- *
84
- * * Redistributions in binary form must reproduce the above copyright notice, this
85
- * list of conditions and the following disclaimer in the documentation and/or
86
- * other materials provided with the distribution.
87
- *
88
- * * Neither the name of the copyright holder nor the names of its
89
- * contributors may be used to endorse or promote products derived from
90
- * this software without specific prior written permission.
91
- *
92
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
93
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
94
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
95
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
96
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
97
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
98
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
99
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
100
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
101
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
102
- *
103
- *)
104
-
105
35
  @noble/curves/esm/abstract/weierstrass.js:
106
36
  (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
107
37
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helia/routers",
3
- "version": "3.0.0-deb9165",
3
+ "version": "3.0.0-e6339ed",
4
4
  "description": "Routers for Helia",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/ipfs/helia/tree/main/packages/routers#readme",
@@ -55,7 +55,7 @@
55
55
  },
56
56
  "dependencies": {
57
57
  "@helia/delegated-routing-v1-http-api-client": "^4.2.1",
58
- "@helia/interface": "5.2.0-deb9165",
58
+ "@helia/interface": "5.2.0-e6339ed",
59
59
  "@libp2p/interface": "^2.2.1",
60
60
  "@libp2p/peer-id": "^5.0.8",
61
61
  "@multiformats/uri-to-multiaddr": "^8.0.0",
@@ -67,7 +67,7 @@
67
67
  },
68
68
  "devDependencies": {
69
69
  "@libp2p/crypto": "^5.0.7",
70
- "aegir": "^45.0.6",
70
+ "aegir": "^45.1.1",
71
71
  "it-all": "^3.0.6",
72
72
  "it-drain": "^3.0.7",
73
73
  "sinon-ts": "^2.0.0"