@helia/ipns 4.0.0-a0692f9 → 4.0.0-ece384a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +73 -26
- package/package.json +2 -2
package/dist/index.min.js
CHANGED
|
@@ -1,32 +1,39 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaIpns = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var HeliaIpns=(()=>{var w7=Object.create;var Ls=Object.defineProperty;var v7=Object.getOwnPropertyDescriptor;var E7=Object.getOwnPropertyNames;var S7=Object.getPrototypeOf,A7=Object.prototype.hasOwnProperty;var re=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Q=(t,e)=>{for(var r in e)Ls(t,r,{get:e[r],enumerable:!0})},r3=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of E7(e))!A7.call(t,i)&&i!==r&&Ls(t,i,{get:()=>e[i],enumerable:!(n=v7(e,i))||n.enumerable});return t};var ce=(t,e,r)=>(r=t!=null?w7(S7(t)):{},r3(e||!t||!t.__esModule?Ls(r,"default",{value:t,enumerable:!0}):r,t)),I7=t=>r3(Ls({},"__esModule",{value:!0}),t);var o1=re((IC,u3)=>{var ui=1e3,fi=ui*60,li=fi*60,Un=li*24,C7=Un*7,T7=Un*365.25;u3.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return B7(t);if(r==="number"&&isFinite(t))return e.long?_7(t):R7(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function B7(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*T7;case"weeks":case"week":case"w":return r*C7;case"days":case"day":case"d":return r*Un;case"hours":case"hour":case"hrs":case"hr":case"h":return r*li;case"minutes":case"minute":case"mins":case"min":case"m":return r*fi;case"seconds":case"second":case"secs":case"sec":case"s":return r*ui;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function R7(t){var e=Math.abs(t);return e>=Un?Math.round(t/Un)+"d":e>=li?Math.round(t/li)+"h":e>=fi?Math.round(t/fi)+"m":e>=ui?Math.round(t/ui)+"s":t+"ms"}function _7(t){var e=Math.abs(t);return e>=Un?ks(t,e,Un,"day"):e>=li?ks(t,e,li,"hour"):e>=fi?ks(t,e,fi,"minute"):e>=ui?ks(t,e,ui,"second"):t+" ms"}function ks(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var l3=re((CC,f3)=>{function P7(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=o1(),r.destroy=u,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let l=0;for(let m=0;m<f.length;m++)l=(l<<5)-l+f.charCodeAt(m),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=e;function r(f){let l,m=null,d,h;function p(...g){if(!p.enabled)return;let y=p,x=Number(new Date),b=x-(l||x);y.diff=b,y.prev=l,y.curr=x,l=x,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let I=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(E,C)=>{if(E==="%%")return"%";I++;let S=r.formatters[C];if(typeof S=="function"){let L=g[I];E=S.call(y,L),g.splice(I,1),I--}return E}),r.formatArgs.call(y,g),(y.log||r.log).apply(y,g)}return p.namespace=f,p.useColors=r.useColors(),p.color=r.selectColor(f),p.extend=n,p.destroy=r.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(d!==r.namespaces&&(d=r.namespaces,h=r.enabled(f)),h),set:g=>{m=g}}),typeof r.init=="function"&&r.init(p),p}function n(f,l){let m=r(this.namespace+(typeof l>"u"?":":l)+f);return m.log=this.log,m}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let l,m=(typeof f=="string"?f:"").split(/[\s,]+/),d=m.length;for(l=0;l<d;l++)m[l]&&(f=m[l].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,m;for(l=0,m=r.skips.length;l<m;l++)if(r.skips[l].test(f))return!1;for(l=0,m=r.names.length;l<m;l++)if(r.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}f3.exports=P7});var s1=re((Bt,Us)=>{Bt.formatArgs=N7;Bt.save=L7;Bt.load=k7;Bt.useColors=D7;Bt.storage=U7();Bt.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Bt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function D7(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function N7(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Us.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}Bt.log=console.debug||console.log||(()=>{});function L7(t){try{t?Bt.storage.setItem("debug",t):Bt.storage.removeItem("debug")}catch{}}function k7(){let t;try{t=Bt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function U7(){try{return localStorage}catch{}}Us.exports=l3()(Bt);var{formatters:O7}=Us.exports;O7.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ve=re((_T,N3)=>{N3.exports={options:{usePureJavaScript:!1}}});var U3=re((PT,k3)=>{var R1={};k3.exports=R1;var L3={};R1.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=zp(t,e);else{var i=0,o=e.length,s=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
|
|
3
|
-
`)}return n};R1.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=L3[e];if(!r){r=L3[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,o=e.charAt(0),s=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;t[f]===o&&f<t.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function zp(t,e){var r=0,n=e.length,i=e.charAt(0),o=[0];for(r=0;r<t.length();++r){for(var s=0,a=t.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=e[o[r]];return c}});var $e=re((DT,V3)=>{var O3=ve(),F3=U3(),w=V3.exports=O3.util=O3.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(f){f()})}};var s=a,t="forge.setImmediate",e=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ao(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=_1;function _1(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof _1||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=_1;var $p=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>$p&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};w.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};w.ByteStringBuffer.prototype.putInt=function(t,e){Ao(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};w.ByteStringBuffer.prototype.getInt=function(t){Ao(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Hp(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}w.DataBuffer=Hp;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof w.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(t,o,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){Ao(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return Ao(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){Ao(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};w.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var fn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ln=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],M3="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.length;)i=t.charCodeAt(a++),o=t.charCodeAt(a++),s=t.charCodeAt(a++),r+=fn.charAt(i>>2),r+=fn.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=fn.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":fn.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
-
|
|
5
|
-
`,r=r.substr(e));return n+=r,n};w.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=ln[t.charCodeAt(c++)-43],o=ln[t.charCodeAt(c++)-43],s=ln[t.charCodeAt(c++)-43],a=ln[t.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return e?u-r:n.subarray(0,u)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,M3,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,M3,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var P1=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},D1=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},Gp=function(t,e,r,n){var i=D1(t,e);i===null&&(i={}),i[r]=n,P1(t,e,i)},Yp=function(t,e,r){var n=D1(t,e);return n!==null&&(n=r in n?n[r]:null),n},Qp=function(t,e,r){var n=D1(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),P1(t,e,n)}},Wp=function(t,e){P1(t,e,null)},Vs=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),o=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};w.setItem=function(t,e,r,n,i){Vs(Gp,arguments,i)};w.getItem=function(t,e,r,n){return Vs(Yp,arguments,n)};w.removeItem=function(t,e,r,n){Vs(Qp,arguments,n)};w.clearItems=function(t,e,r){Vs(Wp,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.format=function(t){for(var e=/%./g,r,n,i=0,o=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&o.push(n),s=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(t.substring(s)),o.join("")};w.formatNumber=function(t,e,r,n){var i=t,o=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};w.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=w.bytesToHex(t[i]+t[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=e.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(m){if(u.push(m.data),u.length===s){for(var d=0;d<s;++d)c[d].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],m=0;m<s;++m)if(u!==m){var d=a[m];(f.st>d.st&&f.st<d.et||d.st>f.st&&d.st<f.et)&&l.push(m)}return c.reduce(function(h,p){return Math.max(h,p.length)},0)}}});var Ks=re((NT,K3)=>{var Io=ve();Io.pki=Io.pki||{};var N1=K3.exports=Io.pki.oids=Io.oids=Io.oids||{};function U(t,e){N1[t]=e,N1[e]=t}function xe(t,e){N1[t]=e}U("1.2.840.113549.1.1.1","rsaEncryption");U("1.2.840.113549.1.1.4","md5WithRSAEncryption");U("1.2.840.113549.1.1.5","sha1WithRSAEncryption");U("1.2.840.113549.1.1.7","RSAES-OAEP");U("1.2.840.113549.1.1.8","mgf1");U("1.2.840.113549.1.1.9","pSpecified");U("1.2.840.113549.1.1.10","RSASSA-PSS");U("1.2.840.113549.1.1.11","sha256WithRSAEncryption");U("1.2.840.113549.1.1.12","sha384WithRSAEncryption");U("1.2.840.113549.1.1.13","sha512WithRSAEncryption");U("1.3.101.112","EdDSA25519");U("1.2.840.10040.4.3","dsa-with-sha1");U("1.3.14.3.2.7","desCBC");U("1.3.14.3.2.26","sha1");U("1.3.14.3.2.29","sha1WithRSASignature");U("2.16.840.1.101.3.4.2.1","sha256");U("2.16.840.1.101.3.4.2.2","sha384");U("2.16.840.1.101.3.4.2.3","sha512");U("2.16.840.1.101.3.4.2.4","sha224");U("2.16.840.1.101.3.4.2.5","sha512-224");U("2.16.840.1.101.3.4.2.6","sha512-256");U("1.2.840.113549.2.2","md2");U("1.2.840.113549.2.5","md5");U("1.2.840.113549.1.7.1","data");U("1.2.840.113549.1.7.2","signedData");U("1.2.840.113549.1.7.3","envelopedData");U("1.2.840.113549.1.7.4","signedAndEnvelopedData");U("1.2.840.113549.1.7.5","digestedData");U("1.2.840.113549.1.7.6","encryptedData");U("1.2.840.113549.1.9.1","emailAddress");U("1.2.840.113549.1.9.2","unstructuredName");U("1.2.840.113549.1.9.3","contentType");U("1.2.840.113549.1.9.4","messageDigest");U("1.2.840.113549.1.9.5","signingTime");U("1.2.840.113549.1.9.6","counterSignature");U("1.2.840.113549.1.9.7","challengePassword");U("1.2.840.113549.1.9.8","unstructuredAddress");U("1.2.840.113549.1.9.14","extensionRequest");U("1.2.840.113549.1.9.20","friendlyName");U("1.2.840.113549.1.9.21","localKeyId");U("1.2.840.113549.1.9.22.1","x509Certificate");U("1.2.840.113549.1.12.10.1.1","keyBag");U("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");U("1.2.840.113549.1.12.10.1.3","certBag");U("1.2.840.113549.1.12.10.1.4","crlBag");U("1.2.840.113549.1.12.10.1.5","secretBag");U("1.2.840.113549.1.12.10.1.6","safeContentsBag");U("1.2.840.113549.1.5.13","pkcs5PBES2");U("1.2.840.113549.1.5.12","pkcs5PBKDF2");U("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");U("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");U("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");U("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");U("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");U("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");U("1.2.840.113549.2.7","hmacWithSHA1");U("1.2.840.113549.2.8","hmacWithSHA224");U("1.2.840.113549.2.9","hmacWithSHA256");U("1.2.840.113549.2.10","hmacWithSHA384");U("1.2.840.113549.2.11","hmacWithSHA512");U("1.2.840.113549.3.7","des-EDE3-CBC");U("2.16.840.1.101.3.4.1.2","aes128-CBC");U("2.16.840.1.101.3.4.1.22","aes192-CBC");U("2.16.840.1.101.3.4.1.42","aes256-CBC");U("2.5.4.3","commonName");U("2.5.4.4","surname");U("2.5.4.5","serialNumber");U("2.5.4.6","countryName");U("2.5.4.7","localityName");U("2.5.4.8","stateOrProvinceName");U("2.5.4.9","streetAddress");U("2.5.4.10","organizationName");U("2.5.4.11","organizationalUnitName");U("2.5.4.12","title");U("2.5.4.13","description");U("2.5.4.15","businessCategory");U("2.5.4.17","postalCode");U("2.5.4.42","givenName");U("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");U("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");U("2.16.840.1.113730.1.1","nsCertType");U("2.16.840.1.113730.1.13","nsComment");xe("2.5.29.1","authorityKeyIdentifier");xe("2.5.29.2","keyAttributes");xe("2.5.29.3","certificatePolicies");xe("2.5.29.4","keyUsageRestriction");xe("2.5.29.5","policyMapping");xe("2.5.29.6","subtreesConstraint");xe("2.5.29.7","subjectAltName");xe("2.5.29.8","issuerAltName");xe("2.5.29.9","subjectDirectoryAttributes");xe("2.5.29.10","basicConstraints");xe("2.5.29.11","nameConstraints");xe("2.5.29.12","policyConstraints");xe("2.5.29.13","basicConstraints");U("2.5.29.14","subjectKeyIdentifier");U("2.5.29.15","keyUsage");xe("2.5.29.16","privateKeyUsagePeriod");U("2.5.29.17","subjectAltName");U("2.5.29.18","issuerAltName");U("2.5.29.19","basicConstraints");xe("2.5.29.20","cRLNumber");xe("2.5.29.21","cRLReason");xe("2.5.29.22","expirationDate");xe("2.5.29.23","instructionCode");xe("2.5.29.24","invalidityDate");xe("2.5.29.25","cRLDistributionPoints");xe("2.5.29.26","issuingDistributionPoint");xe("2.5.29.27","deltaCRLIndicator");xe("2.5.29.28","issuingDistributionPoint");xe("2.5.29.29","certificateIssuer");xe("2.5.29.30","nameConstraints");U("2.5.29.31","cRLDistributionPoints");U("2.5.29.32","certificatePolicies");xe("2.5.29.33","policyMappings");xe("2.5.29.34","policyConstraints");U("2.5.29.35","authorityKeyIdentifier");xe("2.5.29.36","policyConstraints");U("2.5.29.37","extKeyUsage");xe("2.5.29.46","freshestCRL");xe("2.5.29.54","inhibitAnyPolicy");U("1.3.6.1.4.1.11129.2.4.2","timestampList");U("1.3.6.1.5.5.7.1.1","authorityInfoAccess");U("1.3.6.1.5.5.7.3.1","serverAuth");U("1.3.6.1.5.5.7.3.2","clientAuth");U("1.3.6.1.5.5.7.3.3","codeSigning");U("1.3.6.1.5.5.7.3.4","emailProtection");U("1.3.6.1.5.5.7.3.8","timeStamping")});var To=re((LT,z3)=>{var Te=ve();$e();Ks();var K=z3.exports=Te.asn1=Te.asn1||{};K.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};K.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};K.create=function(t,e,r,n,i){if(Te.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:t,type:e,constructed:r,composed:r||Te.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=K.copy(a)),a};K.copy=function(t,e){var r;if(Te.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(K.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:K.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};K.equals=function(t,e,r){if(Te.util.isArray(t)){if(!Te.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!K.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&K.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};K.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Co(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var Zp=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Co(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};K.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=Te.util.createBuffer(t));var r=t.length(),n=qs(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function qs(t,e,r,n){var i;Co(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=Zp(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var f,l,m=(o&32)===32;if(m)if(f=[],c===void 0)for(;;){if(Co(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),f.push(qs(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),f.push(qs(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(f===void 0&&s===K.Class.UNIVERSAL&&a===K.Type.BITSTRING&&(l=t.bytes(c)),f===void 0&&n.decodeBitStrings&&s===K.Class.UNIVERSAL&&a===K.Type.BITSTRING&&c>1){var d=t.read,h=e,p=0;if(a===K.Type.BITSTRING&&(Co(t,e,1),p=t.getByte(),e--),p===0)try{i=t.length();var g={strict:!0,decodeBitStrings:!0},y=qs(t,e,r+1,g),x=i-t.length();e-=x,a==K.Type.BITSTRING&&x++;var b=y.tagClass;x===c&&(b===K.Class.UNIVERSAL||b===K.Class.CONTEXT_SPECIFIC)&&(f=[y])}catch{}f===void 0&&(t.read=d,e=h)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===K.Type.BMPSTRING)for(f="";c>0;c-=2)Co(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(c),e-=c}var I=l===void 0?null:{bitStringContents:l};return K.create(s,a,m,f,I)}K.toDer=function(t){var e=Te.util.createBuffer(),r=t.tagClass|t.type,n=Te.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=K.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var o=0;o<t.value.length;++o)t.value[o]!==void 0&&n.putBuffer(K.toDer(t.value[o]))}else if(t.type===K.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===K.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)e.putByte(a.charCodeAt(o))}return e.putBuffer(n),e};K.oidToDer=function(t){var e=t.split("."),r=Te.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,o,s,a=2;a<e.length;++a){n=!0,i=[],o=parseInt(e[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};K.derToOid=function(t){var e;typeof t=="string"&&(t=Te.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};K.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),o=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var f=parseInt(t.substr(u+1,2),10),l=parseInt(t.substr(u+4,2),10),m=f*60+l;m*=6e4,c==="+"?e.setTime(+e-m):e.setTime(+e+m)}return e};K.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,f=!1;t.charAt(t.length-1)==="Z"&&(f=!0);var l=t.length-5,m=t.charAt(l);if(m==="+"||m==="-"){var d=parseInt(t.substr(l+1,2),10),h=parseInt(t.substr(l+4,2),10);u=d*60+h,u*=6e4,m==="+"&&(u*=-1),f=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),f?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};K.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};K.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};K.integerToDer=function(t){var e=Te.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};K.derToInteger=function(t){typeof t=="string"&&(t=Te.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};K.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&Te.util.isArray(e.value))for(var o=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[o]&&(i=K.validate(t.value[o],e.value[s],r,n),i?++o:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var q3=/[^\\u0000-\\u00ff]/;K.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
6
|
-
|
|
7
|
-
`,n+=i+"Constructed: "+t.constructed+`
|
|
8
|
-
`,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=K.prettyPrint(t.value[o],e+1,r),o+1<t.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",t.type===K.Type.OID){var c=K.derToOid(t.value);n+=c,Te.pki&&Te.pki.oids&&c in Te.pki.oids&&(n+=" ("+Te.pki.oids[c]+") ")}if(t.type===K.Type.INTEGER)try{n+=K.derToInteger(t.value)}catch{n+="0x"+Te.util.bytesToHex(t.value)}else if(t.type===K.Type.BITSTRING){if(t.value.length>1?n+="0x"+Te.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===K.Type.OCTETSTRING)q3.test(t.value)||(n+="("+t.value+") "),n+="0x"+Te.util.bytesToHex(t.value);else if(t.type===K.Type.UTF8)try{n+=Te.util.decodeUtf8(t.value)}catch(f){if(f.message==="URI malformed")n+="0x"+Te.util.bytesToHex(t.value)+" (malformed UTF8)";else throw f}else t.type===K.Type.PRINTABLESTRING||t.type===K.Type.IA5String?n+=t.value:q3.test(t.value)?n+="0x"+Te.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var k1=re((kT,$3)=>{var Je=ve();$e();$3.exports=Je.cipher=Je.cipher||{};Je.cipher.algorithms=Je.cipher.algorithms||{};Je.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Je.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Je.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Je.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Je.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Je.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Je.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Je.cipher.algorithms[t]=e};Je.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Je.cipher.algorithms?Je.cipher.algorithms[t]:null};var L1=Je.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};L1.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=Je.util.createBuffer(),this.output=t.output||Je.util.createBuffer(),this.mode.start(e)};L1.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};L1.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var O1=re((UT,H3)=>{var et=ve();$e();et.cipher=et.cipher||{};var ae=H3.exports=et.cipher.modes=et.cipher.modes||{};ae.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};ae.ecb.prototype.start=function(t){};ae.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};ae.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};ae.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};ae.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};ae.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};ae.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=zs(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};ae.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};ae.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};ae.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};ae.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};ae.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=et.util.createBuffer(),this._partialBytes=0};ae.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=zs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ae.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};ae.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};ae.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=et.util.createBuffer(),this._partialBytes=0};ae.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=zs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ae.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};ae.ofb.prototype.decrypt=ae.ofb.prototype.encrypt;ae.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=et.util.createBuffer(),this._partialBytes=0};ae.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=zs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ae.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}$s(this._inBlock)};ae.ctr.prototype.decrypt=ae.ctr.prototype.encrypt;ae.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=et.util.createBuffer(),this._partialBytes=0,this._R=3774873600};ae.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=et.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=et.util.createBuffer(t.additionalData):r=et.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=et.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(U1(n*8)))}this._inBlock=this._j0.slice(0),$s(this._inBlock),this._partialBytes=0,r=et.util.createBuffer(r),this._aDataLength=U1(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};ae.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),$s(this._inBlock)};ae.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),$s(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};ae.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=et.util.createBuffer();var n=this._aDataLength.concat(U1(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};ae.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var o=t[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};ae.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};ae.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,o=this._m[r][i];e[0]^=o[0],e[1]^=o[1],e[2]^=o[2],e[3]^=o[3]}return e};ae.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};ae.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*e;a[c]=1<<e-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,t),e)}return o};ae.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function zs(t,e){if(typeof t=="string"&&(t=et.util.createBuffer(t)),et.util.isArray(t)&&t.length>4){var r=t;t=et.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!et.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function $s(t){t[t.length-1]=t[t.length-1]+1&4294967295}function U1(t){return[t/4294967296|0,t&4294967295]}});var Gs=re((OT,W3)=>{var Ce=ve();k1();O1();$e();W3.exports=Ce.aes=Ce.aes||{};Ce.aes.startEncrypting=function(t,e,r,n){var i=Hs({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};Ce.aes.createEncryptionCipher=function(t,e){return Hs({key:t,output:null,decrypt:!1,mode:e})};Ce.aes.startDecrypting=function(t,e,r,n){var i=Hs({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};Ce.aes.createDecryptionCipher=function(t,e){return Hs({key:t,output:null,decrypt:!0,mode:e})};Ce.aes.Algorithm=function(t,e){V1||Y3();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return M1(r._w,n,i,!1)},decrypt:function(n,i){return M1(r._w,n,i,!0)}}}),r._init=!1};Ce.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=Ce.util.createBuffer(e);else if(Ce.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=Ce.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!Ce.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!Ce.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=Q3(e,t.decrypt&&!s),this._init=!0}};Ce.aes._expandKey=function(t,e){return V1||Y3(),Q3(t,e)};Ce.aes._updateBlock=M1;wi("AES-ECB",Ce.cipher.modes.ecb);wi("AES-CBC",Ce.cipher.modes.cbc);wi("AES-CFB",Ce.cipher.modes.cfb);wi("AES-OFB",Ce.cipher.modes.ofb);wi("AES-CTR",Ce.cipher.modes.ctr);wi("AES-GCM",Ce.cipher.modes.gcm);function wi(t,e){var r=function(){return new Ce.aes.Algorithm(t,e)};Ce.cipher.registerAlgorithm(t,r)}var V1=!1,bi=4,mt,F1,G3,Fn,jt;function Y3(){V1=!0,G3=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;mt=new Array(256),F1=new Array(256),Fn=new Array(4),jt=new Array(4);for(var e=0;e<4;++e)Fn[e]=new Array(256),jt[e]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,mt[r]=a,F1[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)Fn[l][r]=u,jt[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function Q3(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=bi*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=mt[n>>>16&255]<<24^mt[n>>>8&255]<<16^mt[n&255]<<8^mt[n>>>24]^G3[i]<<24,i++):o>6&&c%o===4&&(n=mt[n>>>24]<<24^mt[n>>>16&255]<<16^mt[n>>>8&255]<<8^mt[n&255]),r[c]=r[c-o]^n;if(e){var u,f=jt[0],l=jt[1],m=jt[2],d=jt[3],h=r.slice(0);a=r.length;for(var c=0,p=a-bi;c<a;c+=bi,p-=bi)if(c===0||c===a-bi)h[c]=r[p],h[c+1]=r[p+3],h[c+2]=r[p+2],h[c+3]=r[p+1];else for(var g=0;g<bi;++g)u=r[p+g],h[c+(3&-g)]=f[mt[u>>>24]]^l[mt[u>>>16&255]]^m[mt[u>>>8&255]]^d[mt[u&255]];r=h}return r}function M1(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=jt[0],s=jt[1],a=jt[2],c=jt[3],u=F1):(o=Fn[0],s=Fn[1],a=Fn[2],c=Fn[3],u=mt);var f,l,m,d,h,p,g;f=e[0]^t[0],l=e[n?3:1]^t[1],m=e[2]^t[2],d=e[n?1:3]^t[3];for(var y=3,x=1;x<i;++x)h=o[f>>>24]^s[l>>>16&255]^a[m>>>8&255]^c[d&255]^t[++y],p=o[l>>>24]^s[m>>>16&255]^a[d>>>8&255]^c[f&255]^t[++y],g=o[m>>>24]^s[d>>>16&255]^a[f>>>8&255]^c[l&255]^t[++y],d=o[d>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[m&255]^t[++y],f=h,l=p,m=g;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[m>>>8&255]<<8^u[d&255]^t[++y],r[n?3:1]=u[l>>>24]<<24^u[m>>>16&255]<<16^u[d>>>8&255]<<8^u[f&255]^t[++y],r[2]=u[m>>>24]<<24^u[d>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^t[++y],r[n?1:3]=u[d>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[m&255]^t[++y]}function Hs(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=Ce.cipher.createDecipher(r,t.key):n=Ce.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Ce.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var j3=re((FT,X3)=>{var _e=ve();k1();O1();$e();X3.exports=_e.des=_e.des||{};_e.des.startEncrypting=function(t,e,r,n){var i=Ys({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};_e.des.createEncryptionCipher=function(t,e){return Ys({key:t,output:null,decrypt:!1,mode:e})};_e.des.startDecrypting=function(t,e,r,n){var i=Ys({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};_e.des.createDecryptionCipher=function(t,e){return Ys({key:t,output:null,decrypt:!0,mode:e})};_e.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Z3(r._keys,n,i,!1)},decrypt:function(n,i){return Z3(r._keys,n,i,!0)}}}),r._init=!1};_e.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=_e.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=o9(e),this._init=!0}};gr("DES-ECB",_e.cipher.modes.ecb);gr("DES-CBC",_e.cipher.modes.cbc);gr("DES-CFB",_e.cipher.modes.cfb);gr("DES-OFB",_e.cipher.modes.ofb);gr("DES-CTR",_e.cipher.modes.ctr);gr("3DES-ECB",_e.cipher.modes.ecb);gr("3DES-CBC",_e.cipher.modes.cbc);gr("3DES-CFB",_e.cipher.modes.cfb);gr("3DES-OFB",_e.cipher.modes.ofb);gr("3DES-CTR",_e.cipher.modes.ctr);function gr(t,e){var r=function(){return new _e.des.Algorithm(t,e)};_e.cipher.registerAlgorithm(t,r)}var Xp=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],jp=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],Jp=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],e9=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],t9=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],r9=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],n9=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],i9=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function o9(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],m=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=t.length()>8?3:1,g=[],y=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,I=0;I<p;I++){var v=t.getInt32(),E=t.getInt32();b=(v>>>4^E)&252645135,E^=b,v^=b<<4,b=(E>>>-16^v)&65535,v^=b,E^=b<<-16,b=(v>>>2^E)&858993459,E^=b,v^=b<<2,b=(E>>>-16^v)&65535,v^=b,E^=b<<-16,b=(v>>>1^E)&1431655765,E^=b,v^=b<<1,b=(E>>>8^v)&16711935,v^=b,E^=b<<8,b=(v>>>1^E)&1431655765,E^=b,v^=b<<1,b=v<<8|E>>>20&240,v=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=b;for(var C=0;C<y.length;++C){y[C]?(v=v<<2|v>>>26,E=E<<2|E>>>26):(v=v<<1|v>>>27,E=E<<1|E>>>27),v&=-15,E&=-15;var S=e[v>>>28]|r[v>>>24&15]|n[v>>>20&15]|i[v>>>16&15]|o[v>>>12&15]|s[v>>>8&15]|a[v>>>4&15],L=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|l[E>>>16&15]|m[E>>>12&15]|d[E>>>8&15]|h[E>>>4&15];b=(L>>>16^S)&65535,g[x++]=S^b,g[x++]=L^b<<16}}return g}function Z3(t,e,r,n){var i=t.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=e[0],c=e[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],m=o[u];m!=f;m+=l){var d=c^t[m],h=(c>>>4|c<<28)^t[m+1];s=a,a=c,c=s^(jp[d>>>24&63]|e9[d>>>16&63]|r9[d>>>8&63]|i9[d&63]|Xp[h>>>24&63]|Jp[h>>>16&63]|t9[h>>>8&63]|n9[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function Ys(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=_e.cipher.createDecipher(r,t.key):n=_e.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof _e.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Mn=re((MT,J3)=>{var Qs=ve();J3.exports=Qs.md=Qs.md||{};Qs.md.algorithms=Qs.md.algorithms||{}});var tl=re((VT,el)=>{var Lr=ve();Mn();$e();var s9=el.exports=Lr.hmac=Lr.hmac||{};s9.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in Lr.md.algorithms)e=Lr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else e=o;if(s===null)s=t;else{if(typeof s=="string")s=Lr.util.createBuffer(s);else if(Lr.util.isArray(s)){var a=s;s=Lr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=Lr.util.createBuffer(),n=Lr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(o){e.update(o)},i.getMac=function(){var o=e.digest().bytes();return e.start(),e.update(n),e.update(o),e.digest()},i.digest=i.getMac,i}});var Ws=re(()=>{});var K1=re((zT,rl)=>{var gt=ve();tl();Mn();$e();var a9=gt.pkcs5=gt.pkcs5||{},kr;gt.util.isNodejs&&!gt.options.usePureJavaScript&&(kr=Ws());rl.exports=gt.pbkdf2=a9.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),gt.util.isNodejs&&!gt.options.usePureJavaScript&&kr.pbkdf2&&(i===null||typeof i!="object")&&(kr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?kr.pbkdf2Sync.length===4?kr.pbkdf2(t,e,r,n,function(b,I){if(b)return o(b);o(null,I.toString("binary"))}):kr.pbkdf2(t,e,r,n,i,function(b,I){if(b)return o(b);o(null,I.toString("binary"))}):kr.pbkdf2Sync.length===4?kr.pbkdf2Sync(t,e,r,n).toString("binary"):kr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in gt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=gt.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=gt.hmac.create();f.start(i,t);var l="",m,d,h;if(!o){for(var p=1;p<=c;++p){f.start(null,null),f.update(e),f.update(gt.util.int32ToBytes(p)),m=h=f.digest().getBytes();for(var g=2;g<=r;++g)f.start(null,null),f.update(h),d=f.digest().getBytes(),m=gt.util.xorBytes(m,d,s),h=d;l+=p<c?m:m.substr(0,u)}return l}var p=1,g;function y(){if(p>c)return o(null,l);f.start(null,null),f.update(e),f.update(gt.util.int32ToBytes(p)),m=h=f.digest().getBytes(),g=2,x()}function x(){if(g<=r)return f.start(null,null),f.update(h),d=f.digest().getBytes(),m=gt.util.xorBytes(m,d,s),h=d,++g,gt.util.setImmediate(x);l+=p<c?m:m.substr(0,u),++p,y()}y()}});var ol=re(($T,il)=>{var Xs=ve();$e();var nl=il.exports=Xs.pem=Xs.pem||{};nl.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
9
|
-
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=Zs(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Zs(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Zs(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Zs(t.headers[i]);return t.procType&&(r+=`\r
|
|
10
|
-
`),r+=Xs.util.encode64(t.body,e.maxline||64)+`\r
|
|
11
|
-
`,r+="-----END "+t.type+`-----\r
|
|
12
|
-
`,r};nl.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(t),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:Xs.util.decode64(o[3])};if(e.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var m=c[l];if(!/\s/.test(m[0]))break;f+=m,u=l}if(o=f.match(n),o){for(var d={name:o[1],values:[]},h=o[2].split(","),p=0;p<h.length;++p)d.values.push(c9(h[p]));if(a.procType)if(!a.contentDomain&&d.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&d.name==="DEK-Info"){if(d.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(d);else{if(d.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(d.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function Zs(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
|
|
13
|
-
`;for(var o=0,s=-1,i=0;i<e.length;++i,++o)if(o>65&&s!==-1){var a=e[s];a===","?(++s,e=e.substr(0,s)+`\r
|
|
14
|
-
`+e.substr(s)):e=e.substr(0,s)+`\r
|
|
15
|
-
`+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function c9(t){return t.replace(/^\s+/,"")}});var ll=re((HT,fl)=>{var yr=ve();Mn();$e();var al=fl.exports=yr.sha256=yr.sha256||{};yr.md.sha256=yr.md.algorithms.sha256=al;al.create=function(){cl||u9();var t=null,e=yr.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=yr.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=yr.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),sl(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=yr.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(q1.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};sl(l,r,i);var m=yr.util.createBuffer();return m.putInt32(l.h0),m.putInt32(l.h1),m.putInt32(l.h2),m.putInt32(l.h3),m.putInt32(l.h4),m.putInt32(l.h5),m.putInt32(l.h6),m.putInt32(l.h7),m},n};var q1=null,cl=!1,ul=null;function u9(){q1="\x80",q1+=yr.util.fillString("\0",64),ul=[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],cl=!0}function sl(t,e,r){for(var n,i,o,s,a,c,u,f,l,m,d,h,p,g,y,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(f=t.h0,l=t.h1,m=t.h2,d=t.h3,h=t.h4,p=t.h5,g=t.h6,y=t.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(p^g),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|m&(f^l),n=y+s+a+ul[u]+e[u],i=o+c,y=g,g=p,p=h,h=d+n>>>0,d=m,m=l,l=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+l|0,t.h2=t.h2+m|0,t.h3=t.h3+d|0,t.h4=t.h4+h|0,t.h5=t.h5+p|0,t.h6=t.h6+g|0,t.h7=t.h7+y|0,x-=64}}});var dl=re((GT,hl)=>{var xr=ve();$e();var js=null;xr.util.isNodejs&&!xr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(js=Ws());var f9=hl.exports=xr.prng=xr.prng||{};f9.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,f){if(!f)return e.generateSync(u);var l=e.plugin.cipher,m=e.plugin.increment,d=e.plugin.formatKey,h=e.plugin.formatSeed,p=xr.util.createBuffer();e.key=null,g();function g(y){if(y)return f(y);if(p.length()>=u)return f(null,p.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return xr.util.nextTick(function(){o(g)});var x=l(e.key,e.seed);e.generated+=x.length,p.putBytes(x),e.key=d(l(e.key,m(e.seed))),e.seed=h(l(e.key,e.seed)),xr.util.setImmediate(g)}},e.generateSync=function(u){var f=e.plugin.cipher,l=e.plugin.increment,m=e.plugin.formatKey,d=e.plugin.formatSeed;e.key=null;for(var h=xr.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var p=f(e.key,e.seed);e.generated+=p.length,h.putBytes(p),e.key=m(f(e.key,l(e.seed))),e.seed=d(f(e.key,e.seed))}return h.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var f=32-e.pools[0].messageLength<<5;e.seedFile(f,function(l,m){if(l)return u(l);e.collect(m),a(),u()})}function s(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var f=1,l=0;l<32;++l)e.reseeds%f===0&&(u.update(e.pools[l].digest().getBytes()),e.pools[l].start()),f=f<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var m=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(m),e.generated=0}function c(u){var f=null,l=xr.util.globalScope,m=l.crypto||l.msCrypto;m&&m.getRandomValues&&(f=function(v){return m.getRandomValues(v)});var d=xr.util.createBuffer();if(f)for(;d.length()<u;){var h=Math.max(1,Math.min(u-d.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{f(p);for(var g=0;g<p.length;++g)d.putInt32(p[g])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(d.length()<u)for(var y,x,b,I=Math.floor(Math.random()*65536);d.length()<u;){x=16807*(I&65535),y=16807*(I>>16),x+=(y&32767)<<16,x+=y>>15,x=(x&2147483647)+(x>>31),I=x&4294967295;for(var g=0;g<3;++g)b=I>>>(g<<3),b^=Math.floor(Math.random()*256),d.putByte(b&255)}return d.getBytes(u)}return js?(e.seedFile=function(u,f){js.randomBytes(u,function(l,m){if(l)return f(l);f(null,m.toString())})},e.seedFileSync=function(u){return js.randomBytes(u).toString()}):(e.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},e.seedFileSync=c),e.collect=function(u){for(var f=u.length,l=0;l<f;++l)e.pools[e.pool].update(u.substr(l,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,f){for(var l="",m=0;m<f;m+=8)l+=String.fromCharCode(u>>m&255);e.collect(l)},e.registerWorker=function(u){if(u===self)e.seedFile=function(l,m){function d(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",d),m(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var m=l.data;m.forge&&m.forge.prng&&e.seedFile(m.forge.prng.needed,function(d,h){u.postMessage({forge:{prng:{err:d,bytes:h}}})})};u.addEventListener("message",f)}},e}});var Bo=re((YT,z1)=>{var tt=ve();Gs();ll();dl();$e();(function(){if(tt.random&&tt.random.getBytes){z1.exports=tt.random;return}(function(t){var e={},r=new Array(4),n=tt.util.createBuffer();e.formatKey=function(l){var m=tt.util.createBuffer(l);return l=new Array(4),l[0]=m.getInt32(),l[1]=m.getInt32(),l[2]=m.getInt32(),l[3]=m.getInt32(),tt.aes._expandKey(l,!1)},e.formatSeed=function(l){var m=tt.util.createBuffer(l);return l=new Array(4),l[0]=m.getInt32(),l[1]=m.getInt32(),l[2]=m.getInt32(),l[3]=m.getInt32(),l},e.cipher=function(l,m){return tt.aes._updateBlock(l,m,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(l){return++l[3],l},e.md=tt.md.sha256;function i(){var l=tt.prng.create(e);return l.getBytes=function(m,d){return l.generate(m,d)},l.getBytesSync=function(m){return l.generate(m)},l}var o=i(),s=null,a=tt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),tt.options.usePureJavaScript||!tt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),t().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!tt.random)tt.random=o;else for(var f in o)tt.random[f]=o[f];tt.random.createInstance=i,z1.exports=tt.random})(typeof jQuery<"u"?jQuery:null)})()});var yl=re((QT,gl)=>{var vt=ve();$e();var $1=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],pl=[1,2,3,5],l9=function(t,e){return t<<e&65535|(t&65535)>>16-e},h9=function(t,e){return(t&65535)>>e|t<<16-e&65535};gl.exports=vt.rc2=vt.rc2||{};vt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=vt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte($1[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,$1[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,$1[r.at(a+1)^r.at(a+o)]);return r};var ml=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(t=vt.rc2.expandKey(t,e),u=0;u<64;u++)l.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=l9(h[u],pl[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=h9(h[u],pl[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var m=function(h){var p=[];for(u=0;u<4;u++){var g=i.getInt16Le();s!==null&&(r?g^=s.getInt16Le():s.putInt16Le(g)),p.push(g&65535)}f=r?0:63;for(var y=0;y<h.length;y++)for(var x=0;x<h[y][0];x++)h[y][1](p);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(p[u]):p[u]^=s.getInt16Le()),o.putInt16Le(p[u])},d=null;return d={start:function(h,p){h&&typeof h=="string"&&(h=vt.util.createBuffer(h)),n=!1,i=vt.util.createBuffer(),o=p||new vt.util.createBuffer,s=h,d.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)m([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var p=!0;if(r)if(h)p=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(p&&(n=!0,d.update()),!r&&(p=i.length()===0,p))if(h)p=h(8,o,!r);else{var y=o.length(),x=o.at(y-1);x>y?p=!1:o.truncate(x)}return p}},d};vt.rc2.startEncrypting=function(t,e,r){var n=vt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};vt.rc2.createEncryptionCipher=function(t,e){return ml(t,e,!0)};vt.rc2.startDecrypting=function(t,e,r){var n=vt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};vt.rc2.createDecryptionCipher=function(t,e){return ml(t,e,!1)}});var t0=re((WT,Il)=>{var H1=ve();Il.exports=H1.jsbn=H1.jsbn||{};var Ur,d9=0xdeadbeefcafe,xl=(d9&16777215)==15715070;function P(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}H1.jsbn.BigInteger=P;function pe(){return new P(null)}function p9(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function m9(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function bl(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(P.prototype.am=bl,Ur=28):xl&&navigator.appName=="Microsoft Internet Explorer"?(P.prototype.am=m9,Ur=30):xl&&navigator.appName!="Netscape"?(P.prototype.am=p9,Ur=26):(P.prototype.am=bl,Ur=28);P.prototype.DB=Ur;P.prototype.DM=(1<<Ur)-1;P.prototype.DV=1<<Ur;var G1=52;P.prototype.FV=Math.pow(2,G1);P.prototype.F1=G1-Ur;P.prototype.F2=2*Ur-G1;var g9="0123456789abcdefghijklmnopqrstuvwxyz",Js=new Array,vi,Ot;vi=48;for(Ot=0;Ot<=9;++Ot)Js[vi++]=Ot;vi=97;for(Ot=10;Ot<36;++Ot)Js[vi++]=Ot;vi=65;for(Ot=10;Ot<36;++Ot)Js[vi++]=Ot;function wl(t){return g9.charAt(t)}function vl(t,e){var r=Js[t.charCodeAt(e)];return r??-1}function y9(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function x9(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function hn(t){var e=pe();return e.fromInt(t),e}function b9(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:vl(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&P.ZERO.subTo(this,this)}function w9(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function v9(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=wl(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=wl(n));return i?o:"0"}function E9(){var t=pe();return P.ZERO.subTo(this,t),t}function S9(){return this.s<0?this.negate():this}function A9(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function e0(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function I9(){return this.t<=0?0:this.DB*(this.t-1)+e0(this.data[this.t-1]^this.s&this.DM)}function C9(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function T9(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function B9(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function R9(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function _9(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function P9(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&P.ZERO.subTo(e,e)}function D9(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function N9(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=pe());var o=pe(),s=this.s,a=t.s,c=this.DB-e0(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),m=this.FV/l,d=(1<<this.F1)/l,h=1<<this.F2,p=r.t,g=p-u,y=e??pe();for(o.dlShiftTo(g,y),r.compareTo(y)>=0&&(r.data[r.t++]=1,r.subTo(y,r)),P.ONE.dlShiftTo(u,y),y.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--g>=0;){var x=r.data[--p]==f?this.DM:Math.floor(r.data[p]*m+(r.data[p-1]+h)*d);if((r.data[p]+=o.am(0,x,r,g,0,u))<x)for(o.dlShiftTo(g,y),r.subTo(y,r);r.data[p]<--x;)r.subTo(y,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&P.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&P.ZERO.subTo(r,r)}}}function L9(t){var e=pe();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(P.ZERO)>0&&t.subTo(e,e),e}function Vn(t){this.m=t}function k9(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function U9(t){return t}function O9(t){t.divRemTo(this.m,null,t)}function F9(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function M9(t,e){t.squareTo(e),this.reduce(e)}Vn.prototype.convert=k9;Vn.prototype.revert=U9;Vn.prototype.reduce=O9;Vn.prototype.mulTo=F9;Vn.prototype.sqrTo=M9;function V9(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function Kn(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function K9(t){var e=pe();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(P.ZERO)>0&&this.m.subTo(e,e),e}function q9(t){var e=pe();return t.copyTo(e),this.reduce(e),e}function z9(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function $9(t,e){t.squareTo(e),this.reduce(e)}function H9(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Kn.prototype.convert=K9;Kn.prototype.revert=q9;Kn.prototype.reduce=z9;Kn.prototype.mulTo=H9;Kn.prototype.sqrTo=$9;function G9(){return(this.t>0?this.data[0]&1:this.s)==0}function Y9(t,e){if(t>4294967295||t<1)return P.ONE;var r=pe(),n=pe(),i=e.convert(this),o=e0(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function Q9(t,e){var r;return t<256||e.isEven()?r=new Vn(e):r=new Kn(e),this.exp(t,r)}P.prototype.copyTo=y9;P.prototype.fromInt=x9;P.prototype.fromString=b9;P.prototype.clamp=w9;P.prototype.dlShiftTo=C9;P.prototype.drShiftTo=T9;P.prototype.lShiftTo=B9;P.prototype.rShiftTo=R9;P.prototype.subTo=_9;P.prototype.multiplyTo=P9;P.prototype.squareTo=D9;P.prototype.divRemTo=N9;P.prototype.invDigit=V9;P.prototype.isEven=G9;P.prototype.exp=Y9;P.prototype.toString=v9;P.prototype.negate=E9;P.prototype.abs=S9;P.prototype.compareTo=A9;P.prototype.bitLength=I9;P.prototype.mod=L9;P.prototype.modPowInt=Q9;P.ZERO=hn(0);P.ONE=hn(1);function W9(){var t=pe();return this.copyTo(t),t}function Z9(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function X9(){return this.t==0?this.s:this.data[0]<<24>>24}function j9(){return this.t==0?this.s:this.data[0]<<16>>16}function J9(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function em(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function tm(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=hn(r),i=pe(),o=pe(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function rm(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=vl(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&P.ZERO.subTo(this,this)}function nm(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(P.ONE.shiftLeft(t-1),Y1,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(P.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function im(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function om(t){return this.compareTo(t)==0}function sm(t){return this.compareTo(t)<0?this:t}function am(t){return this.compareTo(t)>0?this:t}function cm(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function um(t,e){return t&e}function fm(t){var e=pe();return this.bitwiseTo(t,um,e),e}function Y1(t,e){return t|e}function lm(t){var e=pe();return this.bitwiseTo(t,Y1,e),e}function El(t,e){return t^e}function hm(t){var e=pe();return this.bitwiseTo(t,El,e),e}function Sl(t,e){return t&~e}function dm(t){var e=pe();return this.bitwiseTo(t,Sl,e),e}function pm(){for(var t=pe(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function mm(t){var e=pe();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function gm(t){var e=pe();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function ym(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function xm(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+ym(this.data[t]);return this.s<0?this.t*this.DB:-1}function bm(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function wm(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=bm(this.data[r]^e);return t}function vm(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function Em(t,e){var r=P.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function Sm(t){return this.changeBit(t,Y1)}function Am(t){return this.changeBit(t,Sl)}function Im(t){return this.changeBit(t,El)}function Cm(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function Tm(t){var e=pe();return this.addTo(t,e),e}function Bm(t){var e=pe();return this.subTo(t,e),e}function Rm(t){var e=pe();return this.multiplyTo(t,e),e}function _m(t){var e=pe();return this.divRemTo(t,e,null),e}function Pm(t){var e=pe();return this.divRemTo(t,null,e),e}function Dm(t){var e=pe(),r=pe();return this.divRemTo(t,e,r),new Array(e,r)}function Nm(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Lm(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function Ro(){}function Al(t){return t}function km(t,e,r){t.multiplyTo(e,r)}function Um(t,e){t.squareTo(e)}Ro.prototype.convert=Al;Ro.prototype.revert=Al;Ro.prototype.mulTo=km;Ro.prototype.sqrTo=Um;function Om(t){return this.exp(t,new Ro)}function Fm(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function Mm(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function Ei(t){this.r2=pe(),this.q3=pe(),P.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function Vm(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=pe();return t.copyTo(e),this.reduce(e),e}function Km(t){return t}function qm(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function zm(t,e){t.squareTo(e),this.reduce(e)}function $m(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Ei.prototype.convert=Vm;Ei.prototype.revert=Km;Ei.prototype.reduce=qm;Ei.prototype.mulTo=$m;Ei.prototype.sqrTo=zm;function Hm(t,e){var r=t.bitLength(),n,i=hn(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new Vn(e):e.isEven()?o=new Ei(e):o=new Kn(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=pe();for(o.sqrTo(s[1],f);a<=u;)s[a]=pe(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=t.t-1,m,d=!0,h=pe(),p;for(r=e0(t.data[l])-1;l>=0;){for(r>=c?m=t.data[l]>>r-c&u:(m=(t.data[l]&(1<<r+1)-1)<<c-r,l>0&&(m|=t.data[l-1]>>this.DB+r-c)),a=n;!(m&1);)m>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),d)s[m].copyTo(i),d=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(p=i,i=h,h=p),o.mulTo(h,s[m],i)}for(;l>=0&&!(t.data[l]&1<<r);)o.sqrTo(i,h),p=i,i=h,h=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function Gm(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function Ym(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function Qm(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return P.ZERO;for(var r=t.clone(),n=this.clone(),i=hn(1),o=hn(0),s=hn(0),a=hn(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(P.ONE)!=0)return P.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var Jt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],Wm=(1<<26)/Jt[Jt.length-1];function Zm(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Jt[Jt.length-1]){for(e=0;e<Jt.length;++e)if(r.data[0]==Jt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Jt.length;){for(var n=Jt[e],i=e+1;i<Jt.length&&n<Wm;)n*=Jt[i++];for(n=r.modInt(n);e<i;)if(n%Jt[e++]==0)return!1}return r.millerRabin(t)}function Xm(t){var e=this.subtract(P.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=jm(),o,s=0;s<t;++s){do o=new P(this.bitLength(),i);while(o.compareTo(P.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(P.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(P.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function jm(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}P.prototype.chunkSize=J9;P.prototype.toRadix=tm;P.prototype.fromRadix=rm;P.prototype.fromNumber=nm;P.prototype.bitwiseTo=cm;P.prototype.changeBit=Em;P.prototype.addTo=Cm;P.prototype.dMultiply=Nm;P.prototype.dAddOffset=Lm;P.prototype.multiplyLowerTo=Fm;P.prototype.multiplyUpperTo=Mm;P.prototype.modInt=Ym;P.prototype.millerRabin=Xm;P.prototype.clone=W9;P.prototype.intValue=Z9;P.prototype.byteValue=X9;P.prototype.shortValue=j9;P.prototype.signum=em;P.prototype.toByteArray=im;P.prototype.equals=om;P.prototype.min=sm;P.prototype.max=am;P.prototype.and=fm;P.prototype.or=lm;P.prototype.xor=hm;P.prototype.andNot=dm;P.prototype.not=pm;P.prototype.shiftLeft=mm;P.prototype.shiftRight=gm;P.prototype.getLowestSetBit=xm;P.prototype.bitCount=wm;P.prototype.testBit=vm;P.prototype.setBit=Sm;P.prototype.clearBit=Am;P.prototype.flipBit=Im;P.prototype.add=Tm;P.prototype.subtract=Bm;P.prototype.multiply=Rm;P.prototype.divide=_m;P.prototype.remainder=Pm;P.prototype.divideAndRemainder=Dm;P.prototype.modPow=Hm;P.prototype.modInverse=Qm;P.prototype.pow=Om;P.prototype.gcd=Gm;P.prototype.isProbablePrime=Zm});var _l=re((ZT,Rl)=>{var br=ve();Mn();$e();var Tl=Rl.exports=br.sha1=br.sha1||{};br.md.sha1=br.md.algorithms.sha1=Tl;Tl.create=function(){Bl||Jm();var t=null,e=br.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=br.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=br.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),Cl(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=br.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Q1.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};Cl(l,r,i);var m=br.util.createBuffer();return m.putInt32(l.h0),m.putInt32(l.h1),m.putInt32(l.h2),m.putInt32(l.h3),m.putInt32(l.h4),m},n};var Q1=null,Bl=!1;function Jm(){Q1="\x80",Q1+=br.util.fillString("\0",64),Bl=!0}function Cl(t,e,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,f=0;f<16;++f)n=r.getInt32(),e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,l-=64}}});var Nl=re((XT,Dl)=>{var wr=ve();$e();Bo();_l();var Pl=Dl.exports=wr.pkcs1=wr.pkcs1||{};Pl.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=wr.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",m=c-e.length,d=0;d<m;d++)l+="\0";var h=f.getBytes()+l+""+e;if(!i)i=wr.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var p=r0(i,a-o.digestLength-1,s),g=wr.util.xorBytes(h,p,h.length),y=r0(g,o.digestLength,s),x=wr.util.xorBytes(i,y,i.length);return"\0"+x+g};Pl.decode_rsa_oaep=function(t,e,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=e.length,g.expectedLength=s,g}if(i===void 0?i=wr.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),f=e.substring(1+i.digestLength),l=r0(f,i.digestLength,o),m=wr.util.xorBytes(u,l,u.length),d=r0(m,s-i.digestLength-1,o),h=wr.util.xorBytes(f,d,f.length),p=h.substring(0,i.digestLength),g=c!=="\0",y=0;y<i.digestLength;++y)g|=a.charAt(y)!==p.charAt(y);for(var x=1,b=i.digestLength,I=i.digestLength;I<h.length;I++){var v=h.charCodeAt(I),E=v&1^1,C=x?65534:0;g|=v&C,x=x&E,b+=x}if(g||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function r0(t,e,r){r||(r=wr.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var Ll=re((jT,W1)=>{var dn=ve();$e();t0();Bo();(function(){if(dn.prime){W1.exports=dn.prime;return}var t=W1.exports=dn.prime=dn.prime||{},e=dn.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(l,m){return l|m};t.generateProbablePrime=function(l,m,d){typeof m=="function"&&(d=m,m={}),m=m||{};var h=m.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=m.prng||dn.random,g={nextBytes:function(y){for(var x=p.getBytesSync(y.length),b=0;b<y.length;++b)y[b]=x.charCodeAt(b)}};if(h.name==="PRIMEINC")return o(l,g,h.options,d);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,m,d,h){return"workers"in d?c(l,m,d,h):s(l,m,d,h)}function s(l,m,d,h){var p=u(l,m),g=0,y=f(p.bitLength());"millerRabinTests"in d&&(y=d.millerRabinTests);var x=10;"maxBlockTime"in d&&(x=d.maxBlockTime),a(p,l,m,g,y,x,h)}function a(l,m,d,h,p,g,y){var x=+new Date;do{if(l.bitLength()>m&&(l=u(m,d)),l.isProbablePrime(p))return y(null,l);l.dAddOffset(r[h++%8],0)}while(g<0||+new Date-x<g);dn.util.setImmediate(function(){a(l,m,d,h,p,g,y)})}function c(l,m,d,h){if(typeof Worker>"u")return s(l,m,d,h);var p=u(l,m),g=d.workers,y=d.workLoad||100,x=y*30/8,b=d.workerScript||"forge/prime.worker.js";if(g===-1)return dn.util.estimateCores(function(v,E){v&&(E=2),g=E-1,I()});I();function I(){g=Math.max(1,g);for(var v=[],E=0;E<g;++E)v[E]=new Worker(b);for(var C=g,E=0;E<g;++E)v[E].addEventListener("message",L);var S=!1;function L(V){if(!S){--C;var F=V.data;if(F.found){for(var q=0;q<v.length;++q)v[q].terminate();return S=!0,h(null,new e(F.prime,16))}p.bitLength()>l&&(p=u(l,m));var X=p.toString(16);V.target.postMessage({hex:X,workLoad:y}),p.dAddOffset(x,0)}}}}function u(l,m){var d=new e(l,m),h=l-1;return d.testBit(h)||d.bitwiseTo(e.ONE.shiftLeft(h),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var i0=re((JT,Kl)=>{var Z=ve();To();t0();Ks();Nl();Ll();Bo();$e();typeof de>"u"&&(de=Z.jsbn.BigInteger);var de,Z1=Z.util.isNodejs?Ws():null,A=Z.asn1,Ft=Z.util;Z.pki=Z.pki||{};Kl.exports=Z.pki.rsa=Z.rsa=Z.rsa||{};var ee=Z.pki,eg=[6,4,2,4,2,4,6,2],tg={name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},rg={name:"RSAPrivateKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},ng={name:"RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},ig=Z.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},og={name:"DigestInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},sg=function(t){var e;if(t.algorithm in ee.oids)e=ee.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=A.oidToDer(e).getBytes(),i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]),o=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]);o.value.push(A.create(A.Class.UNIVERSAL,A.Type.OID,!1,n)),o.value.push(A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,""));var s=A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),A.toDer(i).getBytes()},Ml=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(de.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(de.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new de(Z.util.bytesToHex(Z.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(de.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};ee.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Vl(t,e,r)):(i=Z.util.createBuffer(),i.putBytes(t));for(var s=new de(i.toHex(),16),a=Ml(s,e,n),c=a.toString(16),u=Z.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Z.util.hexToBytes(c)),u.getBytes()};ee.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new de(Z.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Ml(s,e,r),c=a.toString(16),u=Z.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Z.util.hexToBytes(c)),n!==!1?n0(u.getBytes(),e,r):u.getBytes()};ee.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||Z.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new de(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};ee.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new de(null);r.fromInt(30);for(var n=0,i=function(l,m){return l|m},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new de(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(de.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(cg(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(eg[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(de.ONE).gcd(t.e).compareTo(de.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(de.ONE),t.q1=t.q.subtract(de.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(de.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var f=t.e.modInverse(t.phi);t.keys={privateKey:ee.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:ee.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};ee.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!Z.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(kl("generateKeyPair"))return Z1.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:ee.privateKeyFromPem(u),publicKey:ee.publicKeyFromPem(c)})});if(Ul("generateKey")&&Ul("exportKey"))return Ft.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Fl(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Ft.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=ee.privateKeyFromAsn1(A.fromDer(Z.util.createBuffer(a)));n(null,{privateKey:c,publicKey:ee.setRsaPublicKey(c.n,c.e)})}});if(Ol("generateKey")&&Ol("exportKey")){var i=Ft.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Fl(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Ft.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,m=ee.privateKeyFromAsn1(A.fromDer(Z.util.createBuffer(l)));n(null,{privateKey:m,publicKey:ee.setRsaPublicKey(m.n,m.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(kl("generateKeyPairSync")){var o=Z1.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:ee.privateKeyFromPem(o.privateKey),publicKey:ee.publicKeyFromPem(o.publicKey)}}}var s=ee.rsa.createKeyPairGenerationState(t,e,r);if(!n)return ee.rsa.stepKeyPairGenerationState(s,0),s.keys;ag(s,r,n)};ee.setRsaPublicKey=ee.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Vl(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return Z.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return ee.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=n0(u,r,!0);var f=A.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},m=[];if(!A.validate(f,og,l,m)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=m,d}var h=A.derToOid(l.algorithmIdentifier);if(!(h===Z.oids.md2||h===Z.oids.md5||h===Z.oids.sha1||h===Z.oids.sha224||h===Z.oids.sha256||h===Z.oids.sha384||h===Z.oids.sha512||h===Z.oids["sha512-224"]||h===Z.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=h,d}if((h===Z.oids.md2||h===Z.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=n0(u,r,!0),c===u}});var a=ee.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};ee.setRsaPrivateKey=ee.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var m=ee.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:n0};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(d,h){return Z.pkcs1.decode_rsa_oaep(h,d,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(m,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:sg},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var m=f.encode(u,c.n.bitLength());return ee.rsa.encrypt(m,c,l)},c};ee.wrapRsaPrivateKey=function(t){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(ee.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,A.toDer(t).getBytes())])};ee.privateKeyFromAsn1=function(t){var e={},r=[];if(A.validate(t,tg,e,r)&&(t=A.fromDer(Z.util.createBuffer(e.privateKey))),e={},r=[],!A.validate(t,rg,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,l;return i=Z.util.createBuffer(e.privateKeyModulus).toHex(),o=Z.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=Z.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=Z.util.createBuffer(e.privateKeyPrime1).toHex(),c=Z.util.createBuffer(e.privateKeyPrime2).toHex(),u=Z.util.createBuffer(e.privateKeyExponent1).toHex(),f=Z.util.createBuffer(e.privateKeyExponent2).toHex(),l=Z.util.createBuffer(e.privateKeyCoefficient).toHex(),ee.setRsaPrivateKey(new de(i,16),new de(o,16),new de(s,16),new de(a,16),new de(c,16),new de(u,16),new de(f,16),new de(l,16))};ee.privateKeyToAsn1=ee.privateKeyToRSAPrivateKey=function(t){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,vr(t.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,vr(t.e)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,vr(t.d)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,vr(t.p)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,vr(t.q)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,vr(t.dP)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,vr(t.dQ)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,vr(t.qInv))])};ee.publicKeyFromAsn1=function(t){var e={},r=[];if(A.validate(t,ig,e,r)){var n=A.derToOid(e.publicKeyOid);if(n!==ee.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!A.validate(t,ng,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=Z.util.createBuffer(e.publicKeyModulus).toHex(),s=Z.util.createBuffer(e.publicKeyExponent).toHex();return ee.setRsaPublicKey(new de(o,16),new de(s,16))};ee.publicKeyToAsn1=ee.publicKeyToSubjectPublicKeyInfo=function(t){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(ee.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.BITSTRING,!1,[ee.publicKeyToRSAPublicKey(t)])])};ee.publicKeyToRSAPublicKey=function(t){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,vr(t.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,vr(t.e))])};function Vl(t,e,r){var n=Z.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=Z.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function n0(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=Z.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function ag(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){Z.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(de.ONE).gcd(t.e).compareTo(de.ONE)!==0){t.p=null,i();return}if(t.q.subtract(de.ONE).gcd(t.e).compareTo(de.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(de.ONE),t.q1=t.q.subtract(de.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(de.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var f=t.e.modInverse(t.phi);t.keys={privateKey:ee.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:ee.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function vr(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=Z.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function cg(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function kl(t){return Z.util.isNodejs&&typeof Z1[t]=="function"}function Ul(t){return typeof Ft.globalScope<"u"&&typeof Ft.globalScope.crypto=="object"&&typeof Ft.globalScope.crypto.subtle=="object"&&typeof Ft.globalScope.crypto.subtle[t]=="function"}function Ol(t){return typeof Ft.globalScope<"u"&&typeof Ft.globalScope.msCrypto=="object"&&typeof Ft.globalScope.msCrypto.subtle=="object"&&typeof Ft.globalScope.msCrypto.subtle[t]=="function"}function Fl(t){for(var e=Z.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Yl=re((eB,Gl)=>{var z=ve();Gs();To();j3();Mn();Ks();K1();ol();Bo();yl();i0();$e();typeof ql>"u"&&(ql=z.jsbn.BigInteger);var ql,B=z.asn1,ne=z.pki=z.pki||{};Gl.exports=ne.pbe=z.pbe=z.pbe||{};var qn=ne.oids,ug={name:"EncryptedPrivateKeyInfo",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},fg={name:"PBES2Algorithms",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},lg={name:"pkcs-12PbeParams",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,capture:"iterations"}]};ne.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=z.random.getBytesSync(r.saltSize),i=r.count,o=B.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=qn["aes128-CBC"],l=z.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=qn["aes192-CBC"],l=z.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=qn["aes256-CBC"],l=z.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=qn.desCBC,l=z.des.createEncryptionCipher;break;default:var m=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw m.algorithm=r.algorithm,m}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),h=Hl(d),p=z.pkcs5.pbkdf2(e,n,i,s,h),g=z.random.getBytesSync(u),y=l(p);y.start(g),y.update(B.toDer(t)),y.finish(),c=y.output.getBytes();var x=hg(n,o,s,d);a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(qn.pkcs5PBES2).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(qn.pkcs5PBKDF2).getBytes()),x]),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(f).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var b=new z.util.ByteBuffer(n),p=ne.pbe.generatePkcs12Key(e,b,1,i,s),g=ne.pbe.generatePkcs12Key(e,b,2,i,s),y=z.des.createEncryptionCipher(p);y.start(g),y.update(B.toDer(t)),y.finish(),c=y.output.getBytes(),a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(qn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,n),B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,o.getBytes())])])}else{var m=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw m.algorithm=r.algorithm,m}var I=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[a,B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,c)]);return I};ne.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!B.validate(t,ug,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=B.derToOid(n.encryptionOid),a=ne.pbe.getCipher(s,n.encryptionParams,e),c=z.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=B.fromDer(a.output)),r};ne.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:B.toDer(t).getBytes()};return z.pem.encode(r,{maxline:e})};ne.encryptedPrivateKeyFromPem=function(t){var e=z.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return B.fromDer(e.body)};ne.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=ne.wrapRsaPrivateKey(ne.privateKeyToAsn1(t));return n=ne.encryptPrivateKeyInfo(n,e,r),ne.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=z.pbe.opensslDeriveBytes(e,o.substr(0,8),s),f=a(u);f.start(o),f.update(B.toDer(ne.privateKeyToAsn1(t))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:z.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return z.pem.encode(l)};ne.decryptRsaPrivateKey=function(t,e){var r=null,n=z.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=z.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=z.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=z.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=z.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=z.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return z.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return z.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return z.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=z.util.hexToBytes(n.dekInfo.parameters),c=z.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(z.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=ne.decryptPrivateKeyInfo(B.fromDer(r),e):r=B.fromDer(r),r!==null&&(r=ne.privateKeyFromAsn1(r)),r};ne.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in z.md))throw new Error('"sha1" hash algorithm unavailable.');o=z.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new z.util.ByteBuffer,l=new z.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)l.putInt16(t.charCodeAt(a));l.putInt16(0)}var m=l.length(),d=e.length(),h=new z.util.ByteBuffer;h.fillWithByte(r,u);var p=u*Math.ceil(d/u),g=new z.util.ByteBuffer;for(a=0;a<p;a++)g.putByte(e.at(a%d));var y=u*Math.ceil(m/u),x=new z.util.ByteBuffer;for(a=0;a<y;a++)x.putByte(l.at(a%m));var b=g;b.putBuffer(x);for(var I=Math.ceil(i/c),v=1;v<=I;v++){var E=new z.util.ByteBuffer;E.putBytes(h.bytes()),E.putBytes(b.bytes());for(var C=0;C<n;C++)o.start(),o.update(E.getBytes()),E=o.digest();var S=new z.util.ByteBuffer;for(a=0;a<u;a++)S.putByte(E.at(a%c));var L=Math.ceil(d/u)+Math.ceil(m/u),V=new z.util.ByteBuffer;for(s=0;s<L;s++){var F=new z.util.ByteBuffer(b.getBytes(u)),q=511;for(a=S.length()-1;a>=0;a--)q=q>>8,q+=S.at(a)+F.at(a),F.setAt(a,q&255);V.putBuffer(F)}b=V,f.putBuffer(E)}return f.truncate(f.length()-i),f};ne.pbe.getCipher=function(t,e,r){switch(t){case ne.oids.pkcs5PBES2:return ne.pbe.getCipherForPBES2(t,e,r);case ne.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case ne.oids["pbewithSHAAnd40BitRC2-CBC"]:return ne.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};ne.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!B.validate(e,fg,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=B.derToOid(n.kdfOid),t!==ne.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=B.derToOid(n.encOid),t!==ne.oids["aes128-CBC"]&&t!==ne.oids["aes192-CBC"]&&t!==ne.oids["aes256-CBC"]&&t!==ne.oids["des-EDE3-CBC"]&&t!==ne.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=z.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(ne.oids[t]){case"aes128-CBC":c=16,u=z.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=z.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=z.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=z.des.createDecryptionCipher;break;case"desCBC":c=8,u=z.des.createDecryptionCipher;break}var f=$l(n.prfOid),l=z.pkcs5.pbkdf2(r,s,a,c,f),m=n.encIv,d=u(l);return d.start(m),d};ne.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!B.validate(e,lg,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=z.util.createBuffer(n.salt),a=z.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(t){case ne.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=z.des.startDecrypting;break;case ne.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,g){var y=z.rc2.createDecryptionCipher(p,40);return y.start(g,null),y};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var l=$l(n.prfOid),m=ne.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var d=ne.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(m,d)};ne.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in z.md))throw new Error('"md5" hash algorithm unavailable.');n=z.md.md5.create()}e===null&&(e="");for(var i=[zl(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(zl(n,i[s-1]+t+e));return i.join("").substr(0,r)};function zl(t,e){return t.start().update(e).digest().getBytes()}function $l(t){var e;if(!t)e="hmacWithSHA1";else if(e=ne.oids[B.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Hl(e)}function Hl(t){var e=z.md;switch(t){case"hmacWithSHA224":e=z.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function hg(t,e,r,n){var i=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,t),B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,z.util.hexToBytes(r.toString(16))),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(ne.oids[n]).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.NULL,!1,"")])),i}});var H4=re((p_,$4)=>{var Re=ve();Mn();$e();var Fo=$4.exports=Re.sha512=Re.sha512||{};Re.md.sha512=Re.md.algorithms.sha512=Fo;var q4=Re.sha384=Re.sha512.sha384=Re.sha512.sha384||{};q4.create=function(){return Fo.create("SHA-384")};Re.md.sha384=Re.md.algorithms.sha384=q4;Re.sha512.sha256=Re.sha512.sha256||{create:function(){return Fo.create("SHA-512/256")}};Re.md["sha512/256"]=Re.md.algorithms["sha512/256"]=Re.sha512.sha256;Re.sha512.sha224=Re.sha512.sha224||{create:function(){return Fo.create("SHA-512/224")}};Re.md["sha512/224"]=Re.md.algorithms["sha512/224"]=Re.sha512.sha224;Fo.create=function(t){if(z4||ky(),typeof t>"u"&&(t="SHA-512"),!(t in Wn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Wn[t],r=null,n=Re.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=Re.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=Re.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),K4(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Re.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(_2.substr(0,a.blockLength-f));for(var l,m,d=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,m=l/4294967296>>>0,d+=m,c.putInt32(d>>>0),d=l>>>0;c.putInt32(d);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);K4(p,i,c);var g=Re.util.createBuffer(),y;t==="SHA-512"?y=p.length:t==="SHA-384"?y=p.length-2:y=p.length-4;for(var h=0;h<y;++h)g.putInt32(p[h][0]),(h!==y-1||t!=="SHA-512/224")&&g.putInt32(p[h][1]);return g},a};var _2=null,z4=!1,P2=null,Wn=null;function ky(){_2="\x80",_2+=Re.util.fillString("\0",128),P2=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],Wn={},Wn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Wn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Wn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Wn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],z4=!0}function K4(t,e,r){for(var n,i,o,s,a,c,u,f,l,m,d,h,p,g,y,x,b,I,v,E,C,S,L,V,F,q,X,oe,T,D,N,O,_,$,G,j=r.length();j>=128;){for(T=0;T<16;++T)e[T][0]=r.getInt32()>>>0,e[T][1]=r.getInt32()>>>0;for(;T<80;++T)O=e[T-2],D=O[0],N=O[1],n=((D>>>19|N<<13)^(N>>>29|D<<3)^D>>>6)>>>0,i=((D<<13|N>>>19)^(N<<3|D>>>29)^(D<<26|N>>>6))>>>0,$=e[T-15],D=$[0],N=$[1],o=((D>>>1|N<<31)^(D>>>8|N<<24)^D>>>7)>>>0,s=((D<<31|N>>>1)^(D<<24|N>>>8)^(D<<25|N>>>7))>>>0,_=e[T-7],G=e[T-16],N=i+_[1]+s+G[1],e[T][0]=n+_[0]+o+G[0]+(N/4294967296>>>0)>>>0,e[T][1]=N>>>0;for(p=t[0][0],g=t[0][1],y=t[1][0],x=t[1][1],b=t[2][0],I=t[2][1],v=t[3][0],E=t[3][1],C=t[4][0],S=t[4][1],L=t[5][0],V=t[5][1],F=t[6][0],q=t[6][1],X=t[7][0],oe=t[7][1],T=0;T<80;++T)u=((C>>>14|S<<18)^(C>>>18|S<<14)^(S>>>9|C<<23))>>>0,f=((C<<18|S>>>14)^(C<<14|S>>>18)^(S<<23|C>>>9))>>>0,l=(F^C&(L^F))>>>0,m=(q^S&(V^q))>>>0,a=((p>>>28|g<<4)^(g>>>2|p<<30)^(g>>>7|p<<25))>>>0,c=((p<<4|g>>>28)^(g<<30|p>>>2)^(g<<25|p>>>7))>>>0,d=(p&y|b&(p^y))>>>0,h=(g&x|I&(g^x))>>>0,N=oe+f+m+P2[T][1]+e[T][1],n=X+u+l+P2[T][0]+e[T][0]+(N/4294967296>>>0)>>>0,i=N>>>0,N=c+h,o=a+d+(N/4294967296>>>0)>>>0,s=N>>>0,X=F,oe=q,F=L,q=V,L=C,V=S,N=E+i,C=v+n+(N/4294967296>>>0)>>>0,S=N>>>0,v=b,E=I,b=y,I=x,y=p,x=g,N=i+s,p=n+o+(N/4294967296>>>0)>>>0,g=N>>>0;N=t[0][1]+g,t[0][0]=t[0][0]+p+(N/4294967296>>>0)>>>0,t[0][1]=N>>>0,N=t[1][1]+x,t[1][0]=t[1][0]+y+(N/4294967296>>>0)>>>0,t[1][1]=N>>>0,N=t[2][1]+I,t[2][0]=t[2][0]+b+(N/4294967296>>>0)>>>0,t[2][1]=N>>>0,N=t[3][1]+E,t[3][0]=t[3][0]+v+(N/4294967296>>>0)>>>0,t[3][1]=N>>>0,N=t[4][1]+S,t[4][0]=t[4][0]+C+(N/4294967296>>>0)>>>0,t[4][1]=N>>>0,N=t[5][1]+V,t[5][0]=t[5][0]+L+(N/4294967296>>>0)>>>0,t[5][1]=N>>>0,N=t[6][1]+q,t[6][0]=t[6][0]+F+(N/4294967296>>>0)>>>0,t[6][1]=N>>>0,N=t[7][1]+oe,t[7][0]=t[7][0]+X+(N/4294967296>>>0)>>>0,t[7][1]=N>>>0,j-=128}}});var Li=re((IP,g6)=>{"use strict";function m6(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function hx(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return m6(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),m6(new i,r)}}g6.exports=hx});var $2=re((_P,z2)=>{var RP=function(){typeof z2<"u"&&(z2.exports=p);var t=86400,e=3200,r=146097*e/400,n=t*r,i=1e3*n,o=864e13,s=4294967296,a=1e6,c="000000000",u=Math.trunc||function(S){var L=S-S%1;return L==0&&(S<0||S===0&&1/S!=1/0)?-0:L},f=p.prototype,l=(p.fromDate=function(S){return new p(+S)},p.fromInt64BE=I(0,1,2,3,0,4),p.fromInt64LE=I(3,2,1,0,4,0),p.fromString=function(F){var L,V=new p,F=(F+="").replace(/^\s*[+\-]?\d+/,function(X){var X=+X,oe=1970+(X-1970)%400;return V.year=X-oe,oe}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(q,X,oe){return X<0&&(oe*=-1),L=6e4*(60*+X+ +oe),""}).replace(/\.\d+$/,function(q){return V.nano=+(q+c).substr(1,9),""}).split(/\D+/);if(1<F.length?F[1]--:F[1]=0,V.time=L=Date.UTC.apply(Date,F)-(L||0),isNaN(L))throw new TypeError("Invalid Date");return g(V)},p.fromTimeT=function(S){return x(S,0)},f.year=0,f.time=0,f.nano=0,f.addNano=function(S){return this.nano+=+S||0,this},f.getNano=function(){var S=g(this);return(S.time%1e3*a+ +S.nano+1e9)%1e9},f.getTimeT=function(){var L=g(this),S=Math.floor(L.time/1e3),L=L.year;return L&&(S+=L*r*t/e),S},f.getYear=function(){return this.toDate().getUTCFullYear()+this.year},f.toDate=function(){return y(g(this).time)},f.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},f.toString=function(S){var L=this,V=L.toDate(),F={H:function(){return E(V.getUTCHours())},L:function(){return C(V.getUTCMilliseconds(),3)},M:function(){return E(V.getUTCMinutes())},N:function(){return C(L.getNano(),9)},S:function(){return E(V.getUTCSeconds())},Y:function(){var q=L.getYear();return 999999<q?"+"+q:9999<q?"+"+C(q,6):0<=q?C(q,4):-999999<=q?"-"+C(-q,6):q},a:function(){return d[V.getUTCDay()]},b:function(){return m[V.getUTCMonth()]},d:function(){return E(V.getUTCDate())},e:function(){return function(q){return(9<q?"":" ")+(0|q)}(V.getUTCDate())},m:function(){return E(V.getUTCMonth()+1)}};return function q(X){return X.replace(/%./g,function(oe){var D=oe[1],T=h[D],D=F[D];return T?q(T):D?D():oe})}(S||l)},f.writeInt64BE=b(0,1,2,3,0,4),f.writeInt64LE=b(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),m=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],d=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],h={"%":"%",F:"%Y-%m-%d",n:`
|
|
16
|
-
`,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return p;function p(S,L,V){var F=this;if(!(F instanceof p))return new p(S,L,V);F.time=+S||0,F.nano=+L||0,F.year=+V||0,g(F)}function g(S){var L,V,F,q=S.year,X=S.time,oe=S.nano,T=((oe<0||a<=oe)&&(oe-=(V=Math.floor(oe/a))*a,X+=V,V=1),q%e);return(X<-o||o<X||T)&&((L=u(X/i))&&(q+=L*e,X-=L*i),(F=y(X)).setUTCFullYear(T+F.getUTCFullYear()),F=(X=+F)+(L=u((q-=T)/e))*i,L&&-o<=F&&F<=o&&(q-=L*e,X=F),V=1),V&&(S.year=q,S.time=X,S.nano=oe),S}function y(S){var L=new Date(0);return L.setTime(S),L}function x(q,F){q=+q||0;var V=u((F=(F|0)*s)/n)+u(q/n),F=F%n+q%n,q=u(F/n);return q&&(V+=q,F-=q*n),new p(1e3*F,0,V*e)}function b(S,L,V,F,q,X){return function(T,D){var O=g(this);T=T||new Array(8),v(T,D|=0);var _=Math.floor(O.time/1e3),O=O.year*(r*t/e),N=u(O/s)+u(_/s),O=O%s+_%s,_=Math.floor(O/s);return _&&(N+=_,O-=_*s),oe(T,D+q,N),oe(T,D+X,O),T};function oe(T,D,N){T[D+S]=N>>24&255,T[D+L]=N>>16&255,T[D+V]=N>>8&255,T[D+F]=255&N}}function I(S,L,V,F,q,X){return function(T,D){v(T,D|=0);var N=oe(T,D+q);return x(oe(T,D+X),N)};function oe(T,D){return 16777216*T[D+S]+(T[D+L]<<16|T[D+V]<<8|T[D+F])}}function v(S,L){if(S=S&&S.length,S==null)throw new TypeError("Invalid Buffer");if(S<L+8)throw new RangeError("Out of range")}function E(S){return(9<S?"":"0")+(0|S)}function C(S,L){return(c+(0|S)).substr(-L)}}()});var _8=re(($L,R8)=>{R8.exports=ru;var B8=128,Ev=127,Sv=~Ev,Av=Math.pow(2,31);function ru(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw ru.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=Av;)e[r++]=t&255|B8,t/=128;for(;t&Sv;)e[r++]=t&255|B8,t>>>=7;return e[r]=t|0,ru.bytes=r-n+1,e}});var N8=re((HL,D8)=>{D8.exports=nu;var Iv=128,P8=127;function nu(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a||i>49)throw nu.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&P8)<<i:(s&P8)*Math.pow(2,i),i+=7}while(s>=Iv);return nu.bytes=o-n,r}});var k8=re((GL,L8)=>{var Cv=Math.pow(2,7),Tv=Math.pow(2,14),Bv=Math.pow(2,21),Rv=Math.pow(2,28),_v=Math.pow(2,35),Pv=Math.pow(2,42),Dv=Math.pow(2,49),Nv=Math.pow(2,56),Lv=Math.pow(2,63);L8.exports=function(t){return t<Cv?1:t<Tv?2:t<Bv?3:t<Rv?4:t<_v?5:t<Pv?6:t<Dv?7:t<Nv?8:t<Lv?9:10}});var j0=re((YL,U8)=>{U8.exports={encode:_8(),decode:N8(),encodingLength:k8()}});var tf=re((VO,Mh)=>{"use strict";var VS=typeof navigator<"u"&&navigator.product==="ReactNative";function KS(){return VS?"http://localhost":self.location?self.location.protocol+"//"+self.location.host:""}var xs=self.URL,Fh=KS(),ef=class{constructor(e="",r=Fh){this.super=new xs(e,r),this.path=this.pathname+this.search,this.auth=this.username&&this.password?this.username+":"+this.password:null,this.query=this.search&&this.search.startsWith("?")?this.search.slice(1):null}get hash(){return this.super.hash}get host(){return this.super.host}get hostname(){return this.super.hostname}get href(){return this.super.href}get origin(){return this.super.origin}get password(){return this.super.password}get pathname(){return this.super.pathname}get port(){return this.super.port}get protocol(){return this.super.protocol}get search(){return this.super.search}get searchParams(){return this.super.searchParams}get username(){return this.super.username}set hash(e){this.super.hash=e}set host(e){this.super.host=e}set hostname(e){this.super.hostname=e}set href(e){this.super.href=e}set password(e){this.super.password=e}set pathname(e){this.super.pathname=e}set port(e){this.super.port=e}set protocol(e){this.super.protocol=e}set search(e){this.super.search=e}set username(e){this.super.username=e}static createObjectURL(e){return xs.createObjectURL(e)}static revokeObjectURL(e){xs.revokeObjectURL(e)}toJSON(){return this.super.toJSON()}toString(){return this.super.toString()}format(){return this.toString()}};function qS(t){if(typeof t=="string")return new xs(t).toString();if(!(t instanceof xs)){let e=t.username&&t.password?`${t.username}:${t.password}@`:"",r=t.auth?t.auth+"@":"",n=t.port?":"+t.port:"",i=t.protocol?t.protocol+"//":"",o=t.host||"",s=t.hostname||"",a=t.search||(t.query?"?"+t.query:""),c=t.hash||"",u=t.pathname||"",f=t.path||u+a;return`${i}${e||r}${o||s+n}${f}${c}`}}Mh.exports={URLWithLegacySupport:ef,URLSearchParams:self.URLSearchParams,defaultBase:Fh,format:qS}});var qh=re((KO,Kh)=>{"use strict";var{URLWithLegacySupport:Vh,format:zS}=tf();Kh.exports=(t,e={},r={},n)=>{let i=e.protocol?e.protocol.replace(":",""):"http";i=(r[i]||n||i)+":";let o;try{o=new Vh(t)}catch{o={}}let s=Object.assign({},e,{protocol:i||o.protocol,host:e.host||o.host});return new Vh(t,zS(s)).toString()}});var $h=re((qO,zh)=>{"use strict";var{URLWithLegacySupport:$S,format:HS,URLSearchParams:GS,defaultBase:YS}=tf(),QS=qh();zh.exports={URL:$S,URLSearchParams:GS,format:HS,relative:QS,defaultBase:YS}});var Zh=re((XO,Wh)=>{"use strict";Wh.exports=Qh;var JS=o1(),_n=Qh.prototype,eA=new Date%1e9;function tA(){return(Math.random()*1e9>>>0)+eA++}function Qh(t){t=t||{},this.id=t.id||tA(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}_n.has=function(t){return t in this._lookup};_n.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};_n.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};_n.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};_n.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};_n.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=JS(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};_n.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};_n.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var ed=re((JO,cf)=>{"use strict";var nA=Object.prototype.hasOwnProperty,wt="~";function bs(){}Object.create&&(bs.prototype=Object.create(null),new bs().__proto__||(wt=!1));function iA(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function Jh(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new iA(r,n||t,i),s=wt?wt+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],o]:t._events[s].push(o):(t._events[s]=o,t._eventsCount++),t}function fa(t,e){--t._eventsCount===0?t._events=new bs:delete t._events[e]}function dt(){this._events=new bs,this._eventsCount=0}dt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)nA.call(r,n)&&e.push(wt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};dt.prototype.listeners=function(e){var r=wt?wt+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};dt.prototype.listenerCount=function(e){var r=wt?wt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};dt.prototype.emit=function(e,r,n,i,o,s){var a=wt?wt+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!0}for(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var m=c.length,d;for(l=0;l<m;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,r);break;case 3:c[l].fn.call(c[l].context,r,n);break;case 4:c[l].fn.call(c[l].context,r,n,i);break;default:if(!f)for(d=1,f=new Array(u-1);d<u;d++)f[d-1]=arguments[d];c[l].fn.apply(c[l].context,f)}}return!0};dt.prototype.on=function(e,r,n){return Jh(this,e,r,n,!1)};dt.prototype.once=function(e,r,n){return Jh(this,e,r,n,!0)};dt.prototype.removeListener=function(e,r,n,i){var o=wt?wt+e:e;if(!this._events[o])return this;if(!r)return fa(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&fa(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:fa(this,o)}return this};dt.prototype.removeAllListeners=function(e){var r;return e?(r=wt?wt+e:e,this._events[r]&&fa(this,r)):(this._events=new bs,this._eventsCount=0),this};dt.prototype.off=dt.prototype.removeListener;dt.prototype.addListener=dt.prototype.on;dt.prefixed=wt;dt.EventEmitter=dt;typeof cf<"u"&&(cf.exports=dt)});var hf=re((uF,nd)=>{nd.exports=function(t){if(!t)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,r=Object.create(null),n=Object.create(null);function i(o,s){r[o]=s,e++,e>=t&&(e=0,n=r,r=Object.create(null))}return{has:function(o){return r[o]!==void 0||n[o]!==void 0},remove:function(o){r[o]!==void 0&&(r[o]=void 0),n[o]!==void 0&&(n[o]=void 0)},get:function(o){var s=r[o];if(s!==void 0)return s;if((s=n[o])!==void 0)return i(o,s),s},set:function(o,s){r[o]!==void 0?r[o]=s:i(o,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var xd=re(Cs=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,f,l,m;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,l=(c&65280)>>>8,m=c&255,[u,f,l,m].join(".")},s=function(c){var u,f,l,m,d,h;for(u=[],l=m=0;m<=3&&c.length!==0;l=++m){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),d=h[0],f=h[1],c=c.substring(f),u.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,f,l,m,d;for(m=0,u=10,f="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,f="7")),d=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)m=m*u+(r(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")m=m*u+(10+r(c[l])-o)>>>0;else if("A"<=c[l]&&c[l]<="F")m=m*u+(10+r(c[l])-i)>>>0;else break;else break;if(m>4294967295)throw new Error("too large");l++}if(l===d)throw new Error("empty octet");return[m,l]},t=function(){function c(u,f){var l,m,d,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(h=u.split("/",2),u=h[0],f=h[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(p){throw l=p,new Error("Invalid mask: "+f)}for(m=d=32;d>=0;m=--d)if(this.maskLong===4294967295<<32-m>>>0){this.bitmask=m;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(u)&this.maskLong)>>>0}catch(p){throw l=p,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,l,m;for(m=s(this.first),l=s(this.last),f=0;m<=l;)u(a(m),m,f),f++,m++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Cs.ip2long=s,Cs.long2ip=a,Cs.Netmask=t}).call(Cs)});var Ed=re((vd,ba)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"i")};function c(d,h){if(d.indexOf("::")!==d.lastIndexOf("::"))return null;let p=0,g=-1,y=(d.match(a.zoneIndex)||[])[0],x,b;for(y&&(y=y.substring(1),d=d.replace(/%.+$/,""));(g=d.indexOf(":",g+1))>=0;)p++;if(d.substr(0,2)==="::"&&p--,d.substr(-2,2)==="::"&&p--,p>h)return null;for(b=h-p,x=":";b--;)x+="0:";return d=d.replace("::",x),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),h=function(){let I=d.split(":"),v=[];for(let E=0;E<I.length;E++)v.push(parseInt(I[E],16));return v}(),{parts:h,zoneId:y}}function u(d,h,p,g){if(d.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let y=0,x;for(;g>0;){if(x=p-g,x<0&&(x=0),d[y]>>x!==h[y]>>x)return!1;g-=p,y+=1}return!0}function f(d){if(i.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(n.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function l(d,h){for(;d.length<h;)d=`0${d}`;return d}let m={};m.IPv4=function(){function d(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let p,g;for(p=0;p<h.length;p++)if(g=h[p],!(0<=g&&g<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return d.prototype.SpecialRanges={unspecified:[[new d([0,0,0,0]),8]],broadcast:[[new d([255,255,255,255]),32]],multicast:[[new d([224,0,0,0]),4]],linkLocal:[[new d([169,254,0,0]),16]],loopback:[[new d([127,0,0,0]),8]],carrierGradeNat:[[new d([100,64,0,0]),10]],private:[[new d([10,0,0,0]),8],[new d([172,16,0,0]),12],[new d([192,168,0,0]),16]],reserved:[[new d([192,0,0,0]),24],[new d([192,0,2,0]),24],[new d([192,88,99,0]),24],[new d([198,18,0,0]),15],[new d([198,51,100,0]),24],[new d([203,0,113,0]),24],[new d([240,0,0,0]),4]]},d.prototype.kind=function(){return"ipv4"},d.prototype.match=function(h,p){let g;if(p===void 0&&(g=h,h=g[0],p=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,p)},d.prototype.prefixLengthFromSubnetMask=function(){let h=0,p=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},y,x,b;for(y=3;y>=0;y-=1)if(x=this.octets[y],x in g){if(b=g[x],p&&b!==0)return null;b!==8&&(p=!0),h+=b}else return null;return 32-h},d.prototype.range=function(){return m.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return m.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),m.IPv4.broadcastAddressFromCIDR=function(d){try{let h=this.parseCIDR(d),p=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<4;)y.push(parseInt(p[x],10)|parseInt(g[x],10)^255),x++;return new this(y)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},m.IPv4.isIPv4=function(d){return this.parser(d)!==null},m.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch{return!1}},m.IPv4.isValidFourPartDecimal=function(d){return!!(m.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},m.IPv4.networkAddressFromCIDR=function(d){let h,p,g,y,x;try{for(h=this.parseCIDR(d),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],p=0;p<4;)y.push(parseInt(g[p],10)&parseInt(x[p],10)),p++;return new this(y)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},m.IPv4.parse=function(d){let h=this.parser(d);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},m.IPv4.parseCIDR=function(d){let h;if(h=d.match(/^(.+)\/(\d+)$/)){let p=parseInt(h[2]);if(p>=0&&p<=32){let g=[this.parse(h[1]),p];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},m.IPv4.parser=function(d){let h,p,g;if(h=d.match(r.fourOctet))return function(){let y=h.slice(1,6),x=[];for(let b=0;b<y.length;b++)p=y[b],x.push(f(p));return x}();if(h=d.match(r.longValue)){if(g=f(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let y=[],x;for(x=0;x<=24;x+=8)y.push(g>>x&255);return y}().reverse()}else return(h=d.match(r.twoOctet))?function(){let y=h.slice(1,4),x=[];if(g=f(y[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return x.push(f(y[0])),x.push(g>>16&255),x.push(g>>8&255),x.push(g&255),x}():(h=d.match(r.threeOctet))?function(){let y=h.slice(1,5),x=[];if(g=f(y[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return x.push(f(y[0])),x.push(f(y[1])),x.push(g>>8&255),x.push(g&255),x}():null},m.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],p=0,g=Math.floor(d/8);for(;p<g;)h[p]=255,p++;return g<4&&(h[g]=Math.pow(2,d%8)-1<<8-d%8),new this(h)},m.IPv6=function(){function d(h,p){let g,y;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(y=this.parts[g],!(0<=y&&y<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");p&&(this.zoneId=p)}return d.prototype.SpecialRanges={unspecified:[new d([0,0,0,0,0,0,0,0]),128],linkLocal:[new d([65152,0,0,0,0,0,0,0]),10],multicast:[new d([65280,0,0,0,0,0,0,0]),8],loopback:[new d([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new d([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new d([0,0,0,0,0,65535,0,0]),96],rfc6145:[new d([0,0,0,0,65535,0,0,0]),96],rfc6052:[new d([100,65435,0,0,0,0,0,0]),96],"6to4":[new d([8194,0,0,0,0,0,0,0]),16],teredo:[new d([8193,0,0,0,0,0,0,0]),32],reserved:[[new d([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new d([8193,2,0,0,0,0,0,0]),48],amt:[new d([8193,3,0,0,0,0,0,0]),32],as112v6:[new d([8193,4,274,0,0,0,0,0]),48],deprecated:[new d([8193,16,0,0,0,0,0,0]),28],orchid2:[new d([8193,32,0,0,0,0,0,0]),28]},d.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},d.prototype.kind=function(){return"ipv6"},d.prototype.match=function(h,p){let g;if(p===void 0&&(g=h,h=g[0],p=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,p)},d.prototype.prefixLengthFromSubnetMask=function(){let h=0,p=!1,g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},y,x;for(let b=7;b>=0;b-=1)if(y=this.parts[b],y in g){if(x=g[y],p&&x!==0)return null;x!==16&&(p=!0),h+=x}else return null;return 128-h},d.prototype.range=function(){return m.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let h,p=[],g=this.parts;for(let y=0;y<g.length;y++)h=g[y],p.push(h>>8),p.push(h&255);return p},d.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(l(this.parts[y].toString(16),4));return g}.call(this).join(":"),p="";return this.zoneId&&(p=`%${this.zoneId}`),h+p},d.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),p=h[0],g=h[1];return new m.IPv4([p>>8,p&255,g>>8,g&255])},d.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(this.parts[y].toString(16));return g}.call(this).join(":"),p="";return this.zoneId&&(p=`%${this.zoneId}`),h+p},d.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,p=this.toNormalizedString(),g=0,y=-1,x;for(;x=h.exec(p);)x[0].length>y&&(g=x.index,y=x[0].length);return y<0?p:`${p.substring(0,g)}::${p.substring(g+y)}`},d.prototype.toString=function(){return this.toRFC5952String()},d}(),m.IPv6.broadcastAddressFromCIDR=function(d){try{let h=this.parseCIDR(d),p=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<16;)y.push(parseInt(p[x],10)|parseInt(g[x],10)^255),x++;return new this(y)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},m.IPv6.isIPv6=function(d){return this.parser(d)!==null},m.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{let h=this.parser(d);return new this(h.parts,h.zoneId),!0}catch{return!1}},m.IPv6.networkAddressFromCIDR=function(d){let h,p,g,y,x;try{for(h=this.parseCIDR(d),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],p=0;p<16;)y.push(parseInt(g[p],10)&parseInt(x[p],10)),p++;return new this(y)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},m.IPv6.parse=function(d){let h=this.parser(d);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},m.IPv6.parseCIDR=function(d){let h,p,g;if((p=d.match(/^(.+)\/(\d+)$/))&&(h=parseInt(p[2]),h>=0&&h<=128))return g=[this.parse(p[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},m.IPv6.parser=function(d){let h,p,g,y,x,b;if(g=d.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(d))return c(d,8);if((g=d.match(a.transitional))&&(b=g[6]||"",h=c(g[1].slice(0,-1)+b,6),h.parts)){for(x=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],p=0;p<x.length;p++)if(y=x[p],!(0<=y&&y<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},m.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],p=0,g=Math.floor(d/8);for(;p<g;)h[p]=255,p++;return g<16&&(h[g]=Math.pow(2,d%8)-1<<8-d%8),new this(h)},m.fromByteArray=function(d){let h=d.length;if(h===4)return new m.IPv4(d);if(h===16)return new m.IPv6(d);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},m.isValid=function(d){return m.IPv6.isValid(d)||m.IPv4.isValid(d)},m.parse=function(d){if(m.IPv6.isValid(d))return m.IPv6.parse(d);if(m.IPv4.isValid(d))return m.IPv4.parse(d);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},m.parseCIDR=function(d){try{return m.IPv6.parseCIDR(d)}catch{try{return m.IPv4.parseCIDR(d)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},m.process=function(d){let h=this.parse(d);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},m.subnetMatch=function(d,h,p){let g,y,x,b;p==null&&(p="unicast");for(y in h)if(Object.prototype.hasOwnProperty.call(h,y)){for(x=h[y],x[0]&&!(x[0]instanceof Array)&&(x=[x]),g=0;g<x.length;g++)if(b=x[g],d.kind()===b[0].kind()&&d.match.apply(d,b))return y}return p},typeof ba<"u"&&ba.exports?ba.exports=m:t.ipaddr=m})(vd)});var UI={};Q(UI,{ipns:()=>kI,ipnsSelector:()=>z0,ipnsValidator:()=>uc});var FI=Symbol.for("@libp2p/connection");var n3=Symbol.for("@libp2p/content-routing");var i3=Symbol.for("@libp2p/peer-discovery");var n1=Symbol.for("@libp2p/peer-id");function o3(t){return t!=null&&!!t[n1]}var s3=Symbol.for("@libp2p/peer-routing");var a3;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(a3||(a3={}));var YI=Symbol.for("@libp2p/transport");var c3;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(c3||(c3={}));var on=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},k=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ut=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new pt(e,r))}},i1=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},pt=globalThis.CustomEvent??i1;var Pr=(t,...e)=>{try{[...e]}catch{}};var Rt=ce(s1(),1);var l1={};Q(l1,{base32:()=>Wt,base32hex:()=>H7,base32hexpad:()=>Y7,base32hexpadupper:()=>Q7,base32hexupper:()=>G7,base32pad:()=>z7,base32padupper:()=>$7,base32upper:()=>x3,base32z:()=>W7});var TC=new Uint8Array(0);function h3(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function Dr(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function d3(t){return new TextEncoder().encode(t)}function p3(t){return new TextDecoder().decode(t)}function F7(t,e){if(t.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 i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,p++;for(var b=(x-y)*f+1>>>0,I=new Uint8Array(b);y!==x;){for(var v=h[y],E=0,C=b-1;(v!==0||E<g)&&C!==-1;C--,E++)v+=256*I[C]>>>0,I[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=E,y++}for(var S=b-g;S!==b&&I[S]===0;)S++;for(var L=c.repeat(p);S<b;++S)L+=t.charAt(I[S]);return L}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var g=0,y=0;h[p]===c;)g++,p++;for(var x=(h.length-p)*u+1>>>0,b=new Uint8Array(x);h[p];){var I=r[h.charCodeAt(p)];if(I===255)return;for(var v=0,E=x-1;(I!==0||v<y)&&E!==-1;E--,v++)I+=a*b[E]>>>0,b[E]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=v,p++}if(h[p]!==" "){for(var C=x-y;C!==x&&b[C]===0;)C++;for(var S=new Uint8Array(g+(x-C)),L=g;C!==x;)S[L++]=b[C++];return S}}}function d(h){var p=m(h);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:m,decode:d}}var M7=F7,V7=M7,g3=V7;var a1=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},c1=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return y3(this,e)}},u1=class{decoders;constructor(e){this.decoders=e}or(e){return y3(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function y3(t,e){return new u1({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var f1=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new a1(e,r,n),this.decoder=new c1(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function hi({name:t,prefix:e,encode:r,decode:n}){return new f1(t,e,r,n)}function sn({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=g3(r,t);return hi({prefix:e,name:t,encode:n,decode:o=>Dr(i(o))})}function K7(t,e,r,n){let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[t[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s}function q7(t,e,r){let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s!==0&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o}function Oe({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return hi({prefix:e,name:t,encode(i){return q7(i,n,r)},decode(i){return K7(i,n,r,t)}})}var Wt=Oe({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),x3=Oe({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),z7=Oe({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),$7=Oe({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),H7=Oe({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),G7=Oe({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Y7=Oe({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Q7=Oe({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),W7=Oe({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var h1={};Q(h1,{base58btc:()=>qe,base58flickr:()=>Z7});var qe=sn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Z7=sn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var d1={};Q(d1,{base64:()=>On,base64pad:()=>X7,base64url:()=>j7,base64urlpad:()=>J7});var On=Oe({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),X7=Oe({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),j7=Oe({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),J7=Oe({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});Rt.default.formatters.b=t=>t==null?"undefined":qe.baseEncode(t);Rt.default.formatters.t=t=>t==null?"undefined":Wt.baseEncode(t);Rt.default.formatters.m=t=>t==null?"undefined":On.baseEncode(t);Rt.default.formatters.p=t=>t==null?"undefined":t.toString();Rt.default.formatters.c=t=>t==null?"undefined":t.toString();Rt.default.formatters.k=t=>t==null?"undefined":t.toString();Rt.default.formatters.a=t=>t==null?"undefined":t.toString();function ep(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function an(t){let e=ep(`${t}:trace`);return Rt.default.enabled(`${t}:trace`)&&Rt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,Rt.default)(`${t}:trace`)),Object.assign((0,Rt.default)(t),{error:(0,Rt.default)(`${t}:error`),trace:e})}var p1={};Q(p1,{base10:()=>tp});var tp=sn({prefix:"9",name:"base10",alphabet:"0123456789"});var m1={};Q(m1,{base16:()=>rp,base16upper:()=>np});var rp=Oe({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),np=Oe({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var g1={};Q(g1,{base2:()=>ip});var ip=Oe({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var y1={};Q(y1,{base256emoji:()=>up});var b3=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}"),op=b3.reduce((t,e,r)=>(t[r]=e,t),[]),sp=b3.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function ap(t){return t.reduce((e,r)=>(e+=op[r],e),"")}function cp(t){let e=[];for(let r of t){let n=sp[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var up=hi({prefix:"\u{1F680}",name:"base256emoji",encode:ap,decode:cp});var x1={};Q(x1,{base36:()=>Os,base36upper:()=>fp});var Os=sn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),fp=sn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var b1={};Q(b1,{base8:()=>lp});var lp=Oe({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var w1={};Q(w1,{identity:()=>hp});var hp=hi({prefix:"\0",name:"identity",encode:t=>p3(t),decode:t=>d3(t)});var ZC=new TextEncoder,XC=new TextDecoder;var E1={};Q(E1,{identity:()=>mr});var mp=E3,w3=128,gp=127,yp=~gp,xp=Math.pow(2,31);function E3(t,e,r){e=e||[],r=r||0;for(var n=r;t>=xp;)e[r++]=t&255|w3,t/=128;for(;t&yp;)e[r++]=t&255|w3,t>>>=7;return e[r]=t|0,E3.bytes=r-n+1,e}var bp=v1,wp=128,v3=127;function v1(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw v1.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&v3)<<i:(s&v3)*Math.pow(2,i),i+=7}while(s>=wp);return v1.bytes=o-n,r}var vp=Math.pow(2,7),Ep=Math.pow(2,14),Sp=Math.pow(2,21),Ap=Math.pow(2,28),Ip=Math.pow(2,35),Cp=Math.pow(2,42),Tp=Math.pow(2,49),Bp=Math.pow(2,56),Rp=Math.pow(2,63),_p=function(t){return t<vp?1:t<Ep?2:t<Sp?3:t<Ap?4:t<Ip?5:t<Cp?6:t<Tp?7:t<Bp?8:t<Rp?9:10},Pp={encode:mp,decode:bp,encodingLength:_p},Dp=Pp,wo=Dp;function vo(t,e=0){return[wo.decode(t,e),wo.decode.bytes]}function di(t,e,r=0){return wo.encode(t,e,r),e}function pi(t){return wo.encodingLength(t)}function pr(t,e){let r=e.byteLength,n=pi(t),i=n+pi(r),o=new Uint8Array(i+r);return di(t,o,0),di(r,o,n),o.set(e,i),new mi(t,r,e,o)}function Nr(t){let e=Dr(t),[r,n]=vo(e),[i,o]=vo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new mi(r,i,s,e)}function S3(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&h3(t.bytes,r.bytes)}}var mi=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var A3=0,Np="identity",I3=Dr;function Lp(t){return pr(A3,I3(t))}var mr={code:A3,name:Np,encode:I3,digest:Lp};var I1={};Q(I1,{sha256:()=>Ne,sha512:()=>kp});function A1({name:t,code:e,encode:r}){return new S1(t,e,r)}var S1=class{name;code;encode;constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?pr(this.code,r):r.then(n=>pr(this.code,n))}else throw Error("Unknown type, must be binary type")}};function T3(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Ne=A1({name:"sha2-256",code:18,encode:T3("SHA-256")}),kp=A1({name:"sha2-512",code:19,encode:T3("SHA-512")});function B3(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return Op(r,C1(t),e??qe.encoder);default:return Fp(r,C1(t),e??Wt.encoder)}}var R3=new WeakMap;function C1(t){let e=R3.get(t);if(e==null){let r=new Map;return R3.set(t,r),r}return e}var ze=class t{code;version;multihash;bytes;"/";constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Eo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Mp)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=pr(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&S3(e.multihash,n.multihash)}toString(e){return B3(this,e)}toJSON(){return{"/":B3(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s??_3(n,i,o.bytes))}else if(r[Vp]===!0){let{version:n,multihash:i,code:o}=r,s=Nr(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==Eo)throw new Error(`Version 0 CID must use dag-pb (code: ${Eo}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=_3(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Eo,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Dr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new mi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,m]=vo(e.subarray(r));return r+=m,l},i=n(),o=Eo;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=Up(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return C1(o).set(n,e),o}};function Up(t,e){switch(t[0]){case"Q":{let r=e??qe;return[qe.prefix,r.decode(`${qe.prefix}${t}`)]}case qe.prefix:{let r=e??qe;return[qe.prefix,r.decode(t)]}case Wt.prefix:{let r=e??Wt;return[Wt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Op(t,e,r){let{prefix:n}=r;if(n!==qe.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i}function Fp(t,e,r){let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i}var Eo=112,Mp=18;function _3(t,e,r){let n=pi(t),i=n+pi(e),o=new Uint8Array(i+r.byteLength);return di(t,o,0),di(e,o,n),o.set(r,i),o}var Vp=Symbol.for("@ipld/js-cid/CID");var un={...w1,...g1,...b1,...p1,...m1,...l1,...x1,...h1,...d1,...y1},xT={...I1,...E1};function ge(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Kp=Symbol.for("nodejs.util.inspect.custom"),P3=Object.values(un).map(t=>t.decoder).reduce((t,e)=>t.or(e),un.identity.decoder),D3=114,T1=36,B1=37,So=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[n1]=!0;toString(){return this.string==null&&(this.string=qe.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ze.createV1(D3,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return ge(this.multihash.bytes,e);if(typeof e=="string")return Zt(e).equals(this);if(e?.multihash?.bytes!=null)return ge(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Kp](){return`PeerId(${this.toString()})`}},gi=class extends So{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},yi=class extends So{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},xi=class extends So{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Zt(t,e){if(e=e??P3,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Nr(qe.decode(`z${t}`));return t.startsWith("12D")?new yi({multihash:r}):t.startsWith("16U")?new xi({multihash:r}):new gi({multihash:r})}return Xt(P3.decode(t))}function Xt(t){try{let e=Nr(t);if(e.code===mr.code){if(e.digest.length===T1)return new yi({multihash:e});if(e.digest.length===B1)return new xi({multihash:e})}if(e.code===Ne.code)return new gi({multihash:e})}catch{return qp(ze.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function qp(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==D3)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ne.code)return new gi({multihash:t.multihash});if(e.code===mr.code){if(e.digest.length===T1)return new yi({multihash:t.multihash});if(e.digest.length===B1)return new xi({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Ms(t,e){return t.length===T1?new yi({multihash:pr(mr.code,t),privateKey:e}):t.length===B1?new xi({multihash:pr(mr.code,t),privateKey:e}):new gi({multihash:await Ne.digest(t),publicKey:t,privateKey:e})}var B0={};Q(B0,{generateEphemeralKeyPair:()=>L4,generateKeyPair:()=>ax,generateKeyPairFromSeed:()=>cx,importKey:()=>lx,keyStretcher:()=>V4,keysPBM:()=>Pi,marshalPrivateKey:()=>fx,marshalPublicKey:()=>ux,supportedKeys:()=>Ar,unmarshalPrivateKey:()=>T0,unmarshalPublicKey:()=>C0});var xP=ce(To(),1),bP=ce(Yl(),1);var I0=ce(ve(),1);function Er(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function er(t=0){return globalThis.Buffer?.alloc!=null?Er(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function rt(t=0){return globalThis.Buffer?.allocUnsafe!=null?Er(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Wl(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Ql=Wl("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),X1=Wl("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=rt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),dg={utf8:Ql,"utf-8":Ql,hex:un.base16,latin1:X1,ascii:X1,binary:X1,...un},o0=dg;function le(t,e="utf8"){let r=o0[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Er(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var B2={};Q(B2,{Ed25519PrivateKey:()=>Qn,Ed25519PublicKey:()=>Oo,generateKeyPair:()=>Ry,generateKeyPairFromSeed:()=>T2,unmarshalEd25519PrivateKey:()=>Ty,unmarshalEd25519PublicKey:()=>By});var mB=ce($e(),1),gB=ce(t0(),1),Zl=ce(ve(),1);function Ee(t,e){if(globalThis.Buffer!=null)return Er(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=rt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Er(r)}function W(t,e="utf8"){let r=o0[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function tr(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ee([new Uint8Array(e-r.length),r])}return W(r,"base64url")}function _t(t){let e=s0(t);return new Zl.default.jsbn.BigInteger(W(e,"base16"),16)}function s0(t,e){let r=le(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ee([new Uint8Array(e-r.length),r])}return r}function Mt(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function Xl(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function pg(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function j1(t,...e){if(!pg(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function jl(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Xl(t.outputLen),Xl(t.blockLen)}function Si(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Jl(t,e){j1(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var a0=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function e4(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var c0=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),rr=(t,e)=>t<<32-e|t>>>e,mg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!mg)throw new Error("Non little-endian hardware is not supported");function J1(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function _o(t){if(typeof t=="string"&&(t=J1(t)),!e4(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function u0(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!e4(i))throw new Error("Uint8Array expected");e+=i.length}let r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var Ai=class{clone(){return this._cloneInto()}},AB={}.toString;function f0(t){let e=n=>t().update(_o(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Ii(t=32){if(a0&&typeof a0.getRandomValues=="function")return a0.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function gg(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}var Ci=class extends Ai{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=c0(this.buffer)}update(e){Si(this);let{view:r,buffer:n,blockLen:i}=this;e=_o(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=c0(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Si(this),Jl(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;gg(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=c0(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var l0=BigInt(4294967295),e2=BigInt(32);function t4(t,e=!1){return e?{h:Number(t&l0),l:Number(t>>e2&l0)}:{h:Number(t>>e2&l0)|0,l:Number(t&l0)|0}}function yg(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:o,l:s}=t4(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var xg=(t,e)=>BigInt(t>>>0)<<e2|BigInt(e>>>0),bg=(t,e,r)=>t>>>r,wg=(t,e,r)=>t<<32-r|e>>>r,vg=(t,e,r)=>t>>>r|e<<32-r,Eg=(t,e,r)=>t<<32-r|e>>>r,Sg=(t,e,r)=>t<<64-r|e>>>r-32,Ag=(t,e,r)=>t>>>r-32|e<<64-r,Ig=(t,e)=>e,Cg=(t,e)=>t,Tg=(t,e,r)=>t<<r|e>>>32-r,Bg=(t,e,r)=>e<<r|t>>>32-r,Rg=(t,e,r)=>e<<r-32|t>>>64-r,_g=(t,e,r)=>t<<r-32|e>>>64-r;function Pg(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var Dg=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),Ng=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,Lg=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),kg=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,Ug=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Og=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var Fg={fromBig:t4,split:yg,toBig:xg,shrSH:bg,shrSL:wg,rotrSH:vg,rotrSL:Eg,rotrBH:Sg,rotrBL:Ag,rotr32H:Ig,rotr32L:Cg,rotlSH:Tg,rotlSL:Bg,rotlBH:Rg,rotlBL:_g,add:Pg,add3L:Dg,add3H:Ng,add4L:Lg,add4H:kg,add5H:Og,add5L:Ug},ie=Fg;var[Mg,Vg]=ie.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(t=>BigInt(t))),pn=new Uint32Array(80),mn=new Uint32Array(80),t2=class extends Ci{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:e,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:m,Gh:d,Gl:h,Hh:p,Hl:g}=this;return[e,r,n,i,o,s,a,c,u,f,l,m,d,h,p,g]}set(e,r,n,i,o,s,a,c,u,f,l,m,d,h,p,g){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=m|0,this.Gh=d|0,this.Gl=h|0,this.Hh=p|0,this.Hl=g|0}process(e,r){for(let b=0;b<16;b++,r+=4)pn[b]=e.getUint32(r),mn[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let I=pn[b-15]|0,v=mn[b-15]|0,E=ie.rotrSH(I,v,1)^ie.rotrSH(I,v,8)^ie.shrSH(I,v,7),C=ie.rotrSL(I,v,1)^ie.rotrSL(I,v,8)^ie.shrSL(I,v,7),S=pn[b-2]|0,L=mn[b-2]|0,V=ie.rotrSH(S,L,19)^ie.rotrBH(S,L,61)^ie.shrSH(S,L,6),F=ie.rotrSL(S,L,19)^ie.rotrBL(S,L,61)^ie.shrSL(S,L,6),q=ie.add4L(C,F,mn[b-7],mn[b-16]),X=ie.add4H(q,E,V,pn[b-7],pn[b-16]);pn[b]=X|0,mn[b]=q|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:m,Fh:d,Fl:h,Gh:p,Gl:g,Hh:y,Hl:x}=this;for(let b=0;b<80;b++){let I=ie.rotrSH(l,m,14)^ie.rotrSH(l,m,18)^ie.rotrBH(l,m,41),v=ie.rotrSL(l,m,14)^ie.rotrSL(l,m,18)^ie.rotrBL(l,m,41),E=l&d^~l&p,C=m&h^~m&g,S=ie.add5L(x,v,C,Vg[b],mn[b]),L=ie.add5H(S,y,I,E,Mg[b],pn[b]),V=S|0,F=ie.rotrSH(n,i,28)^ie.rotrBH(n,i,34)^ie.rotrBH(n,i,39),q=ie.rotrSL(n,i,28)^ie.rotrBL(n,i,34)^ie.rotrBL(n,i,39),X=n&o^n&a^o&a,oe=i&s^i&c^s&c;y=p|0,x=g|0,p=d|0,g=h|0,d=l|0,h=m|0,{h:l,l:m}=ie.add(u|0,f|0,L|0,V|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let T=ie.add3L(V,q,oe);n=ie.add3H(T,L,F,X),i=T|0}({h:n,l:i}=ie.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=ie.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=ie.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=ie.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:m}=ie.add(this.Eh|0,this.El|0,l|0,m|0),{h:d,l:h}=ie.add(this.Fh|0,this.Fl|0,d|0,h|0),{h:p,l:g}=ie.add(this.Gh|0,this.Gl|0,p|0,g|0),{h:y,l:x}=ie.add(this.Hh|0,this.Hl|0,y|0,x|0),this.set(n,i,o,s,a,c,u,f,l,m,d,h,p,g,y,x)}roundClean(){pn.fill(0),mn.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 r2=f0(()=>new t2);var d0={};Q(d0,{bitGet:()=>Yg,bitLen:()=>Gg,bitMask:()=>Po,bitSet:()=>Qg,bytesToHex:()=>Fr,bytesToNumberBE:()=>Mr,bytesToNumberLE:()=>gn,concatBytes:()=>Vr,createHmacDrbg:()=>o2,ensureBytes:()=>Fe,equalBytes:()=>$g,hexToBytes:()=>zn,hexToNumber:()=>i2,isBytes:()=>nr,numberToBytesBE:()=>yn,numberToBytesLE:()=>$n,numberToHexUnpadded:()=>o4,numberToVarBytesBE:()=>zg,utf8ToBytes:()=>Hg,validateObject:()=>Sr});var i4=BigInt(0),h0=BigInt(1),Kg=BigInt(2);function nr(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var qg=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Fr(t){if(!nr(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=qg[t[r]];return e}function o4(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function i2(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var Or={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function r4(t){if(t>=Or._0&&t<=Or._9)return t-Or._0;if(t>=Or._A&&t<=Or._F)return t-(Or._A-10);if(t>=Or._a&&t<=Or._f)return t-(Or._a-10)}function zn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,o=0;i<r;i++,o+=2){let s=r4(t.charCodeAt(o)),a=r4(t.charCodeAt(o+1));if(s===void 0||a===void 0){let c=t[o]+t[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[i]=s*16+a}return n}function Mr(t){return i2(Fr(t))}function gn(t){if(!nr(t))throw new Error("Uint8Array expected");return i2(Fr(Uint8Array.from(t).reverse()))}function yn(t,e){return zn(t.toString(16).padStart(e*2,"0"))}function $n(t,e){return yn(t,e).reverse()}function zg(t){return zn(o4(t))}function Fe(t,e,r){let n;if(typeof e=="string")try{n=zn(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(nr(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function Vr(...t){let e=0;for(let i=0;i<t.length;i++){let o=t[i];if(!nr(o))throw new Error("Uint8Array expected");e+=o.length}let r=new Uint8Array(e),n=0;for(let i=0;i<t.length;i++){let o=t[i];r.set(o,n),n+=o.length}return r}function $g(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function Hg(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Gg(t){let e;for(e=0;t>i4;t>>=h0,e+=1);return e}function Yg(t,e){return t>>BigInt(e)&h0}var Qg=(t,e,r)=>t|(r?h0:i4)<<BigInt(e),Po=t=>(Kg<<BigInt(t-1))-h0,n2=t=>new Uint8Array(t),n4=t=>Uint8Array.from(t);function o2(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=n2(t),i=n2(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=n2())=>{i=a(n4([0]),l),n=a(),l.length!==0&&(i=a(n4([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,m=[];for(;l<e;){n=a();let d=n.slice();m.push(d),l+=n.length}return Vr(...m)};return(l,m)=>{s(),c(l);let d;for(;!(d=m(u()));)c();return s(),d}}var Wg={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||nr(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Sr(t,e,r={}){let n=(i,o,s)=>{let a=Wg[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var je=BigInt(0),Pe=BigInt(1),Hn=BigInt(2),Zg=BigInt(3),s2=BigInt(4),s4=BigInt(5),a4=BigInt(8),Xg=BigInt(9),jg=BigInt(16);function Ae(t,e){let r=t%e;return r>=je?r:e+r}function Jg(t,e,r){if(r<=je||e<je)throw new Error("Expected power/modulo > 0");if(r===Pe)return je;let n=Pe;for(;e>je;)e&Pe&&(n=n*t%r),t=t*t%r,e>>=Pe;return n}function De(t,e,r){let n=t;for(;e-- >je;)n*=n,n%=r;return n}function p0(t,e){if(t===je||e<=je)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=Ae(t,e),n=e,i=je,o=Pe,s=Pe,a=je;for(;r!==je;){let u=n/r,f=n%r,l=i-s*u,m=o-a*u;n=r,r=f,i=s,o=a,s=l,a=m}if(n!==Pe)throw new Error("invert: does not exist");return Ae(i,e)}function ey(t){let e=(t-Pe)/Hn,r,n,i;for(r=t-Pe,n=0;r%Hn===je;r/=Hn,n++);for(i=Hn;i<t&&Jg(i,e,t)!==t-Pe;i++);if(n===1){let s=(t+Pe)/s2;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+Pe)/Hn;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),m=a.pow(c,r);for(;!a.eql(m,a.ONE);){if(a.eql(m,a.ZERO))return a.ZERO;let d=1;for(let p=a.sqr(m);d<u&&!a.eql(p,a.ONE);d++)p=a.sqr(p);let h=a.pow(f,Pe<<BigInt(u-d-1));f=a.sqr(h),l=a.mul(l,h),m=a.mul(m,f),u=d}return l}}function ty(t){if(t%s2===Zg){let e=(t+Pe)/s2;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%a4===s4){let e=(t-s4)/a4;return function(n,i){let o=n.mul(i,Hn),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,Hn),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%jg,ey(t)}var c4=(t,e)=>(Ae(t,e)&Pe)===Pe,ry=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function a2(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=ry.reduce((n,i)=>(n[i]="function",n),e);return Sr(t,r)}function ny(t,e,r){if(r<je)throw new Error("Expected power > 0");if(r===je)return t.ONE;if(r===Pe)return e;let n=t.ONE,i=e;for(;r>je;)r&Pe&&(n=t.mul(n,i)),i=t.sqr(i),r>>=Pe;return n}function iy(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function c2(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function m0(t,e,r=!1,n={}){if(t<=je)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=c2(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=ty(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:Po(i),ZERO:je,ONE:Pe,create:c=>Ae(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return je<=c&&c<t},is0:c=>c===je,isOdd:c=>(c&Pe)===Pe,neg:c=>Ae(-c,t),eql:(c,u)=>c===u,sqr:c=>Ae(c*c,t),add:(c,u)=>Ae(c+u,t),sub:(c,u)=>Ae(c-u,t),mul:(c,u)=>Ae(c*u,t),pow:(c,u)=>ny(a,c,u),div:(c,u)=>Ae(c*p0(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>p0(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>iy(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?$n(c,o):yn(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?gn(c):Mr(c)}});return Object.freeze(a)}function u4(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function f4(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function u2(t){let e=f4(t);return e+Math.ceil(e/2)}function l4(t,e,r=!1){let n=t.length,i=f4(e),o=u2(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?Mr(t):gn(t),a=Ae(s,e-Pe)+Pe;return r?$n(a,i):yn(a,i)}var sy=BigInt(0),f2=BigInt(1);function g0(t,e){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(e/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=t.ZERO,a=i;for(;o>sy;)o&f2&&(s=s.add(a)),a=a.double(),o>>=f2;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let l=0;l<s;l++){f=u,c.push(f);for(let m=1;m<a;m++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=t.ZERO,f=t.BASE,l=BigInt(2**i-1),m=2**i,d=BigInt(i);for(let h=0;h<a;h++){let p=h*c,g=Number(s&l);s>>=d,g>c&&(g-=m,s+=f2);let y=p,x=p+Math.abs(g)-1,b=h%2!==0,I=g<0;g===0?f=f.add(r(b,o[y])):u=u.add(r(I,o[x]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function Do(t){return a2(t.Fp),Sr(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...c2(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var ir=BigInt(0),Pt=BigInt(1),y0=BigInt(2),ay=BigInt(8),cy={zip215:!0};function uy(t){let e=Do(t);return Sr(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function x0(t){let e=uy(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=y0<<BigInt(a*8)-Pt,f=r.create,l=e.uvRatio||((O,_)=>{try{return{isValid:!0,value:r.sqrt(O*r.inv(_))}}catch{return{isValid:!1,value:ir}}}),m=e.adjustScalarBytes||(O=>O),d=e.domain||((O,_,$)=>{if(_.length||$)throw new Error("Contexts/pre-hash are not supported");return O}),h=O=>typeof O=="bigint"&&ir<O,p=(O,_)=>h(O)&&h(_)&&O<_,g=O=>O===ir||p(O,u);function y(O,_){if(p(O,_))return O;throw new Error(`Expected valid scalar < ${_}, got ${typeof O} ${O}`)}function x(O){return O===ir?O:y(O,n)}let b=new Map;function I(O){if(!(O instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(_,$,G,j){if(this.ex=_,this.ey=$,this.ez=G,this.et=j,!g(_))throw new Error("x required");if(!g($))throw new Error("y required");if(!g(G))throw new Error("z required");if(!g(j))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(_){if(_ instanceof v)throw new Error("extended point not allowed");let{x:$,y:G}=_||{};if(!g($)||!g(G))throw new Error("invalid affine point");return new v($,G,Pt,f($*G))}static normalizeZ(_){let $=r.invertBatch(_.map(G=>G.ez));return _.map((G,j)=>G.toAffine($[j])).map(v.fromAffine)}_setWindowSize(_){this._WINDOW_SIZE=_,b.delete(this)}assertValidity(){let{a:_,d:$}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:G,ey:j,ez:se,et:fe}=this,we=f(G*G),he=f(j*j),me=f(se*se),Ye=f(me*me),Ue=f(we*_),it=f(me*f(Ue+he)),ot=f(Ye+f($*f(we*he)));if(it!==ot)throw new Error("bad point: equation left != right (1)");let Xe=f(G*j),ct=f(se*fe);if(Xe!==ct)throw new Error("bad point: equation left != right (2)")}equals(_){I(_);let{ex:$,ey:G,ez:j}=this,{ex:se,ey:fe,ez:we}=_,he=f($*we),me=f(se*j),Ye=f(G*we),Ue=f(fe*j);return he===me&&Ye===Ue}is0(){return this.equals(v.ZERO)}negate(){return new v(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:_}=e,{ex:$,ey:G,ez:j}=this,se=f($*$),fe=f(G*G),we=f(y0*f(j*j)),he=f(_*se),me=$+G,Ye=f(f(me*me)-se-fe),Ue=he+fe,it=Ue-we,ot=he-fe,Xe=f(Ye*it),ct=f(Ue*ot),_r=f(Ye*ot),kn=f(it*Ue);return new v(Xe,ct,kn,_r)}add(_){I(_);let{a:$,d:G}=e,{ex:j,ey:se,ez:fe,et:we}=this,{ex:he,ey:me,ez:Ye,et:Ue}=_;if($===BigInt(-1)){let Wf=f((se-j)*(me+he)),Zf=f((se+j)*(me-he)),r1=f(Zf-Wf);if(r1===ir)return this.double();let Xf=f(fe*y0*Ue),jf=f(we*y0*Ye),Jf=jf+Xf,e3=Zf+Wf,t3=jf-Xf,g7=f(Jf*r1),y7=f(e3*t3),x7=f(Jf*t3),b7=f(r1*e3);return new v(g7,y7,b7,x7)}let it=f(j*he),ot=f(se*me),Xe=f(we*G*Ue),ct=f(fe*Ye),_r=f((j+se)*(he+me)-it-ot),kn=ct-Xe,bo=ct+Xe,Qf=f(ot-$*it),h7=f(_r*kn),d7=f(bo*Qf),p7=f(_r*Qf),m7=f(kn*bo);return new v(h7,d7,m7,p7)}subtract(_){return this.add(_.negate())}wNAF(_){return S.wNAFCached(this,b,_,v.normalizeZ)}multiply(_){let{p:$,f:G}=this.wNAF(y(_,n));return v.normalizeZ([$,G])[0]}multiplyUnsafe(_){let $=x(_);return $===ir?C:this.equals(C)||$===Pt?this:this.equals(E)?this.wNAF($).p:S.unsafeLadder(this,$)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return S.unsafeLadder(this,n).is0()}toAffine(_){let{ex:$,ey:G,ez:j}=this,se=this.is0();_==null&&(_=se?ay:r.inv(j));let fe=f($*_),we=f(G*_),he=f(j*_);if(se)return{x:ir,y:Pt};if(he!==Pt)throw new Error("invZ was invalid");return{x:fe,y:we}}clearCofactor(){let{h:_}=e;return _===Pt?this:this.multiplyUnsafe(_)}static fromHex(_,$=!1){let{d:G,a:j}=e,se=r.BYTES;_=Fe("pointHex",_,se);let fe=_.slice(),we=_[se-1];fe[se-1]=we&-129;let he=gn(fe);he===ir||($?y(he,u):y(he,r.ORDER));let me=f(he*he),Ye=f(me-Pt),Ue=f(G*me-j),{isValid:it,value:ot}=l(Ye,Ue);if(!it)throw new Error("Point.fromHex: invalid y coordinate");let Xe=(ot&Pt)===Pt,ct=(we&128)!==0;if(!$&&ot===ir&&ct)throw new Error("Point.fromHex: x=0 and x_0=1");return ct!==Xe&&(ot=f(-ot)),v.fromAffine({x:ot,y:he})}static fromPrivateKey(_){return F(_).point}toRawBytes(){let{x:_,y:$}=this.toAffine(),G=$n($,r.BYTES);return G[G.length-1]|=_&Pt?128:0,G}toHex(){return Fr(this.toRawBytes())}}v.BASE=new v(e.Gx,e.Gy,Pt,f(e.Gx*e.Gy)),v.ZERO=new v(ir,Pt,Pt,ir);let{BASE:E,ZERO:C}=v,S=g0(v,a*8);function L(O){return Ae(O,n)}function V(O){return L(gn(O))}function F(O){let _=a;O=Fe("private key",O,_);let $=Fe("hashed private key",o(O),2*_),G=m($.slice(0,_)),j=$.slice(_,2*_),se=V(G),fe=E.multiply(se),we=fe.toRawBytes();return{head:G,prefix:j,scalar:se,point:fe,pointBytes:we}}function q(O){return F(O).pointBytes}function X(O=new Uint8Array,..._){let $=Vr(..._);return V(o(d($,Fe("context",O),!!i)))}function oe(O,_,$={}){O=Fe("message",O),i&&(O=i(O));let{prefix:G,scalar:j,pointBytes:se}=F(_),fe=X($.context,G,O),we=E.multiply(fe).toRawBytes(),he=X($.context,we,se,O),me=L(fe+he*j);x(me);let Ye=Vr(we,$n(me,r.BYTES));return Fe("result",Ye,a*2)}let T=cy;function D(O,_,$,G=T){let{context:j,zip215:se}=G,fe=r.BYTES;O=Fe("signature",O,2*fe),_=Fe("message",_),i&&(_=i(_));let we=gn(O.slice(fe,2*fe)),he,me,Ye;try{he=v.fromHex($,se),me=v.fromHex(O.slice(0,fe),se),Ye=E.multiplyUnsafe(we)}catch{return!1}if(!se&&he.isSmallOrder())return!1;let Ue=X(j,me.toRawBytes(),he.toRawBytes(),_);return me.add(he.multiplyUnsafe(Ue)).subtract(Ye).clearCofactor().equals(v.ZERO)}return E._setWindowSize(8),{CURVE:e,getPublicKey:q,sign:oe,verify:D,ExtendedPoint:v,utils:{getExtendedPublicKey:F,randomPrivateKey:()=>s(r.BYTES),precompute(O=8,_=v.BASE){return _._setWindowSize(O),_.multiply(BigInt(3)),_}}}}var h2=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),h4=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),GB=BigInt(0),fy=BigInt(1),l2=BigInt(2),ly=BigInt(5),d4=BigInt(10),hy=BigInt(20),dy=BigInt(40),p4=BigInt(80);function py(t){let e=h2,n=t*t%e*t%e,i=De(n,l2,e)*n%e,o=De(i,fy,e)*t%e,s=De(o,ly,e)*o%e,a=De(s,d4,e)*s%e,c=De(a,hy,e)*a%e,u=De(c,dy,e)*c%e,f=De(u,p4,e)*u%e,l=De(f,p4,e)*u%e,m=De(l,d4,e)*s%e;return{pow_p_5_8:De(m,l2,e)*t%e,b2:n}}function my(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function gy(t,e){let r=h2,n=Ae(e*e*e,r),i=Ae(n*n*e,r),o=py(t*i).pow_p_5_8,s=Ae(t*n*o,r),a=Ae(e*s*s,r),c=s,u=Ae(s*h4,r),f=a===t,l=a===Ae(-t,r),m=a===Ae(-t*h4,r);return f&&(s=c),(l||m)&&(s=u),c4(s,r)&&(s=Ae(-s,r)),{isValid:f||l,value:s}}var Kr=m0(h2,void 0,!0),d2={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Kr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:r2,randomBytes:Ii,adjustScalarBytes:my,uvRatio:gy},Ti=x0(d2);function m4(t,e,r){if(e.length>255)throw new Error("Context is too big");return u0(J1("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var YB=x0({...d2,domain:m4}),QB=x0({...d2,domain:m4,prehash:r2});var yy=(Kr.ORDER+BigInt(3))/BigInt(8),WB=Kr.pow(l2,yy),ZB=Kr.sqrt(Kr.neg(Kr.ONE)),XB=(Kr.ORDER-BigInt(5))/BigInt(8),jB=BigInt(486662);var JB=u4(Kr,Kr.neg(BigInt(486664)));var eR=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),tR=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),rR=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),nR=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var iR=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Bi=32,qr=64,b0=32;function g4(){let t=Ti.utils.randomPrivateKey(),e=Ti.getPublicKey(t);return{privateKey:w4(t,e),publicKey:e}}function y4(t){if(t.length!==b0)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=Ti.getPublicKey(e);return{privateKey:w4(e,r),publicKey:r}}function x4(t,e){let r=t.subarray(0,b0);return Ti.sign(e instanceof Uint8Array?e:e.subarray(),r)}function b4(t,e,r){return Ti.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function w4(t,e){let r=new Uint8Array(qr);for(let n=0;n<b0;n++)r[n]=t[n],r[b0+n]=e[n];return r}var He={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("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"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var p2={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function w0(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=He.get();r*=8;async function c(l,m){let d=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:e,iv:h};typeof m=="string"&&(m=le(m));let g;if(m.length===0){g=await a.subtle.importKey("jwk",p2,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",p2,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let y=await a.subtle.encrypt(p,g,l);return Ee([d,p.iv,new Uint8Array(y)])}async function u(l,m){let d=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),g={name:e,iv:h};typeof m=="string"&&(m=le(m));let y;if(m.length===0)try{let b={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},I=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,I,{name:e,length:r},!0,["decrypt"])}catch{y=await a.subtle.importKey("jwk",p2,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},I=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,I,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(g,y,p);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Ri(t,e){let n=await w0().encrypt(t,e);return On.encode(n)}var Pi={};Q(Pi,{KeyType:()=>Be,PrivateKey:()=>ar,PublicKey:()=>sr});var m2=new Float32Array([-0]),xn=new Uint8Array(m2.buffer);function E4(t,e,r){m2[0]=t,e[r]=xn[0],e[r+1]=xn[1],e[r+2]=xn[2],e[r+3]=xn[3]}function S4(t,e){return xn[0]=t[e],xn[1]=t[e+1],xn[2]=t[e+2],xn[3]=t[e+3],m2[0]}var g2=new Float64Array([-0]),ft=new Uint8Array(g2.buffer);function A4(t,e,r){g2[0]=t,e[r]=ft[0],e[r+1]=ft[1],e[r+2]=ft[2],e[r+3]=ft[3],e[r+4]=ft[4],e[r+5]=ft[5],e[r+6]=ft[6],e[r+7]=ft[7]}function I4(t,e){return ft[0]=t[e],ft[1]=t[e+1],ft[2]=t[e+2],ft[3]=t[e+3],ft[4]=t[e+4],ft[5]=t[e+5],ft[6]=t[e+6],ft[7]=t[e+7],g2[0]}var by=BigInt(Number.MAX_SAFE_INTEGER),wy=BigInt(Number.MIN_SAFE_INTEGER),Et=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&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(e=!1){if(e)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(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return Gn;if(e<by&&e>wy)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>C4&&(i=0n,++n>C4&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return Gn;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):Gn}},Gn=new Et(0,0);Gn.toBigInt=function(){return 0n};Gn.zzEncode=Gn.zzDecode=function(){return this};Gn.length=function(){return 1};var C4=4294967296n;function T4(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function B4(t,e,r){if(r-e<1)return"";let i,o=[],s=0,a;for(;e<r;)a=t[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function y2(t,e,r){let n=r,i,o;for(let s=0;s<t.length;++s)i=t.charCodeAt(s),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((o=t.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function or(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function v0(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var x2=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,or(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw or(this,4);return v0(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw or(this,4);return v0(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw or(this,4);let e=S4(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw or(this,4);let e=I4(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw or(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return B4(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw or(this,e);this.pos+=e}else do if(this.pos>=this.len)throw or(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new Et(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw or(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw or(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw or(this,8);let e=v0(this.buf,this.pos+=4),r=v0(this.buf,this.pos+=4);return new Et(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 b2(t){return new x2(t instanceof Uint8Array?t:t.subarray())}function Vt(t,e){let r=b2(t);return e.decode(r)}function w2(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return rt(s);i+s>e&&(n=rt(e),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Yn=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function v2(){}var S2=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},vy=w2();function Ey(t){return globalThis.Buffer!=null?rt(t):vy(t)}var ko=class{len;head;tail;states;constructor(){this.len=0,this.head=new Yn(v2,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new Yn(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new A2((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(No,10,Et.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=Et.fromBigInt(e);return this._push(No,r.length(),r)}uint64Number(e){let r=Et.fromNumber(e);return this._push(No,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=Et.fromBigInt(e).zzEncode();return this._push(No,r.length(),r)}sint64Number(e){let r=Et.fromNumber(e).zzEncode();return this._push(No,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(E2,1,e?1:0)}fixed32(e){return this._push(Lo,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=Et.fromBigInt(e);return this._push(Lo,4,r.lo)._push(Lo,4,r.hi)}fixed64Number(e){let r=Et.fromNumber(e);return this._push(Lo,4,r.lo)._push(Lo,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(E4,4,e)}double(e){return this._push(A4,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(E2,1,0):this.uint32(r)._push(Ay,r,e)}string(e){let r=T4(e);return r!==0?this.uint32(r)._push(y2,r,e):this._push(E2,1,0)}fork(){return this.states=new S2(this),this.head=this.tail=new Yn(v2,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 Yn(v2,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=Ey(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function E2(t,e,r){e[r]=t&255}function Sy(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var A2=class extends Yn{next;constructor(e,r){super(Sy,e,r),this.next=void 0}};function No(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function Lo(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function Ay(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(ko.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(Iy,e,t),this},ko.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(Cy,e,t),this});function Iy(t,e,r){e.set(t,r)}function Cy(t,e,r){t.length<40?y2(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(le(t),r)}function I2(){return new ko}function Kt(t,e){let r=I2();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var _i;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(_i||(_i={}));function E0(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function bn(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return E0("enum",_i.VARINT,r,n)}function qt(t,e){return E0("message",_i.LENGTH_DELIMITED,t,e)}var Uo=class extends Error{code;constructor(e,r,n){super(e,n),this.code=r}};var Be;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Be||(Be={}));var C2;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(C2||(C2={}));(function(t){t.codec=()=>bn(C2)})(Be||(Be={}));var sr;(function(t){let e;t.codec=()=>(e==null&&(e=qt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Kt(r,t.codec()),t.decode=r=>Vt(r,t.codec())})(sr||(sr={}));var ar;(function(t){let e;t.codec=()=>(e==null&&(e=qt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Kt(r,t.codec()),t.decode=r=>Vt(r,t.codec())})(ar||(ar={}));var Oo=class{_key;constructor(e){this._key=Di(e,Bi)}verify(e,r){return b4(this._key,r,e)}marshal(){return this._key}get bytes(){return sr.encode({Type:Be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}hash(){let e=Ne.digest(this.bytes);return Mt(e)?e.then(({bytes:r})=>r):e.bytes}},Qn=class{_key;_publicKey;constructor(e,r){this._key=Di(e,qr),this._publicKey=Di(r,Bi)}sign(e){return x4(this._key,e)}get public(){return new Oo(this._publicKey)}marshal(){return this._key}get bytes(){return ar.encode({Type:Be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}async hash(){let e=Ne.digest(this.bytes),r;return Mt(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=mr.digest(this.public.bytes);return qe.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Ri(this.bytes,e);throw new k(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Ty(t){if(t.length>qr){t=Di(t,qr+Bi);let n=t.subarray(0,qr),i=t.subarray(qr,t.length);return new Qn(n,i)}t=Di(t,qr);let e=t.subarray(0,qr),r=t.subarray(Bi);return new Qn(e,r)}function By(t){return t=Di(t,Bi),new Oo(t)}async function Ry(){let{privateKey:t,publicKey:e}=g4();return new Qn(t,e)}async function T2(t){let{privateKey:e,publicKey:r}=y4(t);return new Qn(e,r)}function Di(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new k(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var _4={"P-256":256,"P-384":384,"P-521":521},_y=Object.keys(_4),R2=_y.join(" / ");async function P4(t){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new k(`Unknown curve: ${t}. Must be ${R2}`,"ERR_INVALID_CURVE");let e=await He.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await He.get().subtle.importKey("jwk",Dy(t,s),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):a=e.privateKey;let c=await He.get().subtle.importKey("jwk",N4(t,o),{name:"ECDH",namedCurve:t},!1,[]),u=await He.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:c},a,_4[t]);return new Uint8Array(u,0,u.byteLength)},n=await He.get().subtle.exportKey("jwk",e.publicKey);return{key:Py(n),genSharedKey:r}}var D4={"P-256":32,"P-384":48,"P-521":66};function Py(t){if(t.crv==null||t.x==null||t.y==null)throw new k("JWK was missing components","ERR_INVALID_PARAMETERS");if(t.crv!=="P-256"&&t.crv!=="P-384"&&t.crv!=="P-521")throw new k(`Unknown curve: ${t.crv}. Must be ${R2}`,"ERR_INVALID_CURVE");let e=D4[t.crv];return Ee([Uint8Array.from([4]),s0(t.x,e),s0(t.y,e)],1+e*2)}function N4(t,e){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new k(`Unknown curve: ${t}. Must be ${R2}`,"ERR_INVALID_CURVE");let r=D4[t];if(!ge(e.subarray(0,1),Uint8Array.from([4])))throw new k("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:t,x:W(e.subarray(1,r+1),"base64url"),y:W(e.subarray(1+r),"base64url"),ext:!0}}var Dy=(t,e)=>({...N4(t,e.public),d:W(e.private,"base64url")});var L4=P4;async function k4(t,e){let r=On.decode(t);return w0().decrypt(r,e)}var U4={SHA1:20,SHA256:32,SHA512:64};var Ny={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Ly=async(t,e)=>{let r=await He.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,0,r.byteLength)};async function O4(t,e){let r=Ny[t],n=await He.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return Ly(n,i)},length:U4[t]}}var M4={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function V4(t,e,r){let n=M4[t];if(n==null){let x=Object.keys(M4).join(" / ");throw new k(`unknown cipher type '${t}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(e==null)throw new k("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,o=n.ivSize,s=20,a=le("key expansion"),c=2*(o+i+s),u=await O4(e,r),f=await u.digest(a),l=[],m=0;for(;m<c;){let x=await u.digest(Ee([f,a])),b=x.length;m+b>c&&(b=c-m),l.push(x),m+=b,f=await u.digest(f)}let d=c/2,h=Ee(l),p=h.subarray(0,d),g=h.subarray(d,c),y=x=>({iv:x.subarray(0,o),cipherKey:x.subarray(o,o+i),macKey:x.subarray(o+i)});return{k1:y(p),k2:y(g)}}var L2={};Q(L2,{MAX_KEY_SIZE:()=>Ko,RsaPrivateKey:()=>Ni,RsaPublicKey:()=>Vo,fromJwk:()=>$y,generateKeyPair:()=>Hy,unmarshalRsaPrivateKey:()=>qy,unmarshalRsaPublicKey:()=>zy});var Mo=ce(ve(),1);var U_=ce(H4(),1);function Zn(t){if(isNaN(t)||t<=0)throw new k("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ii(t)}var x_=ce(i0(),1),D2=ce(ve(),1);function G4(t,e){return e.map(r=>_t(t[r]))}function Y4(t){return D2.default.pki.setRsaPrivateKey(...G4(t,["n","e","d","p","q","dp","dq","qi"]))}function Q4(t){return D2.default.pki.setRsaPublicKey(...G4(t,["n","e"]))}var Xn={};Q(Xn,{jwkToPkcs1:()=>Oy,jwkToPkix:()=>My,pkcs1ToJwk:()=>Uy,pkixToJwk:()=>Fy});var v_=ce(To(),1),E_=ce(i0(),1);var zr=ce(ve(),1);function Uy(t){let e=zr.default.asn1.fromDer(W(t,"ascii")),r=zr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:tr(r.n),e:tr(r.e),d:tr(r.d),p:tr(r.p),q:tr(r.q),dp:tr(r.dP),dq:tr(r.dQ),qi:tr(r.qInv),alg:"RS256"}}function Oy(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new k("JWK was missing components","ERR_INVALID_PARAMETERS");let e=zr.default.pki.privateKeyToAsn1({n:_t(t.n),e:_t(t.e),d:_t(t.d),p:_t(t.p),q:_t(t.q),dP:_t(t.dp),dQ:_t(t.dq),qInv:_t(t.qi)});return le(zr.default.asn1.toDer(e).getBytes(),"ascii")}function Fy(t){let e=zr.default.asn1.fromDer(W(t,"ascii")),r=zr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:tr(r.n),e:tr(r.e)}}function My(t){if(t.n==null||t.e==null)throw new k("JWK was missing components","ERR_INVALID_PARAMETERS");let e=zr.default.pki.publicKeyToAsn1({n:_t(t.n),e:_t(t.e)});return le(zr.default.asn1.toDer(e).getBytes(),"ascii")}async function W4(t){let e=await He.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await j4(e);return{privateKey:r[0],publicKey:r[1]}}async function N2(t){let r=[await He.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Vy(t)],n=await j4({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Z4(t,e){let r=await He.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await He.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function X4(t,e,r){let n=await He.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return He.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function j4(t){if(t.privateKey==null||t.publicKey==null)throw new k("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([He.get().subtle.exportKey("jwk",t.privateKey),He.get().subtle.exportKey("jwk",t.publicKey)])}async function Vy(t){return He.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function J4(t,e,r,n){let i=e?Q4(t):Y4(t),o=W(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return le(s,"ascii")}function e6(t,e){return J4(t,!0,e,(r,n)=>n.encrypt(r))}function t6(t,e){return J4(t,!1,e,(r,n)=>n.decrypt(r))}function S0(t){if(t.kty!=="RSA")throw new k("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new k("invalid key modulus","ERR_INVALID_KEY_MODULUS");return le(t.n,"base64url").length*8}var Ko=8192,Vo=class{_key;constructor(e){this._key=e}verify(e,r){return X4(this._key,r,e)}marshal(){return Xn.jwkToPkix(this._key)}get bytes(){return sr.encode({Type:Be.RSA,Data:this.marshal()}).subarray()}encrypt(e){return e6(this._key,e)}equals(e){return ge(this.bytes,e.bytes)}hash(){let e=Ne.digest(this.bytes);return Mt(e)?e.then(({bytes:r})=>r):e.bytes}},Ni=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return Zn(16)}sign(e){return Z4(this._key,e)}get public(){if(this._publicKey==null)throw new k("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Vo(this._publicKey)}decrypt(e){return t6(this._key,e)}marshal(){return Xn.jwkToPkcs1(this._key)}get bytes(){return ar.encode({Type:Be.RSA,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}hash(){let e=Ne.digest(this.bytes);return Mt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return W(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Mo.default.util.ByteBuffer(this.marshal()),i=Mo.default.asn1.fromDer(n),o=Mo.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Mo.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return Ri(this.bytes,e);throw new k(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function qy(t){let e=Xn.pkcs1ToJwk(t);if(S0(e)>Ko)throw new k("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await N2(e);return new Ni(r.privateKey,r.publicKey)}function zy(t){let e=Xn.pkixToJwk(t);if(S0(e)>Ko)throw new k("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Vo(e)}async function $y(t){if(S0(t)>Ko)throw new k("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await N2(t);return new Ni(e.privateKey,e.publicKey)}async function Hy(t){if(t>Ko)throw new k("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await W4(t);return new Ni(e.privateKey,e.publicKey)}var V2={};Q(V2,{Secp256k1PrivateKey:()=>zo,Secp256k1PublicKey:()=>qo,generateKeyPair:()=>sx,unmarshalSecp256k1PrivateKey:()=>ix,unmarshalSecp256k1PublicKey:()=>ox});var Gy=(t,e,r)=>t&e^~t&r,Yy=(t,e,r)=>t&e^t&r^e&r,Qy=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]),wn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),vn=new Uint32Array(64),k2=class extends Ci{constructor(){super(64,32,8,!1),this.A=wn[0]|0,this.B=wn[1]|0,this.C=wn[2]|0,this.D=wn[3]|0,this.E=wn[4]|0,this.F=wn[5]|0,this.G=wn[6]|0,this.H=wn[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)vn[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let m=vn[l-15],d=vn[l-2],h=rr(m,7)^rr(m,18)^m>>>3,p=rr(d,17)^rr(d,19)^d>>>10;vn[l]=p+vn[l-7]+h+vn[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let m=rr(a,6)^rr(a,11)^rr(a,25),d=f+m+Gy(a,c,u)+Qy[l]+vn[l]|0,p=(rr(n,2)^rr(n,13)^rr(n,22))+Yy(n,i,o)|0;f=u,u=c,c=a,a=s+d|0,s=o,o=i,i=n,n=d+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,o,s,a,c,u,f)}roundClean(){vn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var r6=f0(()=>new k2);function Wy(t){let e=Do(t);Sr(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("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("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:Zy,hexToBytes:Xy}=d0,jn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=jn;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Zy(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=jn,r=typeof t=="string"?Xy(t):t;if(!nr(r))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:o}=jn._parseInt(r.subarray(2)),{d:s,l:a}=jn._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=e(r(t.s)),i=e(r(t.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},$r=BigInt(0),zt=BigInt(1),G_=BigInt(2),n6=BigInt(3),Y_=BigInt(4);function jy(t){let e=Wy(t),{Fp:r}=e,n=e.toBytes||((h,p,g)=>{let y=p.toAffine();return Vr(Uint8Array.from([4]),r.toBytes(y.x),r.toBytes(y.y))}),i=e.fromBytes||(h=>{let p=h.subarray(1),g=r.fromBytes(p.subarray(0,r.BYTES)),y=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:g,y}});function o(h){let{a:p,b:g}=e,y=r.sqr(h),x=r.mul(y,h);return r.add(r.add(x,r.mul(h,p)),g)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&$r<h&&h<e.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:p,nByteLength:g,wrapPrivateKey:y,n:x}=e;if(p&&typeof h!="bigint"){if(nr(h)&&(h=Fr(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(g*2,"0")}let b;try{b=typeof h=="bigint"?h:Mr(Fe("private key",h,g))}catch{throw new Error(`private key must be ${g} bytes, hex or bigint, not ${typeof h}`)}return y&&(b=Ae(b,x)),a(b),b}let u=new Map;function f(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,g,y){if(this.px=p,this.py=g,this.pz=y,p==null||!r.isValid(p))throw new Error("x required");if(g==null||!r.isValid(g))throw new Error("y required");if(y==null||!r.isValid(y))throw new Error("z required")}static fromAffine(p){let{x:g,y}=p||{};if(!p||!r.isValid(g)||!r.isValid(y))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let x=b=>r.eql(b,r.ZERO);return x(g)&&x(y)?l.ZERO:new l(g,y,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let g=r.invertBatch(p.map(y=>y.pz));return p.map((y,x)=>y.toAffine(g[x])).map(l.fromAffine)}static fromHex(p){let g=l.fromAffine(i(Fe("pointHex",p)));return g.assertValidity(),g}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:g}=this.toAffine();if(!r.isValid(p)||!r.isValid(g))throw new Error("bad point: x or y not FE");let y=r.sqr(g),x=o(p);if(!r.eql(y,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:g,py:y,pz:x}=this,{px:b,py:I,pz:v}=p,E=r.eql(r.mul(g,v),r.mul(b,x)),C=r.eql(r.mul(y,v),r.mul(I,x));return E&&C}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:g}=e,y=r.mul(g,n6),{px:x,py:b,pz:I}=this,v=r.ZERO,E=r.ZERO,C=r.ZERO,S=r.mul(x,x),L=r.mul(b,b),V=r.mul(I,I),F=r.mul(x,b);return F=r.add(F,F),C=r.mul(x,I),C=r.add(C,C),v=r.mul(p,C),E=r.mul(y,V),E=r.add(v,E),v=r.sub(L,E),E=r.add(L,E),E=r.mul(v,E),v=r.mul(F,v),C=r.mul(y,C),V=r.mul(p,V),F=r.sub(S,V),F=r.mul(p,F),F=r.add(F,C),C=r.add(S,S),S=r.add(C,S),S=r.add(S,V),S=r.mul(S,F),E=r.add(E,S),V=r.mul(b,I),V=r.add(V,V),S=r.mul(V,F),v=r.sub(v,S),C=r.mul(V,L),C=r.add(C,C),C=r.add(C,C),new l(v,E,C)}add(p){f(p);let{px:g,py:y,pz:x}=this,{px:b,py:I,pz:v}=p,E=r.ZERO,C=r.ZERO,S=r.ZERO,L=e.a,V=r.mul(e.b,n6),F=r.mul(g,b),q=r.mul(y,I),X=r.mul(x,v),oe=r.add(g,y),T=r.add(b,I);oe=r.mul(oe,T),T=r.add(F,q),oe=r.sub(oe,T),T=r.add(g,x);let D=r.add(b,v);return T=r.mul(T,D),D=r.add(F,X),T=r.sub(T,D),D=r.add(y,x),E=r.add(I,v),D=r.mul(D,E),E=r.add(q,X),D=r.sub(D,E),S=r.mul(L,T),E=r.mul(V,X),S=r.add(E,S),E=r.sub(q,S),S=r.add(q,S),C=r.mul(E,S),q=r.add(F,F),q=r.add(q,F),X=r.mul(L,X),T=r.mul(V,T),q=r.add(q,X),X=r.sub(F,X),X=r.mul(L,X),T=r.add(T,X),F=r.mul(q,T),C=r.add(C,F),F=r.mul(D,T),E=r.mul(oe,E),E=r.sub(E,F),F=r.mul(oe,q),S=r.mul(D,S),S=r.add(S,F),new l(E,C,S)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return d.wNAFCached(this,u,p,g=>{let y=r.invertBatch(g.map(x=>x.pz));return g.map((x,b)=>x.toAffine(y[b])).map(l.fromAffine)})}multiplyUnsafe(p){let g=l.ZERO;if(p===$r)return g;if(a(p),p===zt)return this;let{endo:y}=e;if(!y)return d.unsafeLadder(this,p);let{k1neg:x,k1:b,k2neg:I,k2:v}=y.splitScalar(p),E=g,C=g,S=this;for(;b>$r||v>$r;)b&zt&&(E=E.add(S)),v&zt&&(C=C.add(S)),S=S.double(),b>>=zt,v>>=zt;return x&&(E=E.negate()),I&&(C=C.negate()),C=new l(r.mul(C.px,y.beta),C.py,C.pz),E.add(C)}multiply(p){a(p);let g=p,y,x,{endo:b}=e;if(b){let{k1neg:I,k1:v,k2neg:E,k2:C}=b.splitScalar(g),{p:S,f:L}=this.wNAF(v),{p:V,f:F}=this.wNAF(C);S=d.constTimeNegate(I,S),V=d.constTimeNegate(E,V),V=new l(r.mul(V.px,b.beta),V.py,V.pz),y=S.add(V),x=L.add(F)}else{let{p:I,f:v}=this.wNAF(g);y=I,x=v}return l.normalizeZ([y,x])[0]}multiplyAndAddUnsafe(p,g,y){let x=l.BASE,b=(v,E)=>E===$r||E===zt||!v.equals(x)?v.multiplyUnsafe(E):v.multiply(E),I=b(this,g).add(b(p,y));return I.is0()?void 0:I}toAffine(p){let{px:g,py:y,pz:x}=this,b=this.is0();p==null&&(p=b?r.ONE:r.inv(x));let I=r.mul(g,p),v=r.mul(y,p),E=r.mul(x,p);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:I,y:v}}isTorsionFree(){let{h:p,isTorsionFree:g}=e;if(p===zt)return!0;if(g)return g(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:g}=e;return p===zt?this:g?g(l,this):this.multiplyUnsafe(e.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Fr(this.toRawBytes(p))}}l.BASE=new l(e.Gx,e.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let m=e.nBitLength,d=g0(l,e.endo?Math.ceil(m/2):m);return{CURVE:e,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Jy(t){let e=Do(t);return Sr(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function i6(t){let e=Jy(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(T){return $r<T&&T<r.ORDER}function a(T){return Ae(T,n)}function c(T){return p0(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:m}=jy({...e,toBytes(T,D,N){let O=D.toAffine(),_=r.toBytes(O.x),$=Vr;return N?$(Uint8Array.from([D.hasEvenY()?2:3]),_):$(Uint8Array.from([4]),_,r.toBytes(O.y))},fromBytes(T){let D=T.length,N=T[0],O=T.subarray(1);if(D===i&&(N===2||N===3)){let _=Mr(O);if(!s(_))throw new Error("Point is not on curve");let $=l(_),G=r.sqrt($),j=(G&zt)===zt;return(N&1)===1!==j&&(G=r.neg(G)),{x:_,y:G}}else if(D===o&&N===4){let _=r.fromBytes(O.subarray(0,r.BYTES)),$=r.fromBytes(O.subarray(r.BYTES,2*r.BYTES));return{x:_,y:$}}else throw new Error(`Point of length ${D} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),d=T=>Fr(yn(T,e.nByteLength));function h(T){let D=n>>zt;return T>D}function p(T){return h(T)?a(-T):T}let g=(T,D,N)=>Mr(T.slice(D,N));class y{constructor(D,N,O){this.r=D,this.s=N,this.recovery=O,this.assertValidity()}static fromCompact(D){let N=e.nByteLength;return D=Fe("compactSignature",D,N*2),new y(g(D,0,N),g(D,N,2*N))}static fromDER(D){let{r:N,s:O}=jn.toSig(Fe("DER",D));return new y(N,O)}assertValidity(){if(!m(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!m(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(D){return new y(this.r,this.s,D)}recoverPublicKey(D){let{r:N,s:O,recovery:_}=this,$=C(Fe("msgHash",D));if(_==null||![0,1,2,3].includes(_))throw new Error("recovery id invalid");let G=_===2||_===3?N+e.n:N;if(G>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let j=_&1?"03":"02",se=u.fromHex(j+d(G)),fe=c(G),we=a(-$*fe),he=a(O*fe),me=u.BASE.multiplyAndAddUnsafe(se,we,he);if(!me)throw new Error("point at infinify");return me.assertValidity(),me}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return zn(this.toDERHex())}toDERHex(){return jn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return zn(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let x={isValidPrivateKey(T){try{return f(T),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let T=u2(e.n);return l4(e.randomBytes(T),e.n)},precompute(T=8,D=u.BASE){return D._setWindowSize(T),D.multiply(BigInt(3)),D}};function b(T,D=!0){return u.fromPrivateKey(T).toRawBytes(D)}function I(T){let D=nr(T),N=typeof T=="string",O=(D||N)&&T.length;return D?O===i||O===o:N?O===2*i||O===2*o:T instanceof u}function v(T,D,N=!0){if(I(T))throw new Error("first arg must be private key");if(!I(D))throw new Error("second arg must be public key");return u.fromHex(D).multiply(f(T)).toRawBytes(N)}let E=e.bits2int||function(T){let D=Mr(T),N=T.length*8-e.nBitLength;return N>0?D>>BigInt(N):D},C=e.bits2int_modN||function(T){return a(E(T))},S=Po(e.nBitLength);function L(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!($r<=T&&T<S))throw new Error(`bigint expected < 2^${e.nBitLength}`);return yn(T,e.nByteLength)}function V(T,D,N=F){if(["recovered","canonical"].some(Ue=>Ue in N))throw new Error("sign() legacy options not supported");let{hash:O,randomBytes:_}=e,{lowS:$,prehash:G,extraEntropy:j}=N;$==null&&($=!0),T=Fe("msgHash",T),G&&(T=Fe("prehashed msgHash",O(T)));let se=C(T),fe=f(D),we=[L(fe),L(se)];if(j!=null){let Ue=j===!0?_(r.BYTES):j;we.push(Fe("extraEntropy",Ue))}let he=Vr(...we),me=se;function Ye(Ue){let it=E(Ue);if(!m(it))return;let ot=c(it),Xe=u.BASE.multiply(it).toAffine(),ct=a(Xe.x);if(ct===$r)return;let _r=a(ot*a(me+ct*fe));if(_r===$r)return;let kn=(Xe.x===ct?0:2)|Number(Xe.y&zt),bo=_r;return $&&h(_r)&&(bo=p(_r),kn^=1),new y(ct,bo,kn)}return{seed:he,k2sig:Ye}}let F={lowS:e.lowS,prehash:!1},q={lowS:e.lowS,prehash:!1};function X(T,D,N=F){let{seed:O,k2sig:_}=V(T,D,N),$=e;return o2($.hash.outputLen,$.nByteLength,$.hmac)(O,_)}u.BASE._setWindowSize(8);function oe(T,D,N,O=q){let _=T;if(D=Fe("msgHash",D),N=Fe("publicKey",N),"strict"in O)throw new Error("options.strict was renamed to lowS");let{lowS:$,prehash:G}=O,j,se;try{if(typeof _=="string"||nr(_))try{j=y.fromDER(_)}catch(Xe){if(!(Xe instanceof jn.Err))throw Xe;j=y.fromCompact(_)}else if(typeof _=="object"&&typeof _.r=="bigint"&&typeof _.s=="bigint"){let{r:Xe,s:ct}=_;j=new y(Xe,ct)}else throw new Error("PARSE");se=u.fromHex(N)}catch(Xe){if(Xe.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if($&&j.hasHighS())return!1;G&&(D=e.hash(D));let{r:fe,s:we}=j,he=C(D),me=c(we),Ye=a(he*me),Ue=a(fe*me),it=u.BASE.multiplyAndAddUnsafe(se,Ye,Ue)?.toAffine();return it?a(it.x)===fe:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:v,sign:X,verify:oe,ProjectivePoint:u,Signature:y,utils:x}}var A0=class extends Ai{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,jl(e);let n=_o(r);if(this.iHash=e.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 i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return Si(this),this.iHash.update(e),this}digestInto(e){Si(this),j1(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},U2=(t,e,r)=>new A0(t,e).update(r).digest();U2.create=(t,e)=>new A0(t,e);function ex(t){return{hash:t,hmac:(e,...r)=>U2(t,e,u0(...r)),randomBytes:Ii}}function o6(t,e){let r=n=>i6({...t,...ex(n)});return Object.freeze({...r(e),create:r})}var c6=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),s6=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),tx=BigInt(1),O2=BigInt(2),a6=(t,e)=>(t+e/O2)/e;function rx(t){let e=c6,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,f=u*u*t%e,l=De(f,r,e)*f%e,m=De(l,r,e)*f%e,d=De(m,O2,e)*u%e,h=De(d,i,e)*d%e,p=De(h,o,e)*h%e,g=De(p,a,e)*p%e,y=De(g,c,e)*g%e,x=De(y,a,e)*p%e,b=De(x,r,e)*f%e,I=De(b,s,e)*h%e,v=De(I,n,e)*u%e,E=De(v,O2,e);if(!F2.eql(F2.sqr(E),t))throw new Error("Cannot find square root");return E}var F2=m0(c6,void 0,void 0,{sqrt:rx}),cr=o6({a:BigInt(0),b:BigInt(7),Fp:F2,n:s6,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=s6,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-tx*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=a6(o*t,e),c=a6(-n*t,e),u=Ae(t-a*r-c*i,e),f=Ae(-a*n-c*o,e),l=u>s,m=f>s;if(l&&(u=e-u),m&&(f=e-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:m,k2:f}}}},r6),oP=BigInt(0);var sP=cr.ProjectivePoint;function u6(){return cr.utils.randomPrivateKey()}function f6(t,e){let r=Ne.digest(e instanceof Uint8Array?e:e.subarray());if(Mt(r))return r.then(({digest:n})=>cr.sign(n,t).toDERRawBytes()).catch(n=>{throw new k(String(n),"ERR_INVALID_INPUT")});try{return cr.sign(r.digest,t).toDERRawBytes()}catch(n){throw new k(String(n),"ERR_INVALID_INPUT")}}function l6(t,e,r){let n=Ne.digest(r instanceof Uint8Array?r:r.subarray());if(Mt(n))return n.then(({digest:i})=>cr.verify(e,i,t)).catch(i=>{throw new k(String(i),"ERR_INVALID_INPUT")});try{return cr.verify(e,n.digest,t)}catch(i){throw new k(String(i),"ERR_INVALID_INPUT")}}function h6(t){return cr.ProjectivePoint.fromHex(t).toRawBytes(!0)}function d6(t){try{cr.getPublicKey(t,!0)}catch(e){throw new k(String(e),"ERR_INVALID_PRIVATE_KEY")}}function M2(t){try{cr.ProjectivePoint.fromHex(t)}catch(e){throw new k(String(e),"ERR_INVALID_PUBLIC_KEY")}}function p6(t){try{return cr.getPublicKey(t,!0)}catch(e){throw new k(String(e),"ERR_INVALID_PRIVATE_KEY")}}var qo=class{_key;constructor(e){M2(e),this._key=e}verify(e,r){return l6(this._key,r,e)}marshal(){return h6(this._key)}get bytes(){return sr.encode({Type:Be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}async hash(){let e=Ne.digest(this.bytes),r;return Mt(e)?{bytes:r}=await e:r=e.bytes,r}},zo=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??p6(e),d6(this._key),M2(this._publicKey)}sign(e){return f6(this._key,e)}get public(){return new qo(this._publicKey)}marshal(){return this._key}get bytes(){return ar.encode({Type:Be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}hash(){let e=Ne.digest(this.bytes);return Mt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return W(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Ri(this.bytes,e);throw new k(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function ix(t){return new zo(t)}function ox(t){return new qo(t)}async function sx(){let t=u6();return new zo(t)}var Ar={rsa:L2,ed25519:B2,secp256k1:V2};function K2(t){let e=Object.keys(Ar).join(" / ");return new k(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function q2(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Ar[t];throw K2(t)}async function ax(t,e){return q2(t).generateKeyPair(e??2048)}async function cx(t,e,r){if(t.toLowerCase()!=="ed25519")throw new k("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return T2(e)}function C0(t){let e=sr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Be.RSA:return Ar.rsa.unmarshalRsaPublicKey(r);case Be.Ed25519:return Ar.ed25519.unmarshalEd25519PublicKey(r);case Be.Secp256k1:return Ar.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw K2(e.Type??"unknown")}}function ux(t,e){return e=(e??"rsa").toLowerCase(),q2(e),t.bytes}async function T0(t){let e=ar.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Be.RSA:return Ar.rsa.unmarshalRsaPrivateKey(r);case Be.Ed25519:return Ar.ed25519.unmarshalEd25519PrivateKey(r);case Be.Secp256k1:return Ar.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw K2(e.Type??"RSA")}}function fx(t,e){return e=(e??"rsa").toLowerCase(),q2(e),t.bytes}async function lx(t,e){try{let i=await k4(t,e);return await T0(i)}catch{}let r=I0.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new k("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=I0.default.asn1.toDer(I0.default.pki.privateKeyToAsn1(r));return n=le(n.getBytes(),"ascii"),Ar.rsa.unmarshalRsaPrivateKey(n)}var cc=ce(Li(),1);var Hr="/",y6=new TextEncoder().encode(Hr),R0=y6[0],Ir=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=le(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==R0)throw new Error("Invalid key")}toString(e="utf8"){return W(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(Hr))}static random(){return new t(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=y6),this._buf[0]!==R0){let e=new Uint8Array(this._buf.byteLength+1);e.fill(R0,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===R0;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Hr).slice(1)}type(){return dx(this.baseNamespace())}name(){return px(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Hr)||(e+=Hr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(Hr):new t(e.slice(0,-1).join(Hr))}child(e){return this.toString()===Hr?e:e.toString()===Hr?this:new t(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return t.withNamespaces([...this.namespaces(),...mx(e.map(r=>r.namespaces()))])}};function dx(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function px(t){let e=t.split(":");return e[e.length-1]}function mx(t){return[].concat(...t)}var U5=ce($2(),1);var x6="ERR_IPNS_EXPIRED_RECORD",$o="ERR_UNRECOGNIZED_VALIDITY",b6="ERR_SIGNATURE_CREATION",Gr="ERR_SIGNATURE_VERIFICATION",w6="ERR_UNRECOGNIZED_FORMAT";var H2="ERR_UNDEFINED_PARAMETER",v6="ERR_INVALID_RECORD_DATA",E6="ERR_INVALID_VALUE",S6="ERR_INVALID_EMBEDDED_KEY",A6="ERR_MISSING_PRIVATE_KEY",I6="ERR_RECORD_TOO_LARGE";var St;(function(t){let e;(function(i){i.EOL="EOL"})(e=t.ValidityType||(t.ValidityType={}));let r;(function(i){i[i.EOL=0]="EOL"})(r||(r={})),function(i){i.codec=()=>bn(r)}(e=t.ValidityType||(t.ValidityType={}));let n;t.codec=()=>(n==null&&(n=qt((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.value!=null&&(o.uint32(10),o.bytes(i.value)),i.signatureV1!=null&&(o.uint32(18),o.bytes(i.signatureV1)),i.validityType!=null&&(o.uint32(24),t.ValidityType.codec().encode(i.validityType,o)),i.validity!=null&&(o.uint32(34),o.bytes(i.validity)),i.sequence!=null&&(o.uint32(40),o.uint64(i.sequence)),i.ttl!=null&&(o.uint32(48),o.uint64(i.ttl)),i.pubKey!=null&&(o.uint32(58),o.bytes(i.pubKey)),i.signatureV2!=null&&(o.uint32(66),o.bytes(i.signatureV2)),i.data!=null&&(o.uint32(74),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.value=i.bytes();break;case 2:s.signatureV1=i.bytes();break;case 3:s.validityType=t.ValidityType.codec().decode(i);break;case 4:s.validity=i.bytes();break;case 5:s.sequence=i.uint64();break;case 6:s.ttl=i.uint64();break;case 7:s.pubKey=i.bytes();break;case 8:s.signatureV2=i.bytes();break;case 9:s.data=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),t.encode=i=>Kt(i,t.codec()),t.decode=i=>Vt(i,t.codec())})(St||(St={}));var gx=["string","number","bigint","symbol"],yx=["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 C6(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(gx.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(xx(t))return"Buffer";let r=bx(t);return r||"Object"}function xx(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function bx(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(yx.includes(e))return e}var R=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};R.uint=new R(0,"uint",!0);R.negint=new R(1,"negint",!0);R.bytes=new R(2,"bytes",!0);R.string=new R(3,"string",!0);R.array=new R(4,"array",!1);R.map=new R(5,"map",!1);R.tag=new R(6,"tag",!1);R.float=new R(7,"float",!0);R.false=new R(7,"false",!0);R.true=new R(7,"true",!0);R.null=new R(7,"null",!0);R.undefined=new R(7,"undefined",!0);R.break=new R(7,"break",!0);var H=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var ki=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",wx=new TextDecoder,vx=new TextEncoder;function _0(t){return ki&&globalThis.Buffer.isBuffer(t)}function Y2(t){return t instanceof Uint8Array?_0(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var _6=ki?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):B6(t,e,r):(t,e,r)=>r-e>64?wx.decode(t.subarray(e,r)):B6(t,e,r),P6=ki?t=>t.length>64?globalThis.Buffer.from(t):T6(t):t=>t.length>64?vx.encode(t):T6(t),Cr=t=>Uint8Array.from(t),Ui=ki?(t,e,r)=>_0(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),D6=ki?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Y2(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let i of t)n+i.length>r.length&&(i=i.subarray(0,r.length-n)),r.set(i,n),n+=i.length;return r},N6=ki?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function L6(t,e){if(_0(t)&&_0(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function T6(t){let e=[],r=0;for(let n=0;n<t.length;n++){let i=t.charCodeAt(n);i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(i=65536+((i&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128)}return e}function B6(t,e,r){let n=[];for(;e<r;){let i=t[e],o=null,s=i>239?4:i>223?3:i>191?2:1;if(e+s<=r){let a,c,u,f;switch(s){case 1:i<128&&(o=i);break;case 2:a=t[e+1],(a&192)===128&&(f=(i&31)<<6|a&63,f>127&&(o=f));break;case 3:a=t[e+1],c=t[e+2],(a&192)===128&&(c&192)===128&&(f=(i&15)<<12|(a&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:a=t[e+1],c=t[e+2],u=t[e+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(f=(i&15)<<18|(a&63)<<12|(c&63)<<6|u&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),e+=s}return Ex(n)}var R6=4096;function Ex(t){let e=t.length;if(e<=R6)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=R6));return r}var Sx=256,Ho=class{constructor(e=Sx){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let i=r.length-(this.maxCursor-this.cursor)-1;r.set(e,i)}else{if(r){let i=r.length-(this.maxCursor-this.cursor)-1;i<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,i),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=N6(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=Ui(n,0,this.cursor)}else r=D6(this.chunks,this.cursor);return e&&this.reset(),r}};var J="CBOR decode error:",Q2="CBOR encode error:",Go=[];Go[23]=1;Go[24]=2;Go[25]=3;Go[26]=5;Go[27]=9;function Yr(t,e,r){if(t.length-e<r)throw new Error(`${J} not enough data for type`)}var nt=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Dt(t,e,r){Yr(t,e,1);let n=t[e];if(r.strict===!0&&n<nt[0])throw new Error(`${J} integer encoded in more bytes than necessary (strict decode)`);return n}function Nt(t,e,r){Yr(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<nt[1])throw new Error(`${J} integer encoded in more bytes than necessary (strict decode)`);return n}function Lt(t,e,r){Yr(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<nt[2])throw new Error(`${J} integer encoded in more bytes than necessary (strict decode)`);return n}function kt(t,e,r){Yr(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],i=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],o=(BigInt(n)<<BigInt(32))+BigInt(i);if(r.strict===!0&&o<nt[3])throw new Error(`${J} integer encoded in more bytes than necessary (strict decode)`);if(o<=Number.MAX_SAFE_INTEGER)return Number(o);if(r.allowBigInt===!0)return o;throw new Error(`${J} integers outside of the safe integer range are not supported`)}function k6(t,e,r,n){return new H(R.uint,Dt(t,e+1,n),2)}function U6(t,e,r,n){return new H(R.uint,Nt(t,e+1,n),3)}function O6(t,e,r,n){return new H(R.uint,Lt(t,e+1,n),5)}function F6(t,e,r,n){return new H(R.uint,kt(t,e+1,n),9)}function $t(t,e){return st(t,0,e.value)}function st(t,e,r){if(r<nt[0]){let n=Number(r);t.push([e|n])}else if(r<nt[1]){let n=Number(r);t.push([e|24,n])}else if(r<nt[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<nt[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<nt[4]){let i=[e|27,0,0,0,0,0,0,0],o=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));i[8]=o&255,o=o>>8,i[7]=o&255,o=o>>8,i[6]=o&255,o=o>>8,i[5]=o&255,i[4]=s&255,s=s>>8,i[3]=s&255,s=s>>8,i[2]=s&255,s=s>>8,i[1]=s&255,t.push(i)}else throw new Error(`${J} encountered BigInt larger than allowable range`)}}$t.encodedSize=function(e){return st.encodedSize(e.value)};st.encodedSize=function(e){return e<nt[0]?1:e<nt[1]?2:e<nt[2]?3:e<nt[3]?5:9};$t.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function M6(t,e,r,n){return new H(R.negint,-1-Dt(t,e+1,n),2)}function V6(t,e,r,n){return new H(R.negint,-1-Nt(t,e+1,n),3)}function K6(t,e,r,n){return new H(R.negint,-1-Lt(t,e+1,n),5)}var W2=BigInt(-1),q6=BigInt(1);function z6(t,e,r,n){let i=kt(t,e+1,n);if(typeof i!="bigint"){let o=-1-i;if(o>=Number.MIN_SAFE_INTEGER)return new H(R.negint,o,9)}if(n.allowBigInt!==!0)throw new Error(`${J} integers outside of the safe integer range are not supported`);return new H(R.negint,W2-BigInt(i),9)}function P0(t,e){let r=e.value,n=typeof r=="bigint"?r*W2-q6:r*-1-1;st(t,e.type.majorEncoded,n)}P0.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*W2-q6:r*-1-1;return n<nt[0]?1:n<nt[1]?2:n<nt[2]?3:n<nt[3]?5:9};P0.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function Yo(t,e,r,n){Yr(t,e,r+n);let i=Ui(t,e+r,e+r+n);return new H(R.bytes,i,r+n)}function $6(t,e,r,n){return Yo(t,e,1,r)}function H6(t,e,r,n){return Yo(t,e,2,Dt(t,e+1,n))}function G6(t,e,r,n){return Yo(t,e,3,Nt(t,e+1,n))}function Y6(t,e,r,n){return Yo(t,e,5,Lt(t,e+1,n))}function Q6(t,e,r,n){let i=kt(t,e+1,n);if(typeof i=="bigint")throw new Error(`${J} 64-bit integer bytes lengths not supported`);return Yo(t,e,9,i)}function D0(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===R.string?P6(t.value):t.value),t.encodedBytes}function Oi(t,e){let r=D0(e);st(t,e.type.majorEncoded,r.length),t.push(r)}Oi.encodedSize=function(e){let r=D0(e);return st.encodedSize(r.length)+r.length};Oi.compareTokens=function(e,r){return Ix(D0(e),D0(r))};function Ix(t,e){return t.length<e.length?-1:t.length>e.length?1:L6(t,e)}function Qo(t,e,r,n,i){let o=r+n;Yr(t,e,o);let s=new H(R.string,_6(t,e+r,e+o),o);return i.retainStringBytes===!0&&(s.byteValue=Ui(t,e+r,e+o)),s}function W6(t,e,r,n){return Qo(t,e,1,r,n)}function Z6(t,e,r,n){return Qo(t,e,2,Dt(t,e+1,n),n)}function X6(t,e,r,n){return Qo(t,e,3,Nt(t,e+1,n),n)}function j6(t,e,r,n){return Qo(t,e,5,Lt(t,e+1,n),n)}function J6(t,e,r,n){let i=kt(t,e+1,n);if(typeof i=="bigint")throw new Error(`${J} 64-bit integer string lengths not supported`);return Qo(t,e,9,i,n)}var e5=Oi;function Fi(t,e,r,n){return new H(R.array,n,r)}function t5(t,e,r,n){return Fi(t,e,1,r)}function r5(t,e,r,n){return Fi(t,e,2,Dt(t,e+1,n))}function n5(t,e,r,n){return Fi(t,e,3,Nt(t,e+1,n))}function i5(t,e,r,n){return Fi(t,e,5,Lt(t,e+1,n))}function o5(t,e,r,n){let i=kt(t,e+1,n);if(typeof i=="bigint")throw new Error(`${J} 64-bit integer array lengths not supported`);return Fi(t,e,9,i)}function s5(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${J} indefinite length items not allowed`);return Fi(t,e,1,1/0)}function N0(t,e){st(t,R.array.majorEncoded,e.value)}N0.compareTokens=$t.compareTokens;N0.encodedSize=function(e){return st.encodedSize(e.value)};function Mi(t,e,r,n){return new H(R.map,n,r)}function a5(t,e,r,n){return Mi(t,e,1,r)}function c5(t,e,r,n){return Mi(t,e,2,Dt(t,e+1,n))}function u5(t,e,r,n){return Mi(t,e,3,Nt(t,e+1,n))}function f5(t,e,r,n){return Mi(t,e,5,Lt(t,e+1,n))}function l5(t,e,r,n){let i=kt(t,e+1,n);if(typeof i=="bigint")throw new Error(`${J} 64-bit integer map lengths not supported`);return Mi(t,e,9,i)}function h5(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${J} indefinite length items not allowed`);return Mi(t,e,1,1/0)}function L0(t,e){st(t,R.map.majorEncoded,e.value)}L0.compareTokens=$t.compareTokens;L0.encodedSize=function(e){return st.encodedSize(e.value)};function d5(t,e,r,n){return new H(R.tag,r,1)}function p5(t,e,r,n){return new H(R.tag,Dt(t,e+1,n),2)}function m5(t,e,r,n){return new H(R.tag,Nt(t,e+1,n),3)}function g5(t,e,r,n){return new H(R.tag,Lt(t,e+1,n),5)}function y5(t,e,r,n){return new H(R.tag,kt(t,e+1,n),9)}function k0(t,e){st(t,R.tag.majorEncoded,e.value)}k0.compareTokens=$t.compareTokens;k0.encodedSize=function(e){return st.encodedSize(e.value)};var Px=20,Dx=21,Nx=22,Lx=23;function x5(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${J} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new H(R.null,null,1):new H(R.undefined,void 0,1)}function b5(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${J} indefinite length items not allowed`);return new H(R.break,void 0,1)}function Z2(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${J} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${J} Infinity values are not supported`)}return new H(R.float,t,e)}function w5(t,e,r,n){return Z2(X2(t,e+1),3,n)}function v5(t,e,r,n){return Z2(j2(t,e+1),5,n)}function E5(t,e,r,n){return Z2(C5(t,e+1),9,n)}function U0(t,e,r){let n=e.value;if(n===!1)t.push([R.float.majorEncoded|Px]);else if(n===!0)t.push([R.float.majorEncoded|Dx]);else if(n===null)t.push([R.float.majorEncoded|Nx]);else if(n===void 0)t.push([R.float.majorEncoded|Lx]);else{let i,o=!1;(!r||r.float64!==!0)&&(A5(n),i=X2(ur,1),n===i||Number.isNaN(n)?(ur[0]=249,t.push(ur.slice(0,3)),o=!0):(I5(n),i=j2(ur,1),n===i&&(ur[0]=250,t.push(ur.slice(0,5)),o=!0))),o||(kx(n),i=C5(ur,1),ur[0]=251,t.push(ur.slice(0,9)))}}U0.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){A5(n);let i=X2(ur,1);if(n===i||Number.isNaN(n))return 3;if(I5(n),i=j2(ur,1),n===i)return 5}return 9};var S5=new ArrayBuffer(9),Ht=new DataView(S5,1),ur=new Uint8Array(S5,0);function A5(t){if(t===1/0)Ht.setUint16(0,31744,!1);else if(t===-1/0)Ht.setUint16(0,64512,!1);else if(Number.isNaN(t))Ht.setUint16(0,32256,!1);else{Ht.setFloat32(0,t);let e=Ht.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)Ht.setUint16(0,31744,!1);else if(r===0)Ht.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let i=r-127;i<-24?Ht.setUint16(0,0):i<-14?Ht.setUint16(0,(e&2147483648)>>16|1<<24+i,!1):Ht.setUint16(0,(e&2147483648)>>16|i+15<<10|n>>13,!1)}}}function X2(t,e){if(t.length-e<2)throw new Error(`${J} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,i=r&1023,o;return n===0?o=i*2**-24:n!==31?o=(i+1024)*2**(n-25):o=i===0?1/0:NaN,r&32768?-o:o}function I5(t){Ht.setFloat32(0,t,!1)}function j2(t,e){if(t.length-e<4)throw new Error(`${J} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function kx(t){Ht.setFloat64(0,t,!1)}function C5(t,e){if(t.length-e<8)throw new Error(`${J} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}U0.compareTokens=$t.compareTokens;function ye(t,e,r){throw new Error(`${J} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function O0(t){return()=>{throw new Error(`${J} ${t}`)}}var M=[];for(let t=0;t<=23;t++)M[t]=ye;M[24]=k6;M[25]=U6;M[26]=O6;M[27]=F6;M[28]=ye;M[29]=ye;M[30]=ye;M[31]=ye;for(let t=32;t<=55;t++)M[t]=ye;M[56]=M6;M[57]=V6;M[58]=K6;M[59]=z6;M[60]=ye;M[61]=ye;M[62]=ye;M[63]=ye;for(let t=64;t<=87;t++)M[t]=$6;M[88]=H6;M[89]=G6;M[90]=Y6;M[91]=Q6;M[92]=ye;M[93]=ye;M[94]=ye;M[95]=O0("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)M[t]=W6;M[120]=Z6;M[121]=X6;M[122]=j6;M[123]=J6;M[124]=ye;M[125]=ye;M[126]=ye;M[127]=O0("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)M[t]=t5;M[152]=r5;M[153]=n5;M[154]=i5;M[155]=o5;M[156]=ye;M[157]=ye;M[158]=ye;M[159]=s5;for(let t=160;t<=183;t++)M[t]=a5;M[184]=c5;M[185]=u5;M[186]=f5;M[187]=l5;M[188]=ye;M[189]=ye;M[190]=ye;M[191]=h5;for(let t=192;t<=215;t++)M[t]=d5;M[216]=p5;M[217]=m5;M[218]=g5;M[219]=y5;M[220]=ye;M[221]=ye;M[222]=ye;M[223]=ye;for(let t=224;t<=243;t++)M[t]=O0("simple values are not supported");M[244]=ye;M[245]=ye;M[246]=ye;M[247]=x5;M[248]=O0("simple values are not supported");M[249]=w5;M[250]=v5;M[251]=E5;M[252]=ye;M[253]=ye;M[254]=ye;M[255]=b5;var fr=[];for(let t=0;t<24;t++)fr[t]=new H(R.uint,t,1);for(let t=-1;t>=-24;t--)fr[31-t]=new H(R.negint,t,1);fr[64]=new H(R.bytes,new Uint8Array(0),1);fr[96]=new H(R.string,"",1);fr[128]=new H(R.array,0,1);fr[160]=new H(R.map,0,1);fr[244]=new H(R.false,!1,1);fr[245]=new H(R.true,!0,1);fr[246]=new H(R.null,null,1);function T5(t){switch(t.type){case R.false:return Cr([244]);case R.true:return Cr([245]);case R.null:return Cr([246]);case R.bytes:return t.value.length?void 0:Cr([64]);case R.string:return t.value===""?Cr([96]):void 0;case R.array:return t.value===0?Cr([128]):void 0;case R.map:return t.value===0?Cr([160]):void 0;case R.uint:return t.value<24?Cr([Number(t.value)]):void 0;case R.negint:if(t.value>=-24)return Cr([31-Number(t.value)])}}var Ox={float64:!1,mapSorter:Vx,quickEncodeToken:T5};function Fx(){let t=[];return t[R.uint.major]=$t,t[R.negint.major]=P0,t[R.bytes.major]=Oi,t[R.string.major]=e5,t[R.array.major]=N0,t[R.map.major]=L0,t[R.tag.major]=k0,t[R.float.major]=U0,t}var B5=Fx(),J2=new Ho,M0=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${Q2} object contains circular references`);return new t(r,e)}},En={null:new H(R.null,null),undefined:new H(R.undefined,void 0),true:new H(R.true,!0),false:new H(R.false,!1),emptyArray:new H(R.array,0),emptyMap:new H(R.map,0)},Sn={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new H(R.float,t):t>=0?new H(R.uint,t):new H(R.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new H(R.uint,t):new H(R.negint,t)},Uint8Array(t,e,r,n){return new H(R.bytes,t)},string(t,e,r,n){return new H(R.string,t)},boolean(t,e,r,n){return t?En.true:En.false},null(t,e,r,n){return En.null},undefined(t,e,r,n){return En.undefined},ArrayBuffer(t,e,r,n){return new H(R.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new H(R.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[En.emptyArray,new H(R.break)]:En.emptyArray;n=M0.createCheck(n,t);let i=[],o=0;for(let s of t)i[o++]=F0(s,r,n);return r.addBreakTokens?[new H(R.array,t.length),i,new H(R.break)]:[new H(R.array,t.length),i]},Object(t,e,r,n){let i=e!=="Object",o=i?t.keys():Object.keys(t),s=i?t.size:o.length;if(!s)return r.addBreakTokens===!0?[En.emptyMap,new H(R.break)]:En.emptyMap;n=M0.createCheck(n,t);let a=[],c=0;for(let u of o)a[c++]=[F0(u,r,n),F0(i?t.get(u):t[u],r,n)];return Mx(a,r),r.addBreakTokens?[new H(R.map,s),a,new H(R.break)]:[new H(R.map,s),a]}};Sn.Map=Sn.Object;Sn.Buffer=Sn.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Sn[`${t}Array`]=Sn.DataView;function F0(t,e={},r){let n=C6(t),i=e&&e.typeEncoders&&e.typeEncoders[n]||Sn[n];if(typeof i=="function"){let s=i(t,n,e,r);if(s!=null)return s}let o=Sn[n];if(!o)throw new Error(`${Q2} unsupported type: ${n}`);return o(t,n,e,r)}function Mx(t,e){e.mapSorter&&t.sort(e.mapSorter)}function Vx(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let i=r.type.major,o=B5[i].compareTokens(r,n);return o===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),o}function R5(t,e,r,n){if(Array.isArray(e))for(let i of e)R5(t,i,r,n);else r[e.type.major](t,e,n)}function Kx(t,e,r){let n=F0(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let i=r.quickEncodeToken(n);if(i)return i;let o=e[n.type.major];if(o.encodedSize){let s=o.encodedSize(n,r),a=new Ho(s);if(o(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Y2(a.chunks[0])}}return J2.reset(),R5(J2,n,e,r),J2.toBytes(!0)}function ec(t,e){return e=Object.assign({},Ox,e),Kx(t,B5,e)}var qx={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},tc=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=fr[e];if(r===void 0){let n=M[e];if(!n)throw new Error(`${J} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let i=e&31;r=n(this.data,this._pos,i,this.options)}return this._pos+=r.encodedLength,r}},Wo=Symbol.for("DONE"),V0=Symbol.for("BREAK");function zx(t,e,r){let n=[];for(let i=0;i<t.value;i++){let o=Zo(e,r);if(o===V0){if(t.value===1/0)break;throw new Error(`${J} got unexpected break to lengthed array`)}if(o===Wo)throw new Error(`${J} found array but not enough entries (got ${i}, expected ${t.value})`);n[i]=o}return n}function $x(t,e,r){let n=r.useMaps===!0,i=n?void 0:{},o=n?new Map:void 0;for(let s=0;s<t.value;s++){let a=Zo(e,r);if(a===V0){if(t.value===1/0)break;throw new Error(`${J} got unexpected break to lengthed map`)}if(a===Wo)throw new Error(`${J} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${J} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&o.has(a)||!n&&a in i))throw new Error(`${J} found repeat map key "${a}"`);let c=Zo(e,r);if(c===Wo)throw new Error(`${J} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?o.set(a,c):i[a]=c}return n?o:i}function Zo(t,e){if(t.done())return Wo;let r=t.next();if(r.type===R.break)return V0;if(r.type.terminal)return r.value;if(r.type===R.array)return zx(r,t,e);if(r.type===R.map)return $x(r,t,e);if(r.type===R.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=Zo(t,e);return e.tags[r.value](n)}throw new Error(`${J} tag not supported (${r.value})`)}throw new Error("unsupported")}function _5(t,e){if(!(t instanceof Uint8Array))throw new Error(`${J} data to decode must be a Uint8Array`);e=Object.assign({},qx,e);let r=e.tokenizer||new tc(t,e),n=Zo(r,e);if(n===Wo)throw new Error(`${J} did not find any content to decode`);if(n===V0)throw new Error(`${J} got unexpected break`);return[n,t.subarray(r.pos())]}function rc(t,e){let[r,n]=_5(t,e);if(n.length>0)throw new Error(`${J} too many terminals, data makes no sense`);return r}var yt=ce(Li(),1);var P5=ce($2(),1);var nc=an("ipns:utils"),D5=le("/ipns/"),Gx=114;function Yx(t){let e=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(t).trim().match(e);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),i=parseInt(r[2],10)-1,o=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),u=parseInt(r[7].padEnd(6,"0").slice(0,3),10);return new Date(Date.UTC(n,i,o,s,a,c,u))}var ic=async(t,e)=>{if(e==null||t==null){let n=new Error("one or more of the provided parameters are not defined");throw nc.error(n),(0,yt.default)(n,H2)}let r;if(e.pubKey!=null){try{r=C0(e.pubKey)}catch(i){throw nc.error(i),i}if(!(await Ms(e.pubKey)).equals(t))throw(0,yt.default)(new Error("Embedded public key did not match PeerID"),S6)}else t.publicKey!=null&&(r=C0(t.publicKey));if(r!=null)return r;throw(0,yt.default)(new Error("no public key is available"),H2)},N5=(t,e,r)=>{let n=le(e);return Ee([t,r,n])},K0=t=>{let e=le("ipns-signature:");return Ee([e,t])},oc=t=>"signatureV1"in t?St.encode({value:le(t.value),signatureV1:t.signatureV1,validityType:t.validityType,validity:le(t.validity.toString()),sequence:t.sequence,ttl:t.ttl,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data}):St.encode({pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data});function Qr(t){let e=St.decode(t);if(e.sequence!=null&&(e.sequence=BigInt(e.sequence)),e.ttl!=null&&(e.ttl=BigInt(e.ttl)),e.signatureV2==null||e.data==null)throw(0,yt.default)(new Error("missing data or signatureV2"),Gr);let r=k5(e.data),n=ac(r.Value),i;try{i=P5.default.fromDate(Yx(W(r.Validity)))}catch{throw nc.error("unrecognized validity format (not an rfc3339 format)"),(0,yt.default)(new Error("unrecognized validity format (not an rfc3339 format)"),w6)}if(e.value!=null&&e.signatureV1!=null)return Qx(e),{value:n,validityType:St.ValidityType.EOL,validity:i,sequence:r.Sequence,ttl:r.TTL,pubKey:e.pubKey,signatureV1:e.signatureV1,signatureV2:e.signatureV2,data:e.data};if(e.signatureV2!=null)return{value:n,validityType:St.ValidityType.EOL,validity:i,sequence:r.Sequence,ttl:r.TTL,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}var q0=t=>Ee([D5,t.toBytes()]),sc=t=>Xt(t.slice(D5.length)),L5=(t,e,r,n,i)=>{let o;if(r===St.ValidityType.EOL)o=0;else throw(0,yt.default)(new Error("Unknown validity type"),$o);return ec({Value:t,Validity:e,ValidityType:o,Sequence:n,TTL:i})},k5=t=>{let e=rc(t);if(e.ValidityType===0)e.ValidityType=St.ValidityType.EOL;else throw(0,yt.default)(new Error("Unknown validity type"),$o);return Number.isInteger(e.Sequence)&&(e.Sequence=BigInt(e.Sequence)),Number.isInteger(e.TTL)&&(e.TTL=BigInt(e.TTL)),e},ac=t=>{if(t!=null){if(o3(t))return`/ipns/${t.toCID().toString(Os)}`;if(t instanceof Uint8Array){let n=W(t);n.startsWith("/")&&(t=n)}let e=t.toString().trim();if(e.startsWith("/")&&e.length>1)return e;let r=ze.asCID(t);if(r!=null)return r.code===Gx?`/ipns/${r.toString(Os)}`:`/ipfs/${r.toV1().toString()}`;try{return t instanceof Uint8Array?`/ipfs/${ze.decode(t).toV1().toString()}`:`/ipfs/${ze.parse(e).toV1().toString()}`}catch{}}throw(0,yt.default)(new Error("Value must be a valid content path starting with /"),E6)},Qx=t=>{if(t.data==null)throw(0,yt.default)(new Error("Record data is missing"),v6);let e=k5(t.data);if(!ge(e.Value,t.value??new Uint8Array(0)))throw(0,yt.default)(new Error('Field "value" did not match between protobuf and CBOR'),Gr);if(!ge(e.Validity,t.validity??new Uint8Array(0)))throw(0,yt.default)(new Error('Field "validity" did not match between protobuf and CBOR'),Gr);if(e.ValidityType!==t.validityType)throw(0,yt.default)(new Error('Field "validityType" did not match between protobuf and CBOR'),Gr);if(e.Sequence!==t.sequence)throw(0,yt.default)(new Error('Field "sequence" did not match between protobuf and CBOR'),Gr);if(e.TTL!==t.ttl)throw(0,yt.default)(new Error('Field "ttl" did not match between protobuf and CBOR'),Gr)};var Wx=an("ipns"),Zx=mr.code,Xx="/ipns/",XD=Xx.length,O5={v1Compatible:!0};async function F5(t,e,r,n,i=O5){let o=new U5.default(Date.now()+Number(n)),s=St.ValidityType.EOL,[a,c]=n.toString().split("."),u=BigInt(a)*BigInt(1e5)+BigInt(c??"0");return jx(t,e,r,s,o,u,i)}var jx=async(t,e,r,n,i,o,s=O5)=>{r=BigInt(r);let a=le(i.toString()),c=ac(e),u=le(c);if(t.privateKey==null)throw(0,cc.default)(new Error("Missing private key"),A6);let f=await T0(t.privateKey),l=L5(u,a,n,r,o),m=K0(l),d=await f.sign(m),h;if(t.publicKey!=null){let p=Nr(t.toBytes());(p.code!==Zx||!ge(t.publicKey,p.digest))&&(h=t.publicKey)}if(s.v1Compatible===!0){let p=await Jx(f,u,n,a),g={value:c,signatureV1:p,validity:i,validityType:n,sequence:r,ttl:o,signatureV2:d,data:l};return h!=null&&(g.pubKey=h),g}else{let p={value:c,validity:i,validityType:n,sequence:r,ttl:o,signatureV2:d,data:l};return h!=null&&(p.pubKey=h),p}};var Jx=async(t,e,r,n)=>{try{let i=N5(e,r,n);return await t.sign(i)}catch(i){throw Wx.error("record signature creation failed",i),(0,cc.default)(new Error("record signature creation failed"),b6)}};function z0(t,e){let r=e.map((n,i)=>({record:Qr(n),index:i}));return r.sort((n,i)=>{let o=n.record.sequence,s=i.record.sequence;if(o>s)return-1;if(o<s)return 1;let a=n.record.validity.toDate(),c=i.record.validity.toDate();return a.getTime()>c.getTime()?-1:a.getTime()<c.getTime()?1:0}),r[0].index}var Xo=ce(Li(),1);var $0=an("ipns:validator"),eb=1024*10,tb=async(t,e)=>{let r=Qr(e),n;try{let i=K0(r.data);n=await t.verify(i,r.signatureV2)}catch{n=!1}if(!n)throw $0.error("record signature verification failed"),(0,Xo.default)(new Error("record signature verification failed"),Gr);if(r.validityType===St.ValidityType.EOL){if(r.validity.toDate().getTime()<Date.now())throw $0.error("record has expired"),(0,Xo.default)(new Error("record has expired"),x6)}else if(r.validityType!=null)throw $0.error("unrecognized validity type"),(0,Xo.default)(new Error("unrecognized validity type"),$o);$0("ipns record for %b is valid",r.value)};async function uc(t,e){if(e.byteLength>eb)throw(0,Xo.default)(new Error("record too large"),I6);let r=sc(t),n=Qr(e),i=await ic(r,n);await tb(i,e)}var At=class extends Event{constructor(e,r){super(e),this.detail=r}};var pc={};Q(pc,{base58btc:()=>xt,base58flickr:()=>ab});function rb(t,e){if(t.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 i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,p++;for(var b=(x-y)*f+1>>>0,I=new Uint8Array(b);y!==x;){for(var v=h[y],E=0,C=b-1;(v!==0||E<g)&&C!==-1;C--,E++)v+=256*I[C]>>>0,I[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=E,y++}for(var S=b-g;S!==b&&I[S]===0;)S++;for(var L=c.repeat(p);S<b;++S)L+=t.charAt(I[S]);return L}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var g=0,y=0;h[p]===c;)g++,p++;for(var x=(h.length-p)*u+1>>>0,b=new Uint8Array(x);h[p];){var I=r[h.charCodeAt(p)];if(I===255)return;for(var v=0,E=x-1;(I!==0||v<y)&&E!==-1;E--,v++)I+=a*b[E]>>>0,b[E]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=v,p++}if(h[p]!==" "){for(var C=x-y;C!==x&&b[C]===0;)C++;for(var S=new Uint8Array(g+(x-C)),L=g;C!==x;)S[L++]=b[C++];return S}}}function d(h){var p=m(h);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:m,decode:d}}var nb=rb,ib=nb,M5=ib;var hN=new Uint8Array(0);var V5=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Wr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var K5=t=>new TextEncoder().encode(t),q5=t=>new TextDecoder().decode(t);var fc=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},lc=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return $5(this,e)}},hc=class{constructor(e){this.decoders=e}or(e){return $5(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},$5=(t,e)=>new hc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),dc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new fc(e,r,n),this.decoder=new lc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Vi=({name:t,prefix:e,encode:r,decode:n})=>new dc(t,e,r,n),An=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=M5(r,e);return Vi({prefix:t,name:e,encode:n,decode:o=>Wr(i(o))})},ob=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[t[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},sb=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Me=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Vi({prefix:e,name:t,encode(i){return sb(i,n,r)},decode(i){return ob(i,n,r,t)}});var xt=An({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ab=An({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var mc={};Q(mc,{base32:()=>Tr,base32hex:()=>lb,base32hexpad:()=>db,base32hexpadupper:()=>pb,base32hexupper:()=>hb,base32pad:()=>ub,base32padupper:()=>fb,base32upper:()=>cb,base32z:()=>mb});var Tr=Me({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),cb=Me({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ub=Me({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),fb=Me({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),lb=Me({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),hb=Me({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),db=Me({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),pb=Me({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),mb=Me({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var gb=Y5,H5=128,yb=127,xb=~yb,bb=Math.pow(2,31);function Y5(t,e,r){e=e||[],r=r||0;for(var n=r;t>=bb;)e[r++]=t&255|H5,t/=128;for(;t&xb;)e[r++]=t&255|H5,t>>>=7;return e[r]=t|0,Y5.bytes=r-n+1,e}var wb=gc,vb=128,G5=127;function gc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw gc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&G5)<<i:(s&G5)*Math.pow(2,i),i+=7}while(s>=vb);return gc.bytes=o-n,r}var Eb=Math.pow(2,7),Sb=Math.pow(2,14),Ab=Math.pow(2,21),Ib=Math.pow(2,28),Cb=Math.pow(2,35),Tb=Math.pow(2,42),Bb=Math.pow(2,49),Rb=Math.pow(2,56),_b=Math.pow(2,63),Pb=function(t){return t<Eb?1:t<Sb?2:t<Ab?3:t<Ib?4:t<Cb?5:t<Tb?6:t<Bb?7:t<Rb?8:t<_b?9:10},Db={encode:gb,decode:wb,encodingLength:Pb},Nb=Db,jo=Nb;var Jo=(t,e=0)=>[jo.decode(t,e),jo.decode.bytes],Ki=(t,e,r=0)=>(jo.encode(t,e,r),e),qi=t=>jo.encodingLength(t);var ei=(t,e)=>{let r=e.byteLength,n=qi(t),i=n+qi(r),o=new Uint8Array(i+r);return Ki(t,o,0),Ki(r,o,n),o.set(e,i),new zi(t,r,e,o)},es=t=>{let e=Wr(t),[r,n]=Jo(e),[i,o]=Jo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new zi(r,i,s,e)},Q5=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&V5(t.bytes,r.bytes)}},zi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var G0=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();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(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let m=Number.parseInt(l,e);if(!Number.isNaN(m))return m});if(f===void 0)break;if(o*=e,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var W5=45,Lb=15,$i=new G0;function yc(t){if(!(t.length>Lb))return $i.new(t).parseWith(()=>$i.readIPv4Addr())}function xc(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>W5))return $i.new(t).parseWith(()=>$i.readIPv6Addr())}function Y0(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>W5))return $i.new(t).parseWith(()=>$i.readIPAddr())}function Hi(t){return!!yc(t)}function Gi(t){return!!xc(t)}function It(t){return!!Y0(t)}var Sc={};Q(Sc,{base10:()=>Vb});function kb(t,e){if(t.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 i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,p++;for(var b=(x-y)*f+1>>>0,I=new Uint8Array(b);y!==x;){for(var v=h[y],E=0,C=b-1;(v!==0||E<g)&&C!==-1;C--,E++)v+=256*I[C]>>>0,I[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=E,y++}for(var S=b-g;S!==b&&I[S]===0;)S++;for(var L=c.repeat(p);S<b;++S)L+=t.charAt(I[S]);return L}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var g=0,y=0;h[p]===c;)g++,p++;for(var x=(h.length-p)*u+1>>>0,b=new Uint8Array(x);h[p];){var I=r[h.charCodeAt(p)];if(I===255)return;for(var v=0,E=x-1;(I!==0||v<y)&&E!==-1;E--,v++)I+=a*b[E]>>>0,b[E]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=v,p++}if(h[p]!==" "){for(var C=x-y;C!==x&&b[C]===0;)C++;for(var S=new Uint8Array(g+(x-C)),L=g;C!==x;)S[L++]=b[C++];return S}}}function d(h){var p=m(h);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:m,decode:d}}var Ub=kb,Ob=Ub,Z5=Ob;var TN=new Uint8Array(0);var X5=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Zr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var j5=t=>new TextEncoder().encode(t),J5=t=>new TextDecoder().decode(t);var bc=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},wc=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return t8(this,e)}},vc=class{constructor(e){this.decoders=e}or(e){return t8(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},t8=(t,e)=>new vc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Ec=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new bc(e,r,n),this.decoder=new wc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Yi=({name:t,prefix:e,encode:r,decode:n})=>new Ec(t,e,r,n),In=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Z5(r,e);return Yi({prefix:t,name:e,encode:n,decode:o=>Zr(i(o))})},Fb=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[t[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Mb=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ve=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Yi({prefix:e,name:t,encode(i){return Mb(i,n,r)},decode(i){return Fb(i,n,r,t)}});var Vb=In({prefix:"9",name:"base10",alphabet:"0123456789"});var Ac={};Q(Ac,{base16:()=>Kb,base16upper:()=>qb});var Kb=Ve({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),qb=Ve({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ic={};Q(Ic,{base2:()=>zb});var zb=Ve({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Cc={};Q(Cc,{base256emoji:()=>Qb});var r8=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}"),$b=r8.reduce((t,e,r)=>(t[r]=e,t),[]),Hb=r8.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Gb(t){return t.reduce((e,r)=>(e+=$b[r],e),"")}function Yb(t){let e=[];for(let r of t){let n=Hb[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Qb=Yi({prefix:"\u{1F680}",name:"base256emoji",encode:Gb,decode:Yb});var Tc={};Q(Tc,{base32:()=>Qi,base32hex:()=>jb,base32hexpad:()=>ew,base32hexpadupper:()=>tw,base32hexupper:()=>Jb,base32pad:()=>Zb,base32padupper:()=>Xb,base32upper:()=>Wb,base32z:()=>rw});var Qi=Ve({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Wb=Ve({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Zb=Ve({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Xb=Ve({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),jb=Ve({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Jb=Ve({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ew=Ve({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),tw=Ve({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),rw=Ve({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Bc={};Q(Bc,{base36:()=>nw,base36upper:()=>iw});var nw=In({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),iw=In({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Rc={};Q(Rc,{base58btc:()=>Br,base58flickr:()=>ow});var Br=In({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ow=In({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var _c={};Q(_c,{base64:()=>sw,base64pad:()=>aw,base64url:()=>cw,base64urlpad:()=>uw});var sw=Ve({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),aw=Ve({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),cw=Ve({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),uw=Ve({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Pc={};Q(Pc,{base8:()=>fw});var fw=Ve({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Dc={};Q(Dc,{identity:()=>lw});var lw=Yi({prefix:"\0",name:"identity",encode:t=>J5(t),decode:t=>j5(t)});var qN=new TextEncoder,zN=new TextDecoder;var Lc={};Q(Lc,{identity:()=>Lw});var pw=o8,n8=128,mw=127,gw=~mw,yw=Math.pow(2,31);function o8(t,e,r){e=e||[],r=r||0;for(var n=r;t>=yw;)e[r++]=t&255|n8,t/=128;for(;t&gw;)e[r++]=t&255|n8,t>>>=7;return e[r]=t|0,o8.bytes=r-n+1,e}var xw=Nc,bw=128,i8=127;function Nc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Nc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&i8)<<i:(s&i8)*Math.pow(2,i),i+=7}while(s>=bw);return Nc.bytes=o-n,r}var ww=Math.pow(2,7),vw=Math.pow(2,14),Ew=Math.pow(2,21),Sw=Math.pow(2,28),Aw=Math.pow(2,35),Iw=Math.pow(2,42),Cw=Math.pow(2,49),Tw=Math.pow(2,56),Bw=Math.pow(2,63),Rw=function(t){return t<ww?1:t<vw?2:t<Ew?3:t<Sw?4:t<Aw?5:t<Iw?6:t<Cw?7:t<Tw?8:t<Bw?9:10},_w={encode:pw,decode:xw,encodingLength:Rw},Pw=_w,ts=Pw;var rs=(t,e=0)=>[ts.decode(t,e),ts.decode.bytes],Wi=(t,e,r=0)=>(ts.encode(t,e,r),e),Zi=t=>ts.encodingLength(t);var ri=(t,e)=>{let r=e.byteLength,n=Zi(t),i=n+Zi(r),o=new Uint8Array(i+r);return Wi(t,o,0),Wi(r,o,n),o.set(e,i),new Xi(t,r,e,o)},s8=t=>{let e=Zr(t),[r,n]=rs(e),[i,o]=rs(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Xi(r,i,s,e)},a8=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&X5(t.bytes,r.bytes)}},Xi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var c8=0,Dw="identity",u8=Zr,Nw=t=>ri(c8,u8(t)),Lw={code:c8,name:Dw,encode:u8,digest:Nw};var Oc={};Q(Oc,{sha256:()=>kw,sha512:()=>Uw});var Uc=({name:t,code:e,encode:r})=>new kc(t,e,r),kc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?ri(this.code,r):r.then(n=>ri(this.code,n))}else throw Error("Unknown type, must be binary type")}};var l8=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),kw=Uc({name:"sha2-256",code:18,encode:l8("SHA-256")}),Uw=Uc({name:"sha2-512",code:19,encode:l8("SHA-512")});var h8=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Fw(r,Fc(t),e||Br.encoder);default:return Mw(r,Fc(t),e||Qi.encoder)}};var d8=new WeakMap,Fc=t=>{let e=d8.get(t);if(e==null){let r=new Map;return d8.set(t,r),r}return e},W0=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==is)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Vw)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=ri(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&a8(e.multihash,n.multihash)}toString(e){return h8(this,e)}toJSON(){return{"/":h8(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||p8(n,i,o.bytes))}else if(r[Kw]===!0){let{version:n,multihash:i,code:o}=r,s=s8(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==is)throw new Error(`Version 0 CID must use dag-pb (code: ${is}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=p8(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,is,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Zr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Xi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,m]=rs(e.subarray(r));return r+=m,l},i=n(),o=is;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=Ow(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Fc(o).set(n,e),o}},Ow=(t,e)=>{switch(t[0]){case"Q":{let r=e||Br;return[Br.prefix,r.decode(`${Br.prefix}${t}`)]}case Br.prefix:{let r=e||Br;return[Br.prefix,r.decode(t)]}case Qi.prefix:{let r=e||Qi;return[Qi.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Fw=(t,e,r)=>{let{prefix:n}=r;if(n!==Br.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},Mw=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},is=112,Vw=18,p8=(t,e,r)=>{let n=Zi(t),i=n+Zi(e),o=new Uint8Array(i+r.byteLength);return Wi(t,o,0),Wi(e,o,n),o.set(r,i),o},Kw=Symbol.for("@ipld/js-cid/CID");var Mc={...Dc,...Ic,...Pc,...Sc,...Ac,...Tc,...Bc,...Rc,..._c,...Cc},oL={...Oc,...Lc};function ji(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Z0(t=0){return globalThis.Buffer?.allocUnsafe!=null?ji(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function g8(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var m8=g8("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Vc=g8("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Z0(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),qw={utf8:m8,"utf-8":m8,hex:Mc.base16,latin1:Vc,ascii:Vc,binary:Vc,...Mc},X0=qw;function bt(t,e="utf8"){let r=X0[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var y8=Hi,zw=Gi,Kc=function(t){let e=0;if(t=t.toString().trim(),y8(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(zw(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=y8(r[n]),s;o&&(s=Kc(r[n]),r[n]=bt(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,bt(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 o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},x8=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var os={},qc={},Hw=[[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"],[281,0,"webrtc-w3c"],[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"],[777,-1,"memory"]];Hw.forEach(t=>{let e=Gw(...t);qc[e.code]=e,os[e.name]=e});function Gw(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function Le(t){if(typeof t=="number"){if(qc[t]!=null)return qc[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(os[t]!=null)return os[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var b8=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Qw(r,zc(t),e||xt.encoder);default:return Ww(r,zc(t),e||Tr.encoder)}};var w8=new WeakMap,zc=t=>{let e=w8.get(t);if(e==null){let r=new Map;return w8.set(t,r),r}return e},Gt=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==ss)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Zw)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=ei(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Q5(e.multihash,n.multihash)}toString(e){return b8(this,e)}toJSON(){return{"/":b8(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||v8(n,i,o.bytes))}else if(r[Xw]===!0){let{version:n,multihash:i,code:o}=r,s=es(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==ss)throw new Error(`Version 0 CID must use dag-pb (code: ${ss}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=v8(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,ss,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Wr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new zi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,m]=Jo(e.subarray(r));return r+=m,l},i=n(),o=ss;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=Yw(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return zc(o).set(n,e),o}},Yw=(t,e)=>{switch(t[0]){case"Q":{let r=e||xt;return[xt.prefix,r.decode(`${xt.prefix}${t}`)]}case xt.prefix:{let r=e||xt;return[xt.prefix,r.decode(t)]}case Tr.prefix:{let r=e||Tr;return[Tr.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Qw=(t,e,r)=>{let{prefix:n}=r;if(n!==xt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},Ww=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},ss=112,Zw=18,v8=(t,e,r)=>{let n=qi(t),i=n+qi(e),o=new Uint8Array(i+r.byteLength);return Ki(t,o,0),Ki(e,o,n),o.set(r,i),o},Xw=Symbol.for("@ipld/js-cid/CID");var $c={};Q($c,{identity:()=>jw});var jw=Vi({prefix:"\0",name:"identity",encode:t=>q5(t),decode:t=>K5(t)});var Hc={};Q(Hc,{base2:()=>Jw});var Jw=Me({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Gc={};Q(Gc,{base8:()=>ev});var ev=Me({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Yc={};Q(Yc,{base10:()=>tv});var tv=An({prefix:"9",name:"base10",alphabet:"0123456789"});var Qc={};Q(Qc,{base16:()=>rv,base16upper:()=>nv});var rv=Me({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),nv=Me({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Wc={};Q(Wc,{base36:()=>iv,base36upper:()=>ov});var iv=An({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ov=An({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Zc={};Q(Zc,{base64:()=>sv,base64pad:()=>av,base64url:()=>cv,base64urlpad:()=>uv});var sv=Me({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),av=Me({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),cv=Me({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),uv=Me({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Xc={};Q(Xc,{base256emoji:()=>pv});var E8=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}"),fv=E8.reduce((t,e,r)=>(t[r]=e,t),[]),lv=E8.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function hv(t){return t.reduce((e,r)=>(e+=fv[r],e),"")}function dv(t){let e=[];for(let r of t){let n=lv[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var pv=Vi({prefix:"\u{1F680}",name:"base256emoji",encode:hv,decode:dv});var eu={};Q(eu,{sha256:()=>mv,sha512:()=>gv});var Jc=({name:t,code:e,encode:r})=>new jc(t,e,r),jc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?ei(this.code,r):r.then(n=>ei(this.code,n))}else throw Error("Unknown type, must be binary type")}};var A8=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),mv=Jc({name:"sha2-256",code:18,encode:A8("SHA-256")}),gv=Jc({name:"sha2-512",code:19,encode:A8("SHA-512")});var tu={};Q(tu,{identity:()=>bv});var I8=0,yv="identity",C8=Wr,xv=t=>ei(I8,C8(t)),bv={code:I8,name:yv,encode:C8,digest:xv};var UL=new TextEncoder,OL=new TextDecoder;var T8={...$c,...Hc,...Gc,...Yc,...Qc,...mc,...Wc,...pc,...Zc,...Xc},qL={...eu,...tu};var Rr=ce(j0(),1);function iu(t,e="utf8"){let r=X0[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ji(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Xr(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Z0(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return ji(r)}function K8(t,e){switch(Le(t).code){case 4:case 41:return Uv(e);case 42:return M8(e);case 6:case 273:case 33:case 132:return z8(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return M8(e);case 421:return Vv(e);case 444:return V8(e);case 445:return V8(e);case 466:return Mv(e);default:return bt(e,"base16")}}function q8(t,e){switch(Le(t).code){case 4:return O8(e);case 41:return O8(e);case 42:return F8(e);case 6:case 273:case 33:case 132:return su(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return F8(e);case 421:return Ov(e);case 444:return Kv(e);case 445:return qv(e);case 466:return Fv(e);default:return iu(e,"base16")}}var ou=Object.values(T8).map(t=>t.decoder),kv=function(){let t=ou[0].or(ou[1]);return ou.slice(2).forEach(e=>t=t.or(e)),t}();function O8(t){if(!It(t))throw new Error("invalid ip address");return Kc(t)}function Uv(t){let e=x8(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!It(e))throw new Error("invalid ip address");return e}function su(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function z8(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function F8(t){let e=iu(t),r=Uint8Array.from(Rr.default.encode(e.length));return Xr([r,e],r.length+e.length)}function M8(t){let e=Rr.default.decode(t);if(t=t.slice(Rr.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return bt(t)}function Ov(t){let e;t[0]==="Q"||t[0]==="1"?e=es(xt.decode(`z${t}`)).bytes:e=Gt.parse(t).multihash.bytes;let r=Uint8Array.from(Rr.default.encode(e.length));return Xr([r,e],r.length+e.length)}function Fv(t){let e=kv.decode(t),r=Uint8Array.from(Rr.default.encode(e.length));return Xr([r,e],r.length+e.length)}function Mv(t){let e=Rr.default.decode(t),r=t.slice(Rr.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+bt(r,"base64url")}function Vv(t){let e=Rr.default.decode(t),r=t.slice(Rr.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return bt(r,"base58btc")}function Kv(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=Tr.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=su(n);return Xr([r,i],r.length+i.length)}function qv(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=Tr.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=su(n);return Xr([r,i],r.length+i.length)}function V8(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=bt(e,"base32"),i=z8(r);return`${n}:${i}`}var Ji=ce(j0(),1);function zv(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=Le(i);if(o.size===0){e.push([i]);continue}if(n++,n>=r.length)throw H8("invalid address: "+t);if(o.path===!0){e.push([i,lu(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function $v(t){let e=[];return t.map(r=>{let n=ta(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),lu(e.join("/"))}function Hv(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=ta(e);return e.length>1?[r.code,q8(r.code,e[1])]:[r.code]})}function au(t){return t.map(e=>{let r=ta(e);return e[1]!=null?[r.code,K8(r.code,e[1])]:[r.code]})}function cu(t){return ea(Xr(t.map(e=>{let r=ta(e),n=Uint8Array.from(Ji.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Xr([n,e[1]])),n})))}function uu(t,e){return t.size>0?t.size/8:t.size===0?0:Ji.default.decode(e)+(Ji.default.decode.bytes??0)}function J0(t){let e=[],r=0;for(;r<t.length;){let n=Ji.default.decode(t,r),i=Ji.default.decode.bytes??0,o=Le(n),s=uu(o,t.slice(r+i));if(s===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+s);if(r+=s+i,r>t.length)throw H8("Invalid address Uint8Array: "+bt(t,"base16"));e.push([n,a])}return e}function fu(t){let e=J0(t),r=au(e);return $v(r)}function Gv(t){t=lu(t);let e=zv(t),r=Hv(e);return cu(r)}function $8(t){return Gv(t)}function ea(t){let e=Yv(t);if(e!=null)throw e;return Uint8Array.from(t)}function Yv(t){try{J0(t)}catch(e){return e}}function lu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function H8(t){return new Error("Error parsing address: "+t)}function ta(t){return Le(t[0])}var du=ce(j0(),1);var W8=ce(Li(),1);function G8(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var eo=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},hu=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},as,cs,us,Y8,Wv=Symbol.for("nodejs.util.inspect.custom"),Zv=[Le("dns").code,Le("dns4").code,Le("dns6").code,Le("dnsaddr").code],Xv=new Map,Z8=Symbol.for("@multiformats/js-multiaddr/multiaddr");function jv(t){return!!t?.[Z8]}var Q8=class t{constructor(e){if(as.set(this,void 0),cs.set(this,void 0),us.set(this,void 0),this[Y8]=!0,e==null&&(e=""),e instanceof Uint8Array)this.bytes=ea(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=$8(e)}else if(jv(e))this.bytes=ea(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return eo(this,as,"f")==null&&hu(this,as,fu(this.bytes),"f"),eo(this,as,"f")}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=Le("tcp"),a=Le("udp"),c=Le("ip4"),u=Le("ip6"),f=Le("dns6"),l=Le("ip6zone");for(let[d,h]of this.stringTuples())d===l.code&&(o=`%${h??""}`),Zv.includes(d)&&(r=s.name,i=443,n=`${h??""}${o}`,e=d===f.code?6:4),(d===s.code||d===a.code)&&(r=Le(d).name,i=parseInt(h??"")),(d===c.code||d===u.code)&&(r=Le(d).name,n=`${h??""}${o}`,e=d===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(e=>Object.assign({},Le(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=du.default.decode(r,n),o=du.default.decode.bytes??0,s=Le(i),a=uu(s,r.slice(n+o));n+=a+o,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return eo(this,cs,"f")==null&&hu(this,cs,J0(this.bytes),"f"),eo(this,cs,"f")}stringTuples(){return eo(this,us,"f")==null&&hu(this,us,au(this.tuples()),"f"),eo(this,us,"f")}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(cu(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===os.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?bt(xt.decode(`z${n}`),"base58btc"):bt(Gt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let e=null;try{e=this.stringTuples().filter(r=>Le(r[0]).path===!0)[0][1],e==null&&(e=null)}catch{e=null}return e}equals(e){return G8(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Xv.get(r.name);if(n==null)throw(0,W8.default)(new Error(`no available resolver for ${r.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(as=new WeakMap,cs=new WeakMap,us=new WeakMap,Y8=Z8,Wv)](){return`Multiaddr(${fu(this.bytes)})`}};var xu={};Q(xu,{base58btc:()=>Ct,base58flickr:()=>iE});var wk=new Uint8Array(0);function X8(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function jr(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function j8(t){return new TextEncoder().encode(t)}function J8(t){return new TextDecoder().decode(t)}function Jv(t,e){if(t.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 i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,p++;for(var b=(x-y)*f+1>>>0,I=new Uint8Array(b);y!==x;){for(var v=h[y],E=0,C=b-1;(v!==0||E<g)&&C!==-1;C--,E++)v+=256*I[C]>>>0,I[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=E,y++}for(var S=b-g;S!==b&&I[S]===0;)S++;for(var L=c.repeat(p);S<b;++S)L+=t.charAt(I[S]);return L}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var g=0,y=0;h[p]===c;)g++,p++;for(var x=(h.length-p)*u+1>>>0,b=new Uint8Array(x);h[p];){var I=r[h.charCodeAt(p)];if(I===255)return;for(var v=0,E=x-1;(I!==0||v<y)&&E!==-1;E--,v++)I+=a*b[E]>>>0,b[E]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=v,p++}if(h[p]!==" "){for(var C=x-y;C!==x&&b[C]===0;)C++;for(var S=new Uint8Array(g+(x-C)),L=g;C!==x;)S[L++]=b[C++];return S}}}function d(h){var p=m(h);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:m,decode:d}}var eE=Jv,tE=eE,th=tE;var pu=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},mu=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return rh(this,e)}},gu=class{decoders;constructor(e){this.decoders=e}or(e){return rh(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function rh(t,e){return new gu({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var yu=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new pu(e,r,n),this.decoder=new mu(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function to({name:t,prefix:e,encode:r,decode:n}){return new yu(t,e,r,n)}function Cn({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=th(r,t);return to({prefix:e,name:t,encode:n,decode:o=>jr(i(o))})}function rE(t,e,r,n){let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[t[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s}function nE(t,e,r){let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s!==0&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o}function Ke({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return to({prefix:e,name:t,encode(i){return nE(i,n,r)},decode(i){return rE(i,n,r,t)}})}var Ct=Cn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),iE=Cn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var bu={};Q(bu,{base32:()=>Jr,base32hex:()=>cE,base32hexpad:()=>fE,base32hexpadupper:()=>lE,base32hexupper:()=>uE,base32pad:()=>sE,base32padupper:()=>aE,base32upper:()=>oE,base32z:()=>hE});var Jr=Ke({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),oE=Ke({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),sE=Ke({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),aE=Ke({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),cE=Ke({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),uE=Ke({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),fE=Ke({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),lE=Ke({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),hE=Ke({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var dE=oh,nh=128,pE=127,mE=~pE,gE=Math.pow(2,31);function oh(t,e,r){e=e||[],r=r||0;for(var n=r;t>=gE;)e[r++]=t&255|nh,t/=128;for(;t&mE;)e[r++]=t&255|nh,t>>>=7;return e[r]=t|0,oh.bytes=r-n+1,e}var yE=wu,xE=128,ih=127;function wu(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw wu.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&ih)<<i:(s&ih)*Math.pow(2,i),i+=7}while(s>=xE);return wu.bytes=o-n,r}var bE=Math.pow(2,7),wE=Math.pow(2,14),vE=Math.pow(2,21),EE=Math.pow(2,28),SE=Math.pow(2,35),AE=Math.pow(2,42),IE=Math.pow(2,49),CE=Math.pow(2,56),TE=Math.pow(2,63),BE=function(t){return t<bE?1:t<wE?2:t<vE?3:t<EE?4:t<SE?5:t<AE?6:t<IE?7:t<CE?8:t<TE?9:10},RE={encode:dE,decode:yE,encodingLength:BE},_E=RE,fs=_E;function ls(t,e=0){return[fs.decode(t,e),fs.decode.bytes]}function ro(t,e,r=0){return fs.encode(t,e,r),e}function no(t){return fs.encodingLength(t)}function ni(t,e){let r=e.byteLength,n=no(t),i=n+no(r),o=new Uint8Array(i+r);return ro(t,o,0),ro(r,o,n),o.set(e,i),new io(t,r,e,o)}function na(t){let e=jr(t),[r,n]=ls(e),[i,o]=ls(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new io(r,i,s,e)}function sh(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&X8(t.bytes,r.bytes)}}var io=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};function ah(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return DE(r,vu(t),e??Ct.encoder);default:return NE(r,vu(t),e??Jr.encoder)}}var ch=new WeakMap;function vu(t){let e=ch.get(t);if(e==null){let r=new Map;return ch.set(t,r),r}return e}var Tn=class t{code;version;multihash;bytes;"/";constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==hs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==LE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=ni(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&sh(e.multihash,n.multihash)}toString(e){return ah(this,e)}toJSON(){return{"/":ah(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s??uh(n,i,o.bytes))}else if(r[kE]===!0){let{version:n,multihash:i,code:o}=r,s=na(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==hs)throw new Error(`Version 0 CID must use dag-pb (code: ${hs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=uh(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,hs,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=jr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new io(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,m]=ls(e.subarray(r));return r+=m,l},i=n(),o=hs;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=PE(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return vu(o).set(n,e),o}};function PE(t,e){switch(t[0]){case"Q":{let r=e??Ct;return[Ct.prefix,r.decode(`${Ct.prefix}${t}`)]}case Ct.prefix:{let r=e??Ct;return[Ct.prefix,r.decode(t)]}case Jr.prefix:{let r=e??Jr;return[Jr.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function DE(t,e,r){let{prefix:n}=r;if(n!==Ct.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i}function NE(t,e,r){let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i}var hs=112,LE=18;function uh(t,e,r){let n=no(t),i=n+no(e),o=new Uint8Array(i+r.byteLength);return ro(t,o,0),ro(e,o,n),o.set(r,i),o}var kE=Symbol.for("@ipld/js-cid/CID");function fh(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Eu={};Q(Eu,{base10:()=>UE});var UE=Cn({prefix:"9",name:"base10",alphabet:"0123456789"});var Su={};Q(Su,{base16:()=>OE,base16upper:()=>FE});var OE=Ke({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),FE=Ke({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Au={};Q(Au,{base2:()=>ME});var ME=Ke({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Iu={};Q(Iu,{base256emoji:()=>$E});var lh=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}"),VE=lh.reduce((t,e,r)=>(t[r]=e,t),[]),KE=lh.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function qE(t){return t.reduce((e,r)=>(e+=VE[r],e),"")}function zE(t){let e=[];for(let r of t){let n=KE[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var $E=to({prefix:"\u{1F680}",name:"base256emoji",encode:qE,decode:zE});var Cu={};Q(Cu,{base36:()=>HE,base36upper:()=>GE});var HE=Cn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),GE=Cn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Tu={};Q(Tu,{base64:()=>YE,base64pad:()=>QE,base64url:()=>WE,base64urlpad:()=>ZE});var YE=Ke({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),QE=Ke({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),WE=Ke({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ZE=Ke({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Bu={};Q(Bu,{base8:()=>XE});var XE=Ke({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ru={};Q(Ru,{identity:()=>jE});var jE=to({prefix:"\0",name:"identity",encode:t=>J8(t),decode:t=>j8(t)});var Hk=new TextEncoder,Gk=new TextDecoder;var _u={};Q(_u,{identity:()=>nS});var hh=0,tS="identity",dh=jr;function rS(t){return ni(hh,dh(t))}var nS={code:hh,name:tS,encode:dh,digest:rS};var Nu={};Q(Nu,{sha256:()=>iS,sha512:()=>oS});function Du({name:t,code:e,encode:r}){return new Pu(t,e,r)}var Pu=class{name;code;encode;constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?ni(this.code,r):r.then(n=>ni(this.code,n))}else throw Error("Unknown type, must be binary type")}};function mh(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var iS=Du({name:"sha2-256",code:18,encode:mh("SHA-256")}),oS=Du({name:"sha2-512",code:19,encode:mh("SHA-512")});var ds={...Ru,...Au,...Bu,...Eu,...Su,...bu,...Cu,...xu,...Tu,...Iu},oU={...Nu,..._u};function ii(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function ia(t=0){return globalThis.Buffer?.allocUnsafe!=null?ii(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function yh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var gh=yh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Lu=yh("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=ia(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),sS={utf8:gh,"utf-8":gh,hex:ds.base16,latin1:Lu,ascii:Lu,binary:Lu,...ds},oa=sS;function Tt(t,e="utf8"){let r=oa[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var aS=Math.pow(2,7),cS=Math.pow(2,14),uS=Math.pow(2,21),ku=Math.pow(2,28),Uu=Math.pow(2,35),Ou=Math.pow(2,42),Fu=Math.pow(2,49),be=128,lt=127;function ke(t){if(t<aS)return 1;if(t<cS)return 2;if(t<uS)return 3;if(t<ku)return 4;if(t<Uu)return 5;if(t<Ou)return 6;if(t<Fu)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function fS(t,e,r=0){switch(ke(t)){case 8:e[r++]=t&255|be,t/=128;case 7:e[r++]=t&255|be,t/=128;case 6:e[r++]=t&255|be,t/=128;case 5:e[r++]=t&255|be,t/=128;case 4:e[r++]=t&255|be,t>>>=7;case 3:e[r++]=t&255|be,t>>>=7;case 2:e[r++]=t&255|be,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function lS(t,e,r=0){switch(ke(t)){case 8:e.set(r++,t&255|be),t/=128;case 7:e.set(r++,t&255|be),t/=128;case 6:e.set(r++,t&255|be),t/=128;case 5:e.set(r++,t&255|be),t/=128;case 4:e.set(r++,t&255|be),t>>>=7;case 3:e.set(r++,t&255|be),t>>>=7;case 2:e.set(r++,t&255|be),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function hS(t,e){let r=t[e],n=0;if(n+=r<,r<be||(r=t[e+1],n+=(r<)<<7,r<be)||(r=t[e+2],n+=(r<)<<14,r<be)||(r=t[e+3],n+=(r<)<<21,r<be)||(r=t[e+4],n+=(r<)*ku,r<be)||(r=t[e+5],n+=(r<)*Uu,r<be)||(r=t[e+6],n+=(r<)*Ou,r<be)||(r=t[e+7],n+=(r<)*Fu,r<be))return n;throw new RangeError("Could not decode varint")}function dS(t,e){let r=t.get(e),n=0;if(n+=r<,r<be||(r=t.get(e+1),n+=(r<)<<7,r<be)||(r=t.get(e+2),n+=(r<)<<14,r<be)||(r=t.get(e+3),n+=(r<)<<21,r<be)||(r=t.get(e+4),n+=(r<)*ku,r<be)||(r=t.get(e+5),n+=(r<)*Uu,r<be)||(r=t.get(e+6),n+=(r<)*Ou,r<be)||(r=t.get(e+7),n+=(r<)*Fu,r<be))return n;throw new RangeError("Could not decode varint")}function ht(t,e,r=0){return e==null&&(e=rt(ke(t))),e instanceof Uint8Array?fS(t,e,r):lS(t,e,r)}function Qe(t,e=0){return t instanceof Uint8Array?hS(t,e):dS(t,e)}function en(t,e){if(globalThis.Buffer!=null)return ii(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=ia(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return ii(r)}var IU=parseInt("0xFFFF",16),CU=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Vu(t,e="utf8"){let r=oa[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ii(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var bh=Hi,xS=Gi,Ku=function(t){let e=0;if(t=t.toString().trim(),bh(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(xS(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=bh(r[n]),s;o&&(s=Ku(r[n]),r[n]=Tt(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Tt(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 o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},wh=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var so={},qu={},wS=[[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"],[777,-1,"memory"]];wS.forEach(t=>{let e=vS(...t);qu[e.code]=e,so[e.name]=e});function vS(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function Ie(t){if(typeof t=="number"){if(qu[t]!=null)return qu[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(so[t]!=null)return so[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var fO=Ie("ip4"),lO=Ie("ip6"),hO=Ie("ipcidr");function $u(t,e){switch(Ie(t).code){case 4:case 41:return SS(e);case 42:return Sh(e);case 6:case 273:case 33:case 132:return Ih(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Sh(e);case 421:return TS(e);case 444:return Ah(e);case 445:return Ah(e);case 466:return CS(e);default:return Tt(e,"base16")}}function Hu(t,e){switch(Ie(t).code){case 4:return vh(e);case 41:return vh(e);case 42:return Eh(e);case 6:case 273:case 33:case 132:return Gu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Eh(e);case 421:return AS(e);case 444:return BS(e);case 445:return RS(e);case 466:return IS(e);default:return Vu(e,"base16")}}var zu=Object.values(ds).map(t=>t.decoder),ES=function(){let t=zu[0].or(zu[1]);return zu.slice(2).forEach(e=>t=t.or(e)),t}();function vh(t){if(!It(t))throw new Error("invalid ip address");return Ku(t)}function SS(t){let e=wh(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!It(e))throw new Error("invalid ip address");return e}function Gu(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Ih(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Eh(t){let e=Vu(t),r=Uint8Array.from(ht(e.length));return en([r,e],r.length+e.length)}function Sh(t){let e=Qe(t);if(t=t.slice(ke(e)),t.length!==e)throw new Error("inconsistent lengths");return Tt(t)}function AS(t){let e;t[0]==="Q"||t[0]==="1"?e=na(Ct.decode(`z${t}`)).bytes:e=Tn.parse(t).multihash.bytes;let r=Uint8Array.from(ht(e.length));return en([r,e],r.length+e.length)}function IS(t){let e=ES.decode(t),r=Uint8Array.from(ht(e.length));return en([r,e],r.length+e.length)}function CS(t){let e=Qe(t),r=t.slice(ke(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+Tt(r,"base64url")}function TS(t){let e=Qe(t),r=t.slice(ke(e));if(r.length!==e)throw new Error("inconsistent lengths");return Tt(r,"base58btc")}function BS(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=Jr.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Gu(n);return en([r,i],r.length+i.length)}function RS(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=Jr.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Gu(n);return en([r,i],r.length+i.length)}function Ah(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Tt(e,"base32"),i=Ih(r);return`${n}:${i}`}function Ch(t){t=Yu(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=Ie(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Bh("invalid address: "+t);if(a.path===!0){n=Yu(i.slice(o).join("/")),e.push([a.code,Hu(a.code,n)]),r.push([a.code,n]);break}let c=Hu(a.code,i[o]);e.push([a.code,c]),r.push([a.code,$u(a.code,c)])}return{string:Th(r),bytes:Wu(e),tuples:e,stringTuples:r,path:n}}function Qu(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=Qe(t,i),s=ke(o),a=Ie(o),c=_S(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let u=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw Bh("Invalid address Uint8Array: "+Tt(t,"base16"));e.push([o,u]);let f=$u(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(t),string:Th(r),tuples:e,stringTuples:r,path:n}}function Th(t){let e=[];return t.map(r=>{let n=Ie(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Yu(e.join("/"))}function Wu(t){return en(t.map(e=>{let r=Ie(e[0]),n=Uint8Array.from(ht(r.code));return e.length>1&&e[1]!=null&&(n=en([n,e[1]])),n}))}function _S(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Qe(e instanceof Uint8Array?e:Uint8Array.from(e));return r+ke(r)}}function Yu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Bh(t){return new Error("Error parsing address: "+t)}var PS=Symbol.for("nodejs.util.inspect.custom"),Zu=Symbol.for("@multiformats/js-multiaddr/multiaddr"),DS=[Ie("dns").code,Ie("dns4").code,Ie("dns6").code,Ie("dnsaddr").code],sa=class t{bytes;#e;#t;#r;#s;[Zu]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Qu(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Ch(e)}else if(_h(e))r=Qu(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#s=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=Ie("tcp"),a=Ie("udp"),c=Ie("ip4"),u=Ie("ip6"),f=Ie("dns6"),l=Ie("ip6zone");for(let[d,h]of this.stringTuples())d===l.code&&(o=`%${h??""}`),DS.includes(d)&&(r=s.name,i=443,n=`${h??""}${o}`,e=d===f.code?6:4),(d===s.code||d===a.code)&&(r=Ie(d).name,i=parseInt(h??"")),(d===c.code||d===u.code)&&(r=Ie(d).name,n=`${h??""}${o}`,e=d===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#t.map(([e])=>Object.assign({},Ie(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>Ie(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(Wu(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===so.p2p.code&&e.push([n,i]),n===so["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?Tt(Ct.decode(`z${n}`),"base58btc"):Tt(Tn.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#s}equals(e){return fh(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Rh.get(r.name);if(n==null)throw new k(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[PS](){return`Multiaddr(${this.#e})`}};var Rh=new Map;function _h(t){return!!t?.[Zu]}function aa(t){return new sa(t)}var NS=Y("dns4"),LS=Y("dns6"),kS=Y("dnsaddr"),oi=at(Y("dns"),kS,NS,LS),ca=at(Y("ip4"),Y("ip6")),ao=at(te(ca,Y("tcp")),te(oi,Y("tcp"))),Ju=te(ca,Y("udp")),US=te(Ju,Y("utp")),OS=te(Ju,Y("quic")),ms=at(te(ao,Y("ws")),te(oi,Y("ws"))),gs=at(te(ao,Y("wss")),te(oi,Y("wss")),te(ao,Y("tls"),Y("ws")),te(oi,Y("tls"),Y("ws"))),Xu=at(te(ao,Y("http")),te(ca,Y("http")),te(oi,Y("http"))),ju=at(te(ao,Y("https")),te(ca,Y("https")),te(oi,Y("https"))),Ph=te(Ju,Y("webrtc"),Y("certhash")),Nh=at(te(Ph,Y("p2p")),Ph),Lh=at(te(ms,Y("p2p-webrtc-star"),Y("p2p")),te(gs,Y("p2p-webrtc-star"),Y("p2p")),te(ms,Y("p2p-webrtc-star")),te(gs,Y("p2p-webrtc-star"))),FO=at(te(ms,Y("p2p-websocket-star"),Y("p2p")),te(gs,Y("p2p-websocket-star"),Y("p2p")),te(ms,Y("p2p-websocket-star")),te(gs,Y("p2p-websocket-star"))),kh=at(te(Xu,Y("p2p-webrtc-direct"),Y("p2p")),te(ju,Y("p2p-webrtc-direct"),Y("p2p")),te(Xu,Y("p2p-webrtc-direct")),te(ju,Y("p2p-webrtc-direct"))),ys=at(ms,gs,Xu,ju,Lh,kh,ao,US,OS,oi,Nh),MO=at(te(ys,Y("p2p-stardust"),Y("p2p")),te(ys,Y("p2p-stardust"))),Rn=at(te(ys,Y("p2p")),Lh,kh,Nh,Y("p2p")),Dh=at(te(Rn,Y("p2p-circuit"),Rn),te(Rn,Y("p2p-circuit")),te(Y("p2p-circuit"),Rn),te(ys,Y("p2p-circuit")),te(Y("p2p-circuit"),ys),Y("p2p-circuit")),Uh=()=>at(te(Dh,Uh),Dh),ps=Uh(),FS=at(te(ps,Rn,ps),te(Rn,ps),te(ps,Rn),ps,Rn);function Oh(t){function e(r){let n;try{n=aa(r)}catch{return!1}let i=t(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return e}function te(...t){function e(r){if(r.length<t.length)return null;let n=r;return t.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:Oh(e),partialMatch:e}}function at(...t){function e(n){let i=null;return t.some(o=>{let s=typeof o=="function"?o().partialMatch(n):o.partialMatch(n);return s!=null?(i=s,!0):!1}),i}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:Oh(e),partialMatch:e}}function Y(t){let e=t;function r(i){let o;try{o=aa(i)}catch{return!1}let s=o.protoNames();return s.length===1&&s[0]===e}function n(i){return i.length===0?null:i[0]===e?i.slice(1):null}return{toString:function(){return e},matches:r,partialMatch:n}}var WS=ce($h(),1);function Hh(t){try{return ZS(t)?!!Gt.parse(t):t instanceof Uint8Array?!!Gt.decode(t):!!Gt.asCID(t)}catch{return!1}}function ZS(t){return typeof t=="string"}var Gh=32,rf=async(t,e,r,n={})=>{if(e===0)throw new Error("recursion limit exceeded");let i;try{i=await r(t,n)}catch(c){if(c.code!=="ENOTFOUND"&&c.code!=="ERR_DNSLINK_NOT_FOUND"&&c.code!=="ENODATA")throw c;t.startsWith("_dnslink.")?t=t.replace("_dnslink.",""):t=`_dnslink.${t}`,i=await r(t,n)}let o=i.replace("dnslink=",""),s=o.split("/")[2];return Hh(s)?o:rf(s,e-1,r,n)},jS=/^dnslink=.+$/,Yh=async(t,e)=>{let i=(await t.resolveTxt(e)).flat().filter(o=>jS.test(o))[0];if(i==null)throw new k(`No dnslink records found for domain: ${e}`,"ERR_DNSLINK_NOT_FOUND");return i};var of=ce(s1(),1),sf=ce(Zh(),1);function ua(t,e,r){return`${t}?name=${e}&type=${r}`}async function Xh(t,e){return await(await fetch(t,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function si(t,e){return`${e}_${t}`}var nf=Object.assign((0,of.default)("dns-over-http-resolver"),{error:(0,of.default)("dns-over-http-resolver:error")}),af=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new sf.default({max:e?.maxCache??100}),this._TXTcache=new sf.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Xh,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>{e.abort()})}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return this.resolve4(e);case"AAAA":return this.resolve6(e);case"TXT":return this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(si(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(ua(o,e,r),s.signal),c=a.Answer.map(f=>f.data),u=Math.min(...a.Answer.map(f=>f.TTL));return this._cache.set(si(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),nf.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(si(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(ua(o,e,r),s.signal),c=a.Answer.map(f=>f.data),u=Math.min(...a.Answer.map(f=>f.TTL));return this._cache.set(si(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),nf.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(si(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(ua(o,e,r),s.signal),c=a.Answer.map(f=>[f.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(f=>f.TTL));return this._TXTcache.set(si(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),nf.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},jh=af;var uf=ce(ed(),1);var co=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},ff=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},td=t=>globalThis.DOMException===void 0?new ff(t):new DOMException(t),rd=t=>{let e=t.reason===void 0?td("This operation was aborted."):t.reason;return e instanceof Error?e:td(e)};function ws(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,c=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(e.signal){let{signal:m}=e;m.aborted&&f(rd(m)),m.addEventListener("abort",()=>{f(rd(m))})}if(r===Number.POSITIVE_INFINITY){t.then(u,f);return}let l=new co;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(m){f(m)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await t)}catch(m){f(m)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}function lf(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var vs=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=lf(this.#e,n,(o,s)=>s.priority-o.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var tn=class extends uf.default{#e;#t;#r=0;#s;#c;#p=0;#i;#u;#n;#m;#o=0;#f;#a;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:vs,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#t=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#s=e.intervalCap,this.#c=e.interval,this.#n=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#a=e.autoStart===!1}get#b(){return this.#t||this.#r<this.#s}get#w(){return this.#o<this.#f}#v(){this.#o--,this.#l(),this.emit("next")}#E(){this.#x(),this.#y(),this.#u=void 0}get#S(){let e=Date.now();if(this.#i===void 0){let r=this.#p-e;if(r<0)this.#r=this.#e?this.#o:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#n.size===0)return this.#i&&clearInterval(this.#i),this.#i=void 0,this.emit("empty"),this.#o===0&&this.emit("idle"),!1;if(!this.#a){let e=!this.#S;if(this.#b&&this.#w){let r=this.#n.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#t||this.#i!==void 0||(this.#i=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#r===0&&this.#o===0&&this.#i&&(clearInterval(this.#i),this.#i=void 0),this.#r=this.#e?this.#o:0,this.#h()}#h(){for(;this.#l(););}get concurrency(){return this.#f}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#f=e,this.#h()}async#A(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#n.enqueue(async()=>{this.#o++,this.#r++;try{r.signal?.throwIfAborted();let o=e({signal:r.signal});r.timeout&&(o=ws(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#A(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof co&&!r.throwOnTimeout){n();return}i(o),this.emit("error",o)}finally{this.#v()}},r),this.emit("add"),this.#l()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#a?(this.#a=!1,this.#h(),this):this}pause(){this.#a=!0}clear(){this.#n=new this.#m}async onEmpty(){this.#n.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#n.size<e||await this.#d("next",()=>this.#n.size<e)}async onIdle(){this.#o===0&&this.#n.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#n.size}sizeBy(e){return this.#n.filter(e).length}get pending(){return this.#o}get isPaused(){return this.#a}};var id=ce(hf(),1),la=class{lru;constructor(e){this.lru=(0,id.default)(e)}get(e){let r=this.lru.get(e);if(r!=null){if(r.expire!=null&&r.expire<Date.now()){this.lru.remove(e);return}return r.value}}set(e,r,n){this.lru.set(e,{value:r,expire:Date.now()+n})}has(e){return this.get(e)!=null}remove(e){this.lru.remove(e)}clear(){this.lru.clear()}};var df=new la(1e3),oA=60*1e3,sA=new tn({concurrency:4}),aA=async function(e,r={}){let n=new jh({maxCache:0});if(r.nocache!==!0&&df.has(e)){let o=df.get(e);if(o!=null)return r?.onProgress?.(new At("dnslink:cache",{detail:o})),o}r.onProgress?.(new At("dnslink:query",{detail:e}));let i=await sA.add(async()=>{let o=await Yh(n,e);return r.onProgress?.(new At("dnslink:answer",{detail:o})),df.set(e,o,oA),o},{signal:r?.signal});if(i==null)throw new Error("No DNS response received");return i},od=aA;function sd(){return async(t,e={})=>rf(t,Gh,od,e)}function cA(t){return t[Symbol.asyncIterator]!=null}function uA(t){if(cA(t))return(async()=>{for await(let e of t);})();for(let e of t);}var pf=uA;function We(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var ad="/ipfs/kad/1.0.0",cd="/dht/record",mf="/dht/provider";function fA(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var ud=fA;function lA(t){return t[Symbol.asyncIterator]!=null}function hA(t,e){if(lA(t))return async function*(){for await(let a of t)yield e(a)}();let r=ud(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield e(a)}();let s=e;return function*(){yield o;for(let a of r)yield s(a)}()}var ha=hA;var da=globalThis.CustomEvent??Event;async function*Es(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,o=[],s=We(),a=We(),c=!1,u,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(o.length===r&&(s=We(),await s.promise),f)break;let p={done:!1};o.push(p),h().then(g=>{p.done=!0,p.ok=!0,p.value=g,i.dispatchEvent(new da("task-complete"))},g=>{p.done=!0,p.err=g,i.dispatchEvent(new da("task-complete"))})}c=!0,i.dispatchEvent(new da("task-complete"))}catch(h){u=h,i.dispatchEvent(new da("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(h=>h.done)}function*m(){for(;o.length>0&&o[0].done;){let h=o[0];if(o.shift(),h.ok)yield h.value;else throw f=!0,s.resolve(),h.err;s.resolve()}}function*d(){for(;l();)for(let h=0;h<o.length;h++)if(o[h].done){let p=o[h];if(o.splice(h,1),h--,p.ok)yield p.value;else throw f=!0,s.resolve(),p.err;s.resolve()}}for(;;){if(l()||(a=We(),await a.promise),u!=null)throw u;if(n?yield*m():yield*d(),c&&o.length===0)break}}var pa=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},uo=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new pa(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new pa(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var gf=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Pn(t={}){return dA(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function dA(t,e){e=e??{};let r=e.onEnd,n=new uo,i,o,s,a=We(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((g,y)=>{o=x=>{o=null,n.push(x);try{g(t(n))}catch(b){y(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=We()})}},u=g=>o!=null?o(g):(n.push(g),i),f=g=>(n=new uo,o!=null?o({error:g}):(n.push({error:g}),i)),l=g=>{if(s)return i;if(e?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:g})},m=g=>s?i:(s=!0,g!=null?f(g):u({done:!0})),d=()=>(n=new uo,m(),{done:!0}),h=g=>(m(g),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:d,throw:h,push:l,end:m,get readableLength(){return n.size},onEmpty:async g=>{let y=g?.signal;if(y?.throwIfAborted(),n.isEmpty())return;let x,b;y!=null&&(x=new Promise((I,v)=>{b=()=>{v(new gf)},y.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&y!=null&&y?.removeEventListener("abort",b)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(g){return p.throw(g),r!=null&&(r(g),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(g){return p.end(g),r!=null&&(r(g),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:g=>p.onEmpty(g)},i}function pA(t){return t[Symbol.asyncIterator]!=null}function mA(...t){let e=[];for(let r of t)pA(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Pn({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var ma=mA;function Dn(t,...e){if(t==null)throw new Error("Empty pipeline");if(yf(t)){let n=t;t=()=>n.source}else if(ld(t)||fd(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&yf(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)yf(r[n])&&(r[n]=yA(r[n]));return gA(...r)}var gA=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},fd=t=>t?.[Symbol.asyncIterator]!=null,ld=t=>t?.[Symbol.iterator]!=null,yf=t=>t==null?!1:t.sink!=null&&t.source!=null,yA=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Pn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(fd(o))i=async function*(){yield*o,n.end()};else if(ld(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ma(n,i())}return t.source};var hd;(function(t){let e;t.codec=()=>(e==null&&(e=qt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&(n.uint32(18),n.bytes(r.value)),r.author!=null&&(n.uint32(26),n.bytes(r.author)),r.signature!=null&&(n.uint32(34),n.bytes(r.signature)),r.timeReceived!=null&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.key=r.bytes();break}case 2:{i.value=r.bytes();break}case 3:{i.author=r.bytes();break}case 4:{i.signature=r.bytes();break}case 5:{i.timeReceived=r.string();break}default:{r.skipType(s&7);break}}}return i})),e),t.encode=r=>Kt(r,t.codec()),t.decode=r=>Vt(r,t.codec())})(hd||(hd={}));var ue;(function(t){t.PUT_VALUE="PUT_VALUE",t.GET_VALUE="GET_VALUE",t.ADD_PROVIDER="ADD_PROVIDER",t.GET_PROVIDERS="GET_PROVIDERS",t.FIND_NODE="FIND_NODE",t.PING="PING"})(ue||(ue={}));var ga;(function(t){t[t.PUT_VALUE=0]="PUT_VALUE",t[t.GET_VALUE=1]="GET_VALUE",t[t.ADD_PROVIDER=2]="ADD_PROVIDER",t[t.GET_PROVIDERS=3]="GET_PROVIDERS",t[t.FIND_NODE=4]="FIND_NODE",t[t.PING=5]="PING"})(ga||(ga={}));(function(t){t.codec=()=>bn(ga)})(ue||(ue={}));var lo;(function(t){t.NOT_CONNECTED="NOT_CONNECTED",t.CONNECTED="CONNECTED",t.CAN_CONNECT="CAN_CONNECT",t.CANNOT_CONNECT="CANNOT_CONNECT"})(lo||(lo={}));var xf;(function(t){t[t.NOT_CONNECTED=0]="NOT_CONNECTED",t[t.CONNECTED=1]="CONNECTED",t[t.CAN_CONNECT=2]="CAN_CONNECT",t[t.CANNOT_CONNECT=3]="CANNOT_CONNECT"})(xf||(xf={}));(function(t){t.codec=()=>bn(xf)})(lo||(lo={}));var fo;(function(t){let e;t.codec=()=>(e==null&&(e=qt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.id!=null&&r.id.byteLength>0&&(n.uint32(10),n.bytes(r.id)),r.multiaddrs!=null)for(let o of r.multiaddrs)n.uint32(18),n.bytes(o);r.connection!=null&&(n.uint32(24),lo.codec().encode(r.connection,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={id:er(0),multiaddrs:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.id=r.bytes();break}case 2:{i.multiaddrs.push(r.bytes());break}case 3:{i.connection=lo.codec().decode(r);break}default:{r.skipType(s&7);break}}}return i})),e),t.encode=r=>Kt(r,t.codec()),t.decode=r=>Vt(r,t.codec())})(fo||(fo={}));var Yt;(function(t){let e;t.codec=()=>(e==null&&(e=qt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.type!=null&&ga[r.type]!==0&&(n.uint32(8),ue.codec().encode(r.type,n)),r.clusterLevel!=null&&(n.uint32(80),n.int32(r.clusterLevel)),r.key!=null&&(n.uint32(18),n.bytes(r.key)),r.record!=null&&(n.uint32(26),n.bytes(r.record)),r.closer!=null)for(let o of r.closer)n.uint32(66),fo.codec().encode(o,n);if(r.providers!=null)for(let o of r.providers)n.uint32(74),fo.codec().encode(o,n);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={type:ue.PUT_VALUE,closer:[],providers:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.type=ue.codec().decode(r);break}case 10:{i.clusterLevel=r.int32();break}case 2:{i.key=r.bytes();break}case 3:{i.record=r.bytes();break}case 8:{i.closer.push(fo.codec().decode(r,r.uint32()));break}case 9:{i.providers.push(fo.codec().decode(r,r.uint32()));break}default:{r.skipType(s&7);break}}}return i})),e),t.encode=r=>Kt(r,t.codec()),t.decode=r=>Vt(r,t.codec())})(Yt||(Yt={}));function bf(t,e={}){let r={...t,name:"SEND_QUERY",type:0,messageName:t.type,messageType:ue[t.type]};return e.onProgress?.(new pt("kad-dht:query:send-query",{detail:r})),r}function Ss(t,e={}){let r={...t,name:"PEER_RESPONSE",type:1,messageName:t.messageType,closer:t.closer!=null?t.closer:[],providers:t.providers!=null?t.providers:[]};return e.onProgress?.(new pt("kad-dht:query:peer-response",{detail:r})),r}function ya(t,e={}){let r={...t,name:"FINAL_PEER",type:2};return e.onProgress?.(new pt("kad-dht:query:final-peer",{detail:r})),r}function Ut(t,e={}){let r={...t,name:"QUERY_ERROR",type:3};return e.onProgress?.(new pt("kad-dht:query:query-error",{detail:r})),r}function wf(t,e={}){let r={...t,name:"PROVIDER",type:4};return e.onProgress?.(new pt("kad-dht:query:provider",{detail:r})),r}function As(t,e={}){let r={...t,name:"VALUE",type:5};return e.onProgress?.(new pt("kad-dht:query:value",{detail:r})),r}function vf(t,e={}){let r={...t,name:"DIAL_PEER",type:7};return e.onProgress?.(new pt("kad-dht:query:dial-peer",{detail:r})),r}var Is;(function(t){let e;t.codec=()=>(e==null&&(e=qt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Kt(r,t.codec()),t.decode=r=>Vt(r,t.codec())})(Is||(Is={}));function dd(t){let e=t.getUTCFullYear(),r=String(t.getUTCMonth()+1).padStart(2,"0"),n=String(t.getUTCDate()).padStart(2,"0"),i=String(t.getUTCHours()).padStart(2,"0"),o=String(t.getUTCMinutes()).padStart(2,"0"),s=String(t.getUTCSeconds()).padStart(2,"0"),a=t.getUTCMilliseconds(),c=String(a*1e3*1e3).padStart(9,"0");return`${e}-${r}-${n}T${i}:${o}:${s}.${c}Z`}function pd(t){let e=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(t).trim().match(e);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),i=parseInt(r[2],10)-1,o=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),u=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,i,o,s,a,c,u))}var Ge=class t{key;value;timeReceived;constructor(e,r,n){if(!(e instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=e,this.value=r,this.timeReceived=n}serialize(){return Is.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:dd(this.timeReceived)}}static deserialize(e){let r=Is.decode(e);return new t(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(e){let r=pd(e.timeReceived);if(e.key==null)throw new Error("key missing from deserialized object");if(e.value==null)throw new Error("value missing from deserialized object");return new t(e.key,e.value,r)}};function md(t,e,r){if(r.length===0){let s="No records given";throw new k(s,"ERR_NO_RECORDS_RECEIVED")}let i=W(e).split("/");if(i.length<3){let s="Record key does not have a selector function";throw new k(s,"ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")}let o=t[i[1].toString()];if(o==null){let s=`No selector function configured for key type "${i[1]}"`;throw new k(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(e,r)}function bA(t,e){return 0}var gd={pk:bA};async function ho(t,e){let r=e.key,i=W(r).split("/");if(i.length<3)return;let o=t[i[1].toString()];if(o==null){let s=`No validator available for key type "${i[1]}"`;throw new k(s,"ERR_INVALID_RECORD_KEY_TYPE")}await o(r,e.value)}var wA=async(t,e)=>{if(!(t instanceof Uint8Array))throw new k('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(t.byteLength<5)throw new k("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(W(t.subarray(0,4))!=="/pk/")throw new k("key was not prefixed with /pk/","ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=t.slice(4),i=await Ne.digest(e);if(!ge(n,i.bytes))throw new k("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},yd={pk:wA};var Ad=ce(xd(),1);var bd="[a-fA-F\\d:]",Nn=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${bd})|(?<=${bd})(?=\\s|$))`:"",lr="(?: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}",Ze="[a-fA-F\\d]{1,4}",xa=`
|
|
17
|
-
(?:
|
|
18
|
-
(?:${Ze}:){7}(?:${Ze}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
19
|
-
(?:${Ze}:){6}(?:${lr}|:${Ze}|:)| // 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
|
|
20
|
-
(?:${Ze}:){5}(?::${lr}|(?::${Ze}){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
|
|
21
|
-
(?:${Ze}:){4}(?:(?::${Ze}){0,1}:${lr}|(?::${Ze}){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
|
|
22
|
-
(?:${Ze}:){3}(?:(?::${Ze}){0,2}:${lr}|(?::${Ze}){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
|
|
23
|
-
(?:${Ze}:){2}(?:(?::${Ze}){0,3}:${lr}|(?::${Ze}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
24
|
-
(?:${Ze}:){1}(?:(?::${Ze}){0,4}:${lr}|(?::${Ze}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
25
|
-
(?::(?:(?::${Ze}){0,5}:${lr}|(?::${Ze}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
26
|
-
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
27
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),vA=new RegExp(`(?:^${lr}$)|(?:^${xa}$)`),EA=new RegExp(`^${lr}$`),SA=new RegExp(`^${xa}$`),Ef=t=>t&&t.exact?vA:new RegExp(`(?:${Nn(t)}${lr}${Nn(t)})|(?:${Nn(t)}${xa}${Nn(t)})`,"g");Ef.v4=t=>t&&t.exact?EA:new RegExp(`${Nn(t)}${lr}${Nn(t)}`,"g");Ef.v6=t=>t&&t.exact?SA:new RegExp(`${Nn(t)}${xa}${Nn(t)}`,"g");var wd=Ef;var Id=ce(Ed(),1),{isValid:AA,parse:IA}=Id.default,CA=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],TA=CA.map(t=>new Ad.Netmask(t));function BA(t){for(let e of TA)if(e.contains(t))return!0;return!1}function Sd(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var Cd=t=>{if(AA(t)){let e=IA(t);if(e.kind()==="ipv4")return BA(e.toNormalizedString());if(e.kind()==="ipv6")return Sd(t)}else if(It(t)&&wd.v6().test(t))return Sd(t)};var Sf=Cd;var RA=le("/pk/");function Af(t){return{...t,multiaddrs:t.multiaddrs.filter(e=>{let[[r,n]]=e.stringTuples();if(r===53||r===54||r===55)return n!=="localhost";if(r!==4&&r!==6||n==null)return!1;let i=Sf(n);return i==null?!0:!i})}}async function Ln(t){return(await Ne.digest(t)).digest}async function hr(t){return Ln(t.toBytes())}function rn(t){return new Ir(`${cd}/${W(t,"base32")}`,!1)}function Td(t){return Ee([RA,t.toBytes()])}function Bd(t){return W(t.subarray(0,4))==="/pk/"}function Rd(t){return Xt(t.subarray(4))}function If(t,e){let r=new Date;return new Ge(t,e,r).serialize()}function _d(t,e=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{t()},e)}}var _A=290,PA=54,DA=55,NA=56,LA=4,kA=41;function Pd(t){let e=t.stringTuples();for(let r of e)if(r[0]===_A)return!1;if(e[0][0]===PA||e[0][0]===DA||e[0][0]===NA)return!0;if(e[0][0]===LA||e[0][0]===kA){let r=Sf(`${e[0][1]}`);return r==null||!r}return!1}var wa=class{log;components;validators;selectors;peerRouting;queryManager;network;constructor(e,r){let{validators:n,selectors:i,peerRouting:o,queryManager:s,network:a,logPrefix:c}=r;this.components=e,this.log=e.logger.forComponent(`${c}:content-fetching`),this.validators=n,this.selectors=i,this.peerRouting=o,this.queryManager=s,this.network=a}async putLocal(e,r){let n=rn(e);await this.components.datastore.put(n,r)}async getLocal(e){this.log("getLocal %b",e);let r=rn(e);this.log("fetching record for key %k",r);let n=await this.components.datastore.get(r);this.log("found %k in local datastore",r);let i=Ge.deserialize(n);return await ho(this.validators,i),i}async*sendCorrectionRecord(e,r,n,i={}){this.log("sendCorrection for %b",e);let o=If(e,n);for(let{value:s,from:a}of r){if(ge(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=rn(e);this.log(`Storing corrected record for key ${f.toString()}`),await this.components.datastore.put(f,o.subarray())}catch(f){this.log.error("Failed error correcting self",f)}continue}let c=!1,u={type:ue.PUT_VALUE,key:e,record:o};for await(let f of this.network.sendRequest(a,u,i))f.name==="PEER_RESPONSE"&&f.record!=null&&ge(f.record.value,Ge.deserialize(o).value)&&(c=!0),yield f;c||(yield Ut({from:a,error:new k("value not put correctly","ERR_PUT_VALUE_INVALID")},i)),this.log.error("Failed error correcting entry")}}async*put(e,r,n={}){this.log("put key %b value %b",e,r);let i=If(e,r),o=rn(e);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*Dn(this.peerRouting.getClosestPeers(e,{signal:n.signal}),s=>ha(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[],u={type:ue.PUT_VALUE,key:e,record:i};this.log("send put to %p",a.peer.id);for await(let f of this.network.sendRequest(a.peer.id,u,n))c.push(f),f.name==="PEER_RESPONSE"&&(f.record!=null&&ge(f.record.value,Ge.deserialize(i).value)||c.push(Ut({from:a.peer.id,error:new k("value not put correctly","ERR_PUT_VALUE_INVALID")},n)));return c}),s=>Es(s,{ordered:!1,concurrency:3}),async function*(s){for await(let a of s)yield*a})}async*get(e,r={}){this.log("get %b",e);let n=[];for await(let a of this.getMany(e,r))a.name==="VALUE"&&n.push(a),yield a;if(n.length===0)return;let i=n.map(a=>a.value),o=0;try{o=md(this.selectors,e,i)}catch(a){if(a.code!=="ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")throw a}let s=i[o];if(this.log("GetValue %b %b",e,s),s==null)throw new k("best value was not found","ERR_NOT_FOUND");yield*this.sendCorrectionRecord(e,n,s,r),yield n[o]}async*getMany(e,r={}){this.log("getMany values for %b",e);try{let o=await this.getLocal(e);yield As({value:o.value,from:this.components.peerId},r)}catch(o){this.log("error getting local value for %b",e,o)}let n=this,i=async function*({peer:o,signal:s}){for await(let a of n.peerRouting.getValueOrPeers(o,e,{signal:s}))yield a,a.name==="PEER_RESPONSE"&&a.record!=null&&(yield As({from:o,value:a.record.value},r))};yield*this.queryManager.run(e,i,r)}};function Ts(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var dr=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return Ts(this.set.entries(),e=>{let r=Zt(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=Zt(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Ts(this.set.values(),e=>Zt(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var Dd=Hi,FA=Gi,Tf=function(t){let e=0;if(t=t.toString().trim(),Dd(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(FA(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Dd(r[n]),s;o&&(s=Tf(r[n]),r[n]=W(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,W(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 o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},Nd=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var mo={},Bf={},VA=[[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"],[777,-1,"memory"]];VA.forEach(t=>{let e=KA(...t);Bf[e.code]=e,mo[e.name]=e});function KA(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function Se(t){if(typeof t=="number"){if(Bf[t]!=null)return Bf[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(mo[t]!=null)return mo[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var xV=Se("ip4"),bV=Se("ip6"),wV=Se("ipcidr");function _f(t,e){switch(Se(t).code){case 4:case 41:return zA(e);case 42:return Ud(e);case 6:case 273:case 33:case 132:return Fd(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ud(e);case 421:return YA(e);case 444:return Od(e);case 445:return Od(e);case 466:return GA(e);default:return W(e,"base16")}}function Pf(t,e){switch(Se(t).code){case 4:return Ld(e);case 41:return Ld(e);case 42:return kd(e);case 6:case 273:case 33:case 132:return Df(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return kd(e);case 421:return $A(e);case 444:return QA(e);case 445:return WA(e);case 466:return HA(e);default:return le(e,"base16")}}var Rf=Object.values(un).map(t=>t.decoder),qA=function(){let t=Rf[0].or(Rf[1]);return Rf.slice(2).forEach(e=>t=t.or(e)),t}();function Ld(t){if(!It(t))throw new Error("invalid ip address");return Tf(t)}function zA(t){let e=Nd(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!It(e))throw new Error("invalid ip address");return e}function Df(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Fd(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function kd(t){let e=le(t),r=Uint8Array.from(ht(e.length));return Ee([r,e],r.length+e.length)}function Ud(t){let e=Qe(t);if(t=t.slice(ke(e)),t.length!==e)throw new Error("inconsistent lengths");return W(t)}function $A(t){let e;t[0]==="Q"||t[0]==="1"?e=Nr(qe.decode(`z${t}`)).bytes:e=ze.parse(t).multihash.bytes;let r=Uint8Array.from(ht(e.length));return Ee([r,e],r.length+e.length)}function HA(t){let e=qA.decode(t),r=Uint8Array.from(ht(e.length));return Ee([r,e],r.length+e.length)}function GA(t){let e=Qe(t),r=t.slice(ke(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+W(r,"base64url")}function YA(t){let e=Qe(t),r=t.slice(ke(e));if(r.length!==e)throw new Error("inconsistent lengths");return W(r,"base58btc")}function QA(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=Wt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Df(n);return Ee([r,i],r.length+i.length)}function WA(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=Wt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Df(n);return Ee([r,i],r.length+i.length)}function Od(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=W(e,"base32"),i=Fd(r);return`${n}:${i}`}function Md(t){t=Nf(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=Se(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Kd("invalid address: "+t);if(a.path===!0){n=Nf(i.slice(o).join("/")),e.push([a.code,Pf(a.code,n)]),r.push([a.code,n]);break}let c=Pf(a.code,i[o]);e.push([a.code,c]),r.push([a.code,_f(a.code,c)])}return{string:Vd(r),bytes:kf(e),tuples:e,stringTuples:r,path:n}}function Lf(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=Qe(t,i),s=ke(o),a=Se(o),c=ZA(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let u=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw Kd("Invalid address Uint8Array: "+W(t,"base16"));e.push([o,u]);let f=_f(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(t),string:Vd(r),tuples:e,stringTuples:r,path:n}}function Vd(t){let e=[];return t.map(r=>{let n=Se(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Nf(e.join("/"))}function kf(t){return Ee(t.map(e=>{let r=Se(e[0]),n=Uint8Array.from(ht(r.code));return e.length>1&&e[1]!=null&&(n=Ee([n,e[1]])),n}))}function ZA(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Qe(e instanceof Uint8Array?e:Uint8Array.from(e));return r+ke(r)}}function Nf(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Kd(t){return new Error("Error parsing address: "+t)}var XA=Symbol.for("nodejs.util.inspect.custom"),Uf=Symbol.for("@multiformats/js-multiaddr/multiaddr"),jA=[Se("dns").code,Se("dns4").code,Se("dns6").code,Se("dnsaddr").code],va=class t{bytes;#e;#t;#r;#s;[Uf]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Lf(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Md(e)}else if(zd(e))r=Lf(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#s=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=Se("tcp"),a=Se("udp"),c=Se("ip4"),u=Se("ip6"),f=Se("dns6"),l=Se("ip6zone");for(let[d,h]of this.stringTuples())d===l.code&&(o=`%${h??""}`),jA.includes(d)&&(r=s.name,i=443,n=`${h??""}${o}`,e=d===f.code?6:4),(d===s.code||d===a.code)&&(r=Se(d).name,i=parseInt(h??"")),(d===c.code||d===u.code)&&(r=Se(d).name,n=`${h??""}${o}`,e=d===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#t.map(([e])=>Object.assign({},Se(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>Se(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(kf(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===mo.p2p.code&&e.push([n,i]),n===mo["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?W(qe.decode(`z${n}`),"base58btc"):W(ze.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#s}equals(e){return ge(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=qd.get(r.name);if(n==null)throw new k(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[XA](){return`Multiaddr(${this.#e})`}};var qd=new Map;function zd(t){return!!t?.[Uf]}function Bs(t){return new va(t)}function $d(t,e){return{id:t.id.toBytes(),multiaddrs:(t.multiaddrs??[]).map(n=>n.bytes),connection:e}}function Rs(t){if(t.id==null)throw new Error("Invalid peer in message");return{id:Xt(t.id),multiaddrs:(t.multiaddrs??[]).map(e=>Bs(e))}}var Ea=class{log;components;network;peerRouting;queryManager;routingTable;providers;constructor(e,r){let{network:n,peerRouting:i,queryManager:o,routingTable:s,providers:a,logPrefix:c}=r;this.components=e,this.log=e.logger.forComponent(`${c}:content-routing`),this.network=n,this.peerRouting=i,this.queryManager=o,this.routingTable=s,this.providers=a}async*provide(e,r,n={}){this.log("provide %s",e),await this.providers.addProvider(e,this.components.peerId);let i={type:ue.ADD_PROVIDER,key:e.multihash.bytes,providers:[$d({id:this.components.peerId,multiaddrs:r})]},o=0,s=a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[];this.log("putProvider %s to %p",e,a.peer.id);try{this.log("sending provider record for %s to %p",e,a.peer.id);for await(let u of this.network.sendMessage(a.peer.id,i,n))u.name==="PEER_RESPONSE"&&(this.log("sent provider record for %s to %p",e,a.peer.id),o++),c.push(u)}catch(u){this.log.error("error sending provide record to peer %p",a.peer.id,u),c.push(Ut({from:a.peer.id,error:u},n))}return c};yield*Dn(this.peerRouting.getClosestPeers(e.multihash.bytes,n),a=>ha(a,c=>s(c)),a=>Es(a,{ordered:!1,concurrency:3}),async function*(a){for await(let c of a)yield*c}),this.log("sent provider records to %d peers",o)}async*findProviders(e,r){let n=this.routingTable.kBucketSize,i=e.multihash.bytes,o=this;this.log("findProviders %c",e);let s=await this.providers.getProviders(e);if(s.length>0){let u=[];for(let f of s.slice(0,n))try{let l=await this.components.peerStore.get(f);u.push({id:f,multiaddrs:l.addresses.map(({multiaddr:m})=>m)})}catch(l){if(l.code!=="ERR_NOT_FOUND")throw l;this.log("no peer store entry for %p",f)}yield Ss({from:this.components.peerId,messageType:ue.GET_PROVIDERS,providers:u},r),yield wf({from:this.components.peerId,providers:u},r)}if(s.length>=n)return;let a=async function*({peer:u,signal:f}){let l={type:ue.GET_PROVIDERS,key:i};yield*o.network.sendRequest(u,l,{...r,signal:f})},c=new dr(s);for await(let u of this.queryManager.run(i,a,r))if(yield u,u.name==="PEER_RESPONSE"){this.log("Found %d provider entries for %c and %d closer peers",u.providers.length,e,u.closer.length);let f=[];for(let l of u.providers)c.has(l.id)||(c.add(l.id),f.push(l));if(f.length>0&&(yield wf({from:u.from,providers:f},r)),c.size===n)return}}};var Gd=Symbol.for("@achingbrain/uint8arraylist");function Hd(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Sa(t){return!!t?.[Gd]}var Qt=class t{bufs;length;[Gd]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Sa(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(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Sa(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(e){let r=Hd(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Hd(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Sa(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Ee(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ee(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new t;return o.length=i,o.bufs=[...n],o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,f=r>a&&r<=c;if(u&&f){if(e===a&&r===c){n.push(s);break}let l=e-a;n.push(s.subarray(l,l+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Sa(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let m=u;m>=0;m--){let d=this.get(l+m);if(n[m]!==d){f=Math.max(1,m-a[d]);break}}if(f===0)return l}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=rt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=er(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=rt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=er(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!ge(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var Aa=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function go(t,e,r){if(e==null)return t;if(e.aborted)return Promise.reject(new Aa(r?.errorMessage,r?.errorCode));let n,i=new Aa(r?.errorMessage,r?.errorCode);try{return await Promise.race([t,new Promise((o,s)=>{n=()=>{s(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Of=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=We(),this.haveNext=We()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let e=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=We(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=We(),await go(this.needNext.promise,r?.signal,r)}};function Yd(){return new Of}var Ia=class extends Error{code;constructor(e,r){super(e),this.code=r}},Ff=class extends Ia{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function Qd(t,e){let r=Yd();t.sink(r).catch(async s=>{await r.end(s)}),t.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=t.source;t.source[Symbol.iterator]!=null?n=t.source[Symbol.iterator]():t.source[Symbol.asyncIterator]!=null&&(n=t.source[Symbol.asyncIterator]());let i=new Qt;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new Ff("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:m}=await Promise.race([n.next(),u]);return l===!0?new Qt:m}for(;i.byteLength<s;){let{value:l,done:m}=await Promise.race([n.next(),u]);if(m===!0)throw new Ia("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let f=i.sublist(0,s);return i.consume(s),f}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=t.source;t.source=async function*(){e?.yieldBytes===!1?yield i:yield*i,yield*s}()}return t}}}function Ca(t){return t[Symbol.asyncIterator]!=null}var Ta=t=>{let e=ke(t),r=rt(e);return ht(t,r),Ta.bytes=e,r};Ta.bytes=0;function ai(t,e){e=e??{};let r=e.lengthEncoder??Ta;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Ca(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}ai.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Ta;return new Qt(r(t.byteLength),t)};var yo=ce(Li(),1);var JA=8,eI=1024*1024*4,ci;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(ci||(ci={}));var Mf=t=>{let e=Qe(t);return Mf.bytes=ke(e),e};Mf.bytes=0;function _s(t,e){let r=new Qt,n=ci.LENGTH,i=-1,o=e?.lengthDecoder??Mf,s=e?.maxLengthLength??JA,a=e?.maxDataLength??eI;function*c(){for(;r.byteLength>0;){if(n===ci.LENGTH)try{if(i=o(r),i<0)throw(0,yo.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,yo.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=ci.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,yo.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===ci.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=ci.LENGTH}}}return Ca(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,yo.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,yo.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}_s.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return _s(n,{...e??{},onLength:o=>{r=o}})};var Ba=class extends Error{code;constructor(e,r){super(e),this.code=r}},Zd=t=>Qe(t);Zd.bytes=0;function Xd(t,e={}){let r=Qd(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=ke(e.maxDataLength)),{read:async i=>{let o=-1,s=new Qt,a=e?.lengthDecoder??Zd;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(e?.maxLengthLength!=null&&s.byteLength>e.maxLengthLength)throw new Ba("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(e?.maxDataLength!=null&&o>e.maxDataLength)throw new Ba("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(ai.single(i,e),o)},writeV:async(i,o)=>{let s=new Qt(...i.map(a=>ai.single(a,e)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Ps(t,e){let r=Xd(t,e),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},writeV:async(i,o,s)=>{await r.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var Ra=class extends ut{log;protocol;running;components;constructor(e,r){super();let{protocol:n}=r;this.components=e,this.log=e.logger.forComponent(`${r.logPrefix}:network`),this.running=!1,this.protocol=n}async start(){this.running||(this.running=!0)}async stop(){this.running=!1}isStarted(){return this.running}async*sendRequest(e,r,n={}){if(!this.running)return;let i=r.type;if(i==null)throw new Uo("Message type was missing","ERR_INVALID_PARAMETERS");this.log("sending %s to %p",r.type,e),yield vf({peer:e},n),yield bf({to:e,type:i},n);let o;try{let a=await(await this.components.connectionManager.openConnection(e,n)).newStream(this.protocol,n),c=await this._writeReadMessage(a,r,n);yield Ss({from:e,messageType:c.type,closer:c.closer.map(Rs),providers:c.providers.map(Rs),record:c.record==null?void 0:Ge.deserialize(c.record)},n)}catch(s){this.log.error("could not send %s to %p",r.type,e,s),yield Ut({from:e,error:s},n)}finally{o!=null&&await o.close()}}async*sendMessage(e,r,n={}){if(!this.running)return;let i=r.type;if(i==null)throw new Uo("Message type was missing","ERR_INVALID_PARAMETERS");this.log("sending %s to %p",r.type,e),yield vf({peer:e},n),yield bf({to:e,type:i},n);let o;try{let a=await(await this.components.connectionManager.openConnection(e,n)).newStream(this.protocol,n);await this._writeMessage(a,r,n),yield Ss({from:e,messageType:i},n)}catch(s){yield Ut({from:e,error:s},n)}finally{o!=null&&await o.close()}}async _writeMessage(e,r,n){let i=Ps(e);await i.write(r,Yt,n),await i.unwrap().close(n)}async _writeReadMessage(e,r,n){let i=Ps(e);await i.write(r,Yt,n);let o=await i.read(Yt,n);return await i.unwrap().close(n),o.closer.forEach(s=>{this.safeDispatchEvent("peer",{detail:Rs(s)})}),o.providers.forEach(s=>{this.safeDispatchEvent("peer",{detail:Rs(s)})}),o}};var VK=ce(Gs(),1),tI=ce(ve(),1);var iI=ce(K1(),1),oI=ce($e(),1);function _a(t,e){if(globalThis.Buffer!=null)return globalThis.Buffer.compare(t,e);for(let r=0;r<t.byteLength;r++){if(t[r]<e[r])return-1;if(t[r]>e[r])return 1}return t.byteLength>e.byteLength?1:t.byteLength<e.byteLength?-1:0}function nn(t,e){if(t.length!==e.length)throw new Error("Inputs should have the same length");let r=rt(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return Er(r)}var Pa=class{originDhtKey;capacity;peerDistances;constructor(e,r){this.originDhtKey=e,this.capacity=r,this.peerDistances=[]}get length(){return this.peerDistances.length}get peers(){return this.peerDistances.map(e=>e.peerId)}async add(e){if(this.peerDistances.find(i=>i.peerId.equals(e))!=null)return;let r=await hr(e),n={peerId:e,distance:nn(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((i,o)=>_a(i.distance,o.distance)),this.peerDistances=this.peerDistances.slice(0,this.capacity)}async anyCloser(e){if(e.length===0)return!1;if(this.length===0)return!0;let r=await Promise.all(e.map(hr)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=nn(this.originDhtKey,i);if(_a(o,n)<0)return!0}return!1}};var Da=class{log;routingTable;network;validators;queryManager;peerStore;peerId;constructor(e,r){let{routingTable:n,network:i,validators:o,queryManager:s,logPrefix:a}=r;this.routingTable=n,this.network=i,this.validators=o,this.queryManager=s,this.peerStore=e.peerStore,this.peerId=e.peerId,this.log=e.logger.forComponent(`${a}:peer-routing`)}async findPeerLocal(e){let r,n=await this.routingTable.find(e);if(n!=null){this.log("findPeerLocal found %p in routing table",e);try{r=await this.peerStore.get(n)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}}if(r==null)try{r=await this.peerStore.get(e)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}if(r!=null)return this.log("findPeerLocal found %p in peer store",e),{id:r.id,multiaddrs:r.addresses.map(i=>i.multiaddr)}}async*_getValueSingle(e,r,n={}){let i={type:ue.GET_VALUE,key:r};yield*this.network.sendRequest(e,i,n)}async*getPublicKeyFromNode(e,r={}){let n=Td(e);for await(let i of this._getValueSingle(e,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await Ms(B0.marshalPublicKey({bytes:i.record.value}));if(!o.equals(e))throw new k("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new k("public key missing","ERR_PUBLIC_KEY_MISSING");yield As({from:e,value:o.publicKey},r)}throw new k(`Node not responding with its public key: ${e.toString()}`,"ERR_INVALID_RECORD")}async*findPeer(e,r={}){if(this.log("findPeer %p",e),r.useCache!==!1){let i=await this.findPeerLocal(e);if(i!=null){this.log("found local"),yield ya({from:this.peerId,peer:i},r);return}}let n=!1;if(r.useNetwork!==!1){let i=this,o=async function*({peer:s,signal:a}){let c={type:ue.FIND_NODE,key:e.toBytes()};for await(let u of i.network.sendRequest(s,c,{...r,signal:a}))if(yield u,u.name==="PEER_RESPONSE"){let f=u.closer.find(l=>l.id.equals(e));f!=null&&(yield ya({from:u.from,peer:f},r))}};for await(let s of this.queryManager.run(e.toBytes(),o,r))s.name==="FINAL_PEER"&&(n=!0),yield s}n||(yield Ut({from:this.peerId,error:new k("Not found","ERR_NOT_FOUND")},r))}async*getClosestPeers(e,r={}){this.log("getClosestPeers to %b",e);let n=await Ln(e),i=this.routingTable.closestPeers(n),o=this,s=new Pa(n,this.routingTable.kBucketSize);await Promise.all(i.map(async c=>{await s.add(c)}));let a=async function*({peer:c,signal:u}){o.log("closerPeersSingle %s from %p",W(e,"base32"),c);let f={type:ue.FIND_NODE,key:e};yield*o.network.sendRequest(c,f,{...r,signal:u})};for await(let c of this.queryManager.run(e,a,r))yield c,c.name==="PEER_RESPONSE"&&await Promise.all(c.closer.map(async u=>{await s.add(u.id)}));this.log("found %d peers close to %b",s.length,e);for(let c of s.peers)try{let u=await this.peerStore.get(c);yield ya({from:this.peerId,peer:{id:c,multiaddrs:u.addresses.map(({multiaddr:f})=>f)}},r)}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}}async*getValueOrPeers(e,r,n={}){for await(let i of this._getValueSingle(e,r,n)){if(i.name==="PEER_RESPONSE"&&i.record!=null)try{await this._verifyRecordOnline(i.record)}catch{let s="invalid record received, discarded";this.log(s),yield Ut({from:i.from,error:new k(s,"ERR_INVALID_RECORD")},n);continue}yield i}}async _verifyRecordOnline(e){if(e.timeReceived==null)throw new k("invalid record received","ERR_INVALID_RECORD");await ho(this.validators,new Ge(e.key,e.value,e.timeReceived))}async getCloserPeersOffline(e,r){let n=await Ln(e),i=this.routingTable.closestPeers(n),o=[];for(let s of i)if(!s.equals(r))try{let a=await this.peerStore.get(s);o.push({id:s,multiaddrs:a.addresses.map(({multiaddr:c})=>c)})}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}return o.length>0?this.log("getCloserPeersOffline found %d peer(s) closer to %b than %p",o.length,e,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",e,r),o}};var jd=ce(hf(),1);var Na=class{log;datastore;cache;cleanupInterval;provideValidity;syncQueue;started;cleaner;constructor(e,r={}){let{cacheSize:n,cleanupInterval:i,provideValidity:o}=r;this.log=e.logger.forComponent("libp2p:kad-dht:providers"),this.datastore=e.datastore,this.cleanupInterval=i??36e5,this.provideValidity=o??864e5,this.cache=(0,jd.default)(n??256),this.syncQueue=new tn({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(e=>{this.log.error(e)})},this.cleanupInterval))}async stop(){this.started=!1,this.cleaner!=null&&(clearInterval(this.cleaner),this.cleaner=void 0)}async _cleanup(){await this.syncQueue.add(async()=>{let e=Date.now(),r=0,n=0,i=new Map,o=this.datastore.batch(),s=this.datastore.query({prefix:mf});for await(let a of s)try{let{cid:c,peerId:u}=Jd(a.key),f=e7(a.value).getTime(),l=Date.now(),m=l-f,d=m>this.provideValidity;if(this.log("comparing: %d - %d = %d > %d %s",l,f,m,this.provideValidity,d?"(expired)":""),d){n++,o.delete(a.key);let h=i.get(c)??new Set;h.add(u),i.set(c,h)}r++}catch(c){this.log.error(c.message)}i.size>0?(this.log("deleting %d / %d entries",n,r),await o.commit()):this.log("nothing to delete");for(let[a,c]of i){let u=Ds(a),f=this.cache.get(u);if(f!=null){for(let l of c)f.delete(l);f.size===0?this.cache.remove(u):this.cache.set(u,f)}}this.log("Cleanup successful (%dms)",Date.now()-e)})}async _getProvidersMap(e){let r=Ds(e),n=this.cache.get(r);return n==null&&(n=await fI(this.datastore,e),this.cache.set(r,n)),n}async addProvider(e,r){await this.syncQueue.add(async()=>{this.log("%p provides %s",r,e);let n=await this._getProvidersMap(e);this.log("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=Ds(e);this.cache.set(o,n),await uI(this.datastore,e,r,i)})}async getProviders(e){return this.syncQueue.add(async()=>(this.log("get providers for %s",e),[...(await this._getProvidersMap(e)).keys()].map(n=>Zt(n))),{throwOnTimeout:!0})}};function Ds(t){let e=typeof t=="string"?t:W(t.multihash.bytes,"base32");return`${mf}/${e}`}async function uI(t,e,r,n){let i=[Ds(e),"/",r.toString()].join(""),o=new Ir(i),s=ht(n.getTime());await t.put(o,s)}function Jd(t){let e=t.toString().split("/");if(e.length!==5)throw new Error(`incorrectly formatted provider entry key in datastore: ${t.toString()}`);return{cid:e[3],peerId:e[4]}}async function fI(t,e){let r=new Map,n=t.query({prefix:Ds(e)});for await(let i of n){let{peerId:o}=Jd(i.key);r.set(o,e7(i.value))}return r}function e7(t){return new Date(Qe(t))}function xo(t){let e=new globalThis.AbortController;function r(){e.abort();for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of t){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}async function*t7(t,e,r,n){let i=Pn({objectMode:!0}),o=l=>{n("clean up queue, results %d, queue size %d, pending tasks %d",i.readableLength,t.size,t.pending),t.clear(),i.end(l)},s=l=>{l!=null&&i.push(l)},a=l=>{n("queue error",l),o(l)},c=()=>{n("queue idle"),o()},u=()=>{n("abort queue"),o(new k("Query aborted","ERR_QUERY_ABORTED"))},f=()=>{o()};t.on("completed",s),t.on("error",a),t.on("idle",c),e.addEventListener("abort",u),r.addEventListener("cleanup",f);try{yield*i}finally{t.removeListener("completed",s),t.removeListener("error",a),t.removeListener("idle",c),e.removeEventListener("abort",u),r.removeEventListener("cleanup",f)}}var lI=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*r7(t){let{key:e,startingPeer:r,ourPeerId:n,signal:i,query:o,alpha:s,pathIndex:a,numPaths:c,cleanUp:u,queryFuncTimeout:f,log:l,peersSeen:m}=t,d=new tn({concurrency:s}),h=await Ln(e);function p(g,y){if(g==null)return;m.add(g);let x=BigInt("0x"+W(nn(y,h),"base16"));d.add(async()=>{let b=[i];f!=null&&b.push(AbortSignal.timeout(f));let I=xo(b);try{for await(let v of o({key:e,peer:g,signal:I,pathIndex:a,numPaths:c})){if(I.aborted)return;if(v.name==="PEER_RESPONSE")for(let E of v.closer){if(m.has(E.id)){l("already seen %p in query",E.id);continue}if(n.equals(E.id)){l("not querying ourselves");continue}let C=await hr(E.id);if(BigInt("0x"+W(nn(C,h),"base16"))>x){l("skipping %p as they are not closer to %b than %p",E.id,e,g);continue}l("querying closer peer %p",E.id),p(E.id,C)}d.emit("completed",v)}}catch(v){if(!i.aborted)return Ut({from:g,error:v},t)}finally{I.clear()}},{priority:lI-x}).catch(b=>{l.error(b)})}p(r,await hr(r)),yield*t7(d,i,u,l)}var ka=class{disjointPaths;alpha;shutDownController;running;queries;logger;peerId;routingTable;initialQuerySelfHasRun;logPrefix;metrics;constructor(e,r){let{disjointPaths:n=20,alpha:i=3,logPrefix:o}=r;this.logPrefix=o,this.disjointPaths=n??20,this.running=!1,this.alpha=i??3,this.queries=0,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.routingTable=r.routingTable,this.logger=e.logger,this.peerId=e.peerId,e.metrics!=null&&(this.metrics={runningQueries:e.metrics.registerMetric(`${o.replaceAll(":","_")}_running_queries`),queryTime:e.metrics.registerMetric(`${o.replaceAll(":","_")}_query_time_seconds`)}),this.shutDownController=new AbortController,Pr(1/0,this.shutDownController.signal)}isStarted(){return this.running}async start(){this.running=!0}async stop(){this.running=!1,this.shutDownController.abort()}async*run(e,r,n={}){if(!this.running)throw new Error("QueryManager not started");let i=this.metrics?.queryTime.timer();if(n.signal==null){let l=AbortSignal.timeout(3e4);Pr(1/0,l),n={...n,signal:l}}let o=new AbortController;Pr(1/0,o.signal);let s=xo([this.shutDownController.signal,o.signal,n.signal]);Pr(1/0,s);let a=this.logger.forComponent(`${this.logPrefix}:query:`+W(e,"base58btc")),c=Date.now(),u=new ut,f=!1;try{n.isSelfQuery!==!0&&this.initialQuerySelfHasRun!=null&&(a("waiting for initial query-self query before continuing"),await go(this.initialQuerySelfHasRun.promise,s),this.initialQuerySelfHasRun=void 0),a("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries);let l=await Ln(e),m=this.routingTable.closestPeers(l),d=m.slice(0,Math.min(this.disjointPaths,m.length));if(m.length===0){a.error("Running query with no peers");return}let h=new dr,p=d.map((g,y)=>r7({key:e,startingPeer:g,ourPeerId:this.peerId,signal:s,query:r,pathIndex:y,numPaths:d.length,alpha:this.alpha,cleanUp:u,queryFuncTimeout:n.queryFuncTimeout,log:a,peersSeen:h,onProgress:n.onProgress}));for await(let g of ma(...p))g.name==="QUERY_ERROR"&&a.error("query error",g.error),yield g;f=!0}catch(l){if(!(!this.running&&l.code==="ERR_QUERY_ABORTED"))throw l}finally{f||(a("query exited early"),o.abort()),s.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),i?.(),u.dispatchEvent(new pt("cleanup")),a("query:done in %dms",Date.now()-c)}}};function dI(t){return t[Symbol.asyncIterator]!=null}function pI(t){if(dI(t))return(async()=>{let e=0;for await(let r of t)e++;return e})();{let e=0;for(let r of t)e++;return e}}var Ua=pI;function mI(t){return t[Symbol.asyncIterator]!=null}function gI(t,e){return mI(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var n7=gI;var yI=t=>{let e=t.on||t.addListener||t.addEventListener,r=t.off||t.removeListener||t.removeEventListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function xI(t,e,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),c=[],{addListener:u,removeListener:f}=yI(t),l=(...d)=>{let h=r.multiArgs?d:d[0];r.filter&&!r.filter(h)||(c.push(h),r.count===c.length&&(n(),o(c)))},m=d=>{n(),s(d)};n=()=>{for(let d of a)f(d,l);for(let d of r.rejectionEvents)f(d,m)};for(let d of a)u(d,l);for(let d of r.rejectionEvents)u(d,m);r.signal&&r.signal.addEventListener("abort",()=>{m(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=ws(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function i7(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=xI(t,e,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var Oa=class{log;peerId;peerRouting;routingTable;count;interval;initialInterval;queryTimeout;started;timeoutId;controller;initialQuerySelfHasRun;querySelfPromise;constructor(e,r){let{peerRouting:n,logPrefix:i,count:o,interval:s,queryTimeout:a,routingTable:c}=r;this.peerId=e.peerId,this.log=e.logger.forComponent(`${i}:query-self`),this.started=!1,this.peerRouting=n,this.routingTable=c,this.count=o??20,this.interval=s??3e5,this.initialInterval=r.initialInterval??1e3,this.queryTimeout=a??5e3,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun}isStarted(){return this.started}start(){this.started||(this.started=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.querySelf().catch(e=>{this.log.error("error running self-query",e)})},this.initialInterval))}stop(){this.started=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}async querySelf(){if(!this.started){this.log("skip self-query because we are not started");return}if(this.querySelfPromise!=null)return this.log("joining existing self query"),this.querySelfPromise.promise;if(this.querySelfPromise=We(),this.started){this.controller=new AbortController;let e=xo([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);Pr(1/0,e);try{this.routingTable.size===0&&(this.log("routing table was empty, waiting for some peers before running query"),await i7(this.routingTable,"peer:add",{signal:e})),this.log("run self-query, look for %d peers timing out after %dms",this.count,this.queryTimeout);let r=Date.now(),n=await Dn(this.peerRouting.getClosestPeers(this.peerId.toBytes(),{signal:e,isSelfQuery:!0}),i=>n7(i,this.count),async i=>Ua(i));this.log("self-query found %d peers in %dms",n,Date.now()-r)}catch(r){this.log.error("self-query error",r)}finally{e.clear(),this.initialQuerySelfHasRun!=null&&(this.initialQuerySelfHasRun.resolve(),this.initialQuerySelfHasRun=void 0)}}this.querySelfPromise.resolve(),this.querySelfPromise=void 0,this.started&&(this.timeoutId=setTimeout(()=>{this.querySelf().catch(e=>{this.log.error("error running self-query",e)})},this.interval))}};var Vf=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function Fa(t,e,r,n){let i=new Vf(n?.errorMessage,n?.errorCode);return r?.aborted===!0?Promise.reject(i):new Promise((o,s)=>{let a=u=>{n?.filter?.(u)!==!1&&(t.removeEventListener(e,a),r?.removeEventListener("abort",c),o(u))},c=()=>{t.removeEventListener(e,a),r?.removeEventListener("abort",c),s(i)};t.addEventListener(e,a),r?.addEventListener("abort",c)})}var Ma=class{deferred;signal;where;constructor(e,r){this.signal=r,this.deferred=We(),this.where=e,this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(new on)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function EI(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Va=class{id;fn;options;priority;recipients;status;timeline;controller;constructor(e,r,n=0){this.id=EI(),this.status="queued",this.fn=e,this.priority=n,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,Pr(1/0,this.controller.signal),this.onAbort=this.onAbort.bind(this)}abort(e){this.controller.abort(e)}onAbort(){this.recipients.reduce((r,n)=>r&&n.signal?.aborted===!0,!0)&&this.controller.abort(new on)}async join(e={}){let r=new Ma(new Error("where").stack,e.signal);return this.recipients.push(r),e.signal?.addEventListener("abort",this.onAbort),r.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let e=await go(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(r=>{r.deferred.resolve(e)}),this.status="complete"}catch(e){this.recipients.forEach(r=>{r.deferred.reject(e)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(e=>{e.signal?.removeEventListener("abort",this.onAbort)})}};function SI(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Ka=class extends ut{concurrency;queue;pending;constructor(e={}){super(),this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.pending=0,e.metricName!=null&&e.metrics?.registerMetricGroup(e.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.queue=[]}tryToStartAnother(){if(this.size===0)return queueMicrotask(()=>{this.safeDispatchEvent("empty")}),this.running===0&&queueMicrotask(()=>{this.safeDispatchEvent("idle")}),!1;if(this.pending<this.concurrency){let e;for(let r of this.queue)if(r.status==="queued"){e=r;break}return e==null?!1:(this.safeDispatchEvent("active"),this.pending++,e.run().finally(()=>{for(let r=0;r<this.queue.length;r++)if(this.queue[r]===e){this.queue.splice(r,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(e){if(this.queue[this.size-1]?.priority>=e.priority){this.queue.push(e);return}let r=SI(this.queue,e,(n,i)=>i.priority-n.priority);this.queue.splice(r,0,e)}async add(e,r){r?.signal?.throwIfAborted();let n=new Va(e,r,r?.priority),i=n.join(r).then(o=>(this.safeDispatchEvent("completed",{detail:o}),o)).catch(o=>{throw this.safeDispatchEvent("error",{detail:o}),o});return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),i}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new on)}),this.clear()}async onEmpty(e){this.size!==0&&await Fa(this,"empty",e?.signal)}async onSizeLessThan(e,r){this.size<e||await Fa(this,"next",r?.signal,{filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await Fa(this,"idle",e?.signal)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(e){e?.signal?.throwIfAborted();let r=Pn({objectMode:!0}),n=c=>{c!=null?this.abort():this.clear(),r.end(c)},i=c=>{c.detail!=null&&r.push(c.detail)},o=c=>{n(c.detail)},s=()=>{n()},a=()=>{n(new k("Queue aborted","ERR_QUEUE_ABORTED"))};this.addEventListener("completed",i),this.addEventListener("error",o),this.addEventListener("idle",s),e?.signal?.addEventListener("abort",a);try{yield*r}finally{this.removeEventListener("completed",i),this.removeEventListener("error",o),this.removeEventListener("idle",s),e?.signal?.removeEventListener("abort",a),n()}}};var qa=class extends Ka{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};function o7(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let r=0,n=t.length;r<n;++r)if(t[r]!==e[r])return!1;return!0}function Kf(){return{contacts:[],dontSplit:!1,left:null,right:null}}function Ns(t,e){if(!(e instanceof Uint8Array))throw new TypeError(t+" is not a Uint8Array")}var za=class t extends ut{localNodeId;root;numberOfNodesPerKBucket;numberOfNodesToPing;distance;arbiter;constructor(e){super(),this.localNodeId=e.localNodeId,this.numberOfNodesPerKBucket=e.numberOfNodesPerKBucket??20,this.numberOfNodesToPing=e.numberOfNodesToPing??3,this.distance=e.distance??t.distance,this.arbiter=e.arbiter??t.arbiter,Ns("option.localNodeId as parameter 1",this.localNodeId),this.root=Kf()}static arbiter(e,r){return(e.vectorClock??0)>(r.vectorClock??0)?e:r}static distance(e,r){let n=0,i=0,o=Math.min(e.length,r.length),s=Math.max(e.length,r.length);for(;i<o;++i)n=n*256+(e[i]^r[i]);for(;i<s;++i)n=n*256+255;return n}add(e){Ns("contact.id",e?.id);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,e.id,r++);let i=this._indexOf(n,e.id);return i>=0?(this._update(n,i,e),this):n.contacts.length<this.numberOfNodesPerKBucket?(n.contacts.push(e),this.safeDispatchEvent("added",{detail:e}),this):n.dontSplit?(this.safeDispatchEvent("ping",{detail:{oldContacts:n.contacts.slice(0,this.numberOfNodesToPing),newContact:e}}),this):(this._split(n,r),this.add(e))}closest(e,r=1/0){if(Ns("id",e),!Number.isInteger(r)&&r!==1/0||r<=0)throw new TypeError("n is not positive number");let n=[];for(let i=[this.root],o=0;i.length>0&&n.length<r;){let s=i.pop();if(s!=null)if(s.contacts===null){let a=this._determineNode(s,e,o++);i.push(s.left===a?s.right:s.left),i.push(a)}else n=n.concat(s.contacts)}return n.map(i=>({distance:this.distance(i.id,e),contact:i})).sort((i,o)=>i.distance-o.distance).slice(0,r).map(i=>i.contact)}count(){let e=0;for(let r=[this.root];r.length>0;){let n=r.pop();n!=null&&(n.contacts===null?r.push(n.right,n.left):e+=n.contacts.length)}return e}_determineNode(e,r,n){let i=n>>3,o=n%8;return r.length<=i&&o!==0?e.left:r[i]&1<<7-o?e.right:e.left}get(e){Ns("id",e);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,e,r++);let i=this._indexOf(n,e);return i>=0?n.contacts[i]:void 0}_indexOf(e,r){for(let n=0;n<e.contacts.length;++n)if(o7(e.contacts[n].id,r))return n;return-1}remove(e){Ns("the id as parameter 1",e);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,e,r++);let i=this._indexOf(n,e);if(i>=0){let o=n.contacts.splice(i,1)[0];this.safeDispatchEvent("removed",{detail:o})}return this}_split(e,r){e.left=Kf(),e.right=Kf();for(let o of e.contacts)this._determineNode(e,o.id,r).contacts.push(o);e.contacts=null;let n=this._determineNode(e,this.localNodeId,r),i=e.left===n?e.right:e.left;i.dontSplit=!0}toArray(){let e=[];for(let r=[this.root];r.length>0;){let n=r.pop();n!=null&&(n.contacts===null?r.push(n.right,n.left):e=e.concat(n.contacts))}return e}*toIterable(){for(let e=[this.root];e.length>0;){let r=e.pop();r!=null&&(r.contacts===null?e.push(r.right,r.left):yield*r.contacts)}}_update(e,r,n){if(!o7(e.contacts[r].id,n.id))throw new Error("wrong index for _update");let i=e.contacts[r],o=this.arbiter(i,n);o===i&&i!==n||(e.contacts.splice(r,1),e.contacts.push(o),this.safeDispatchEvent("updated",{detail:{incumbent:i,selection:o}}))}};var AI="kad-close",II=50,s7=20,CI=1e4,TI=10,$a=class extends ut{kBucketSize;kb;pingQueue;log;components;pingTimeout;pingConcurrency;running;protocol;tagName;tagValue;metrics;constructor(e,r){super();let{kBucketSize:n,pingTimeout:i,logPrefix:o,pingConcurrency:s,protocol:a,tagName:c,tagValue:u}=r;this.components=e,this.log=e.logger.forComponent(`${o}:routing-table`),this.kBucketSize=n??s7,this.pingTimeout=i??CI,this.pingConcurrency=s??TI,this.running=!1,this.protocol=a,this.tagName=c??AI,this.tagValue=u??II,this.pingQueue=new qa({concurrency:this.pingConcurrency,metricName:`${o.replaceAll(":","_")}_ping_queue`,metrics:this.components.metrics}),this.pingQueue.addEventListener("error",f=>{this.log.error("error pinging peer",f.detail)}),this.components.metrics!=null&&(this.metrics={routingTableSize:this.components.metrics.registerMetric(`${o.replaceAll(":","_")}_routing_table_size`)})}isStarted(){return this.running}async start(){this.running=!0;let e=new za({localNodeId:await hr(this.components.peerId),numberOfNodesPerKBucket:this.kBucketSize,numberOfNodesToPing:1});this.kb=e,e.addEventListener("ping",r=>{this._onPing(r).catch(n=>{this.log.error("could not process k-bucket ping event",n)})}),this._tagPeers(e)}async stop(){this.running=!1,this.pingQueue.clear(),this.kb=void 0}_tagPeers(e){let r=new dr,n=_d(()=>{let i=new dr(e.closest(e.localNodeId,s7).map(a=>a.peer)),o=i.difference(r),s=r.difference(i);Promise.resolve().then(async()=>{for(let a of o)await this.components.peerStore.merge(a,{tags:{[this.tagName]:{value:this.tagValue}}});for(let a of s)await this.components.peerStore.merge(a,{tags:{[this.tagName]:void 0}})}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=i});e.addEventListener("added",i=>{n(),this.safeDispatchEvent("peer:add",{detail:i.detail.peer})}),e.addEventListener("removed",i=>{n(),this.safeDispatchEvent("peer:remove",{detail:i.detail.peer})})}async _onPing(e){if(!this.running)return;let{oldContacts:r,newContact:n}=e.detail,o=(await Promise.all(r.map(async s=>{let a=this.pingQueue.find(s.peer);return a!=null?a.join():this.pingQueue.add(async()=>{let c;try{let u={signal:AbortSignal.timeout(this.pingTimeout)};this.log("pinging old contact %p",s.peer),c=await(await this.components.connectionManager.openConnection(s.peer,u)).newStream(this.protocol,u);let l=Ps(c);await l.write({type:ue.PING},Yt,u);let m=await l.read(Yt,u);if(await l.unwrap().close(),m.type!==ue.PING)throw new k(`Incorrect message type received, expected PING got ${m.type}`,"ERR_BAD_PING_RESPONSE");return!0}catch(u){return this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",s.peer,u),this.log("evicting old contact after ping failed %p",s.peer),this.kb.remove(s.id)),c?.abort(u),!1}finally{this.metrics?.routingTableSize.update(this.size)}},{peerId:s.peer})}))).filter(s=>s).length;this.running&&o<r.length&&this.kb!=null&&(this.log("adding new contact %p",n.peer),this.kb.add(n))}get size(){return this.kb==null?0:this.kb.count()}async find(e){let r=await hr(e),n=this.closestPeer(r);if(n!=null&&e.equals(n))return n}closestPeer(e){let r=this.closestPeers(e,1);if(r.length>0)return r[0]}closestPeers(e,r=this.kBucketSize){return this.kb==null?[]:this.kb.closest(e,r).map(i=>i.peer)}async add(e){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await hr(e);this.kb.add({id:r,peer:e}),this.log("added %p with kad id %b",e,r),this.metrics?.routingTableSize.update(this.size)}async remove(e){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await hr(e);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};var a7=[77591,22417,43971,28421,740,29829,71467,228973,196661,78537,27689,36431,44415,14362,19456,106025,96308,2882,49509,21149,87173,131409,75844,23676,121838,30291,17492,2953,7564,110620,129477,127283,53113,72417,165166,109690,21200,102125,24049,71504,90342,25307,72039,26812,26715,32264,133800,71161,88956,171987,51779,24425,16671,30251,186294,247761,14202,2121,8465,35024,4876,85917,169730,3638,256836,96184,943,18678,6583,52907,35807,112254,214097,18796,11595,9243,23554,887,268203,382004,24590,111335,11625,16619,29039,102425,69006,97976,92362,32552,63717,41433,128974,137630,59943,10019,13986,35430,33665,108037,43799,43280,38195,29078,58629,18265,14425,46832,235538,40830,77881,110717,58937,3463,325358,51300,47623,117252,19007,10170,20540,91237,294813,4951,79841,56232,36270,128547,69209,66275,100156,32063,73531,34439,80937,28892,44466,88595,216307,32583,49620,16605,82127,45807,21630,78726,20235,40163,111007,96926,5567,72083,21665,58844,39419,179767,48328,42662,51550,5251,37811,49608,81056,50854,55513,20922,18891,197409,164656,32593,71449,220474,58919,85682,67854,13758,35066,3565,61905,214793,119572,141419,21504,10302,27354,67003,46131,32668,15165,64871,34450,17821,2757,11452,34189,5160,12257,85523,560,53385,65887,119549,135620,312353,115979,122356,10867,193231,124537,54783,90675,120791,4715,142253,50943,17271,43358,25331,4917,120566,34580,12878,33786,160528,32523,4869,301307,104817,81491,23276,8832,97911,31265,52065,7998,49622,9715,43998,34091,84587,20664,69041,29419,53205,10838,58288,116145,6185,5154,141795,35924,21307,144738,43730,12085,8279,10002,119,133779,199668,72938,31768,39176,67875,38453,9700,44144,4121,116048,41733,12868,82669,92308,128,34262,11332,7712,90764,36141,13553,71312,77470,117314,96549,49135,23602,54468,28605,6327,62308,17171,67531,21319,14105,894,107722,46157,8503,51069,100472,45138,15246,14577,35609,191464,1757,13364,161349,32067,91705,81144,52339,5408,91066,21983,14157,100545,4372,26630,129112,1423,29676,213626,4397,88436,99190,6877,49958,26122,114348,60661,29818,293118,50042,179738,16400,163423,89627,31040,43973,36638,45952,5153,1894,109322,1898,134021,12402,112077,68309,190269,69866,31938,107383,11522,105232,11248,14868,39852,71707,186525,16530,38162,106212,11700,5130,16608,26998,59586,108399,230033,43683,48135,82179,2073,5015,196684,189293,16378,23452,8301,35640,11632,214551,29240,57644,33137,91949,55157,52384,117313,5090,17717,89668,49363,82238,241035,66216,29066,184088,97206,62820,26595,4241,135635,173672,8202,459,71355,146294,29587,3008,135385,141203,14803,6634,45094,69362,50925,546,51884,62011,83296,234584,44515,56050,89476,87751,19373,12691,149923,19794,13833,35846,87557,58339,2884,19145,25647,12224,11024,77338,64608,122297,53025,7205,36189,36294,170779,21750,7739,173883,75192,35664,224240,113121,30181,26267,27036,117827,92015,106516,55628,203549,67949,60462,60844,35911,20457,1820,920,19773,8738,73173,181993,38521,98254,76257,46008,92796,5384,26868,151566,22124,2411,15919,186872,180021,28099,152961,78811,80237,62352,102653,74259,184890,16792,123702,224945,29940,19512,75283,14059,112691,92811,233329,20411,138569,53341,109802,50600,134528,66747,5529,166531,31578,64732,67189,1596,126357,967,167999,206598,109752,119431,207825,78791,91938,10301,27311,24233,252343,28831,32812,66002,112267,90895,8786,8095,16824,22866,21813,60507,174833,19549,130985,117051,52110,6938,81923,123864,38061,919,18680,53534,46739,112893,161529,85429,26761,11900,81121,91968,15390,217947,56524,1713,6654,37089,85630,138866,61850,16491,75577,16884,98296,73523,6140,44645,6062,36366,29844,57946,37932,42472,5266,20834,19309,33753,127182,134259,35810,41805,45878,312001,14881,47757,49251,120050,44252,3708,25856,107864,120347,1228,36550,41682,34496,47025,8393,173365,246526,12894,161607,35670,90785,126572,2095,124731,157033,58694,554,12786,9642,4817,16136,47864,174698,66992,4639,69284,10625,40710,27763,51738,30404,264105,137904,109882,52487,42824,57514,2740,10479,146799,107390,16586,88038,174951,9410,16185,44158,5568,40658,46108,12763,97385,26175,108859,664,230732,67470,46663,14395,50750,141320,93140,15361,47997,55784,6791,307840,118569,107326,18056,58281,260415,54691,8790,73332,45633,7511,45674,143373,14031,11799,94491,35646,96544,14560,26049,32983,25791,83814,42094,231370,63955,139212,2359,169908,3108,183486,105867,28197,32941,124968,26402,88267,149768,23053,3078,19091,52924,25383,19209,111548,97361,3959,24880,235061,9099,24921,161254,151405,20508,7159,34381,20133,11434,74036,19974,34769,36585,1076,22454,17354,38727,235160,111547,96454,117448,156940,91330,37299,7310,26915,117060,51369,22620,61861,322264,106850,111694,15091,2624,40345,300446,177064,1707,27389,54792,327783,132669,183543,59003,17744,20603,151134,106923,53084,71803,279424,319816,11579,21946,16728,38274,72711,5085,83391,88646,40159,25027,34680,10752,12988,54126,30365,18338,100445,230674,44874,84974,143877,123253,139372,28082,91477,144002,13096,219729,46016,50029,42377,14601,6660,58244,58978,23918,88206,113611,64452,17541,41032,10942,12021,49189,10978,40175,37156,10947,71709,106894,112538,57007,137486,150608,152719,40615,7746,279716,13101,19524,28708,40578,72320,1096,182051,94527,51275,22833,45164,81917,77519,48508,5421,140302,37845,149830,5587,27579,5357,428725,248187,6326,206760,39814,32585,89923,44341,288753,284443,96368,31201,94189,119504,20359,52073,103216,179,27934,32801,96035,34111,34309,101326,18198,20704,210266,37643,27880,141873,106e3,19414,56614,167714,66483,107885,86602,4379,20796,75467,4987,5017,118857,26003,34308,114428,29198,6686,29697,73632,3739,69795,16798,41504,7207,30722,21436,36735,28067,28545,3239,11221,36031,41889,100010,19247,317673,29495,174554,6424,129725,53845,94986,7955,59676,2604,191497,19735,102214,62954,23844,11872,179525,261436,34492,428,78404,142035,16747,17246,27578,37021,33672,57944,26056,135760,2369,61674,122066,31327,19374,157065,40553,130982,69619,71290,38855,72100,92903,95940,51422,165999,65713,57873,50726,7288,20272,2081,42326,22624,81120,57914,79352,19447,1684,72302,11774,302559,161481,96396,13692,414988,3721,79066,56627,46883,21150,11747,12184,5856,113458,176117,84416,52079,27933,3354,59765,141359,2212,216309,2555,23458,196722,142463,45701,44548,28798,19418,215,29916,9396,10574,114226,84475,13520,18694,34056,4524,90302,62930,13539,19407,77209,7728,38088,9535,2263,23875,183945,17750,26274,67172,10585,28042,22199,7478,51331,66030,26774,192929,31434,25850,50197,52926,178158,4679,181256,70184,229600,9959,105594,72158,73974,2726,35085,78087,23284,35568,51713,155676,5401,27254,11966,17569,223253,71993,103357,111477,55722,30504,26034,46774,35392,36285,214814,41143,163465,1051,16094,81044,6636,76489,179102,20712,39178,35683,125177,54219,30617,52994,25324,50123,2543,87529,58995,10688,125199,12388,60158,125481,131646,7642,133350,65874,3438,97277,101450,10075,56344,116821,50778,60547,98016,106135,13859,14255,16300,77373,173521,8285,45932,37426,4054,114295,55947,7703,39114,52,51119,128135,19714,60715,9554,50492,88180,2823,118271,52993,122625,97919,23859,37895,25040,33614,32102,20431,3577,9275,15686,43031,157741,110358,1884,40291,125391,13736,5008,64881,87336,77381,70711,43032,49155,118587,70494,4318,10168,30126,12580,10524,280104,104001,145413,2862,84140,6603,106005,13566,12780,11251,42830,571,179910,82443,13146,469,42714,32591,265217,424024,92553,54721,134100,6007,15242,114681,59030,16718,85465,200214,85982,55174,165013,23493,56964,82529,109150,32706,27568,82442,5350,14976,13165,44890,60021,21343,33978,17264,4655,22328,27819,75730,16567,55483,14510,17926,45827,150609,3704,7385,272531,161543,76904,122163,52405,2039,19165,41623,14423,228354,3369,176360,85491,7122,35789,303724,4465,13628,2233,55311,118771,20713,10006,221519,45115,71021,35650,29775,7337,10864,20665,21142,1746,15080,1624,32449,10905,105743,229797,7701,3940,22997,178467,57208,389057,39683,59403,63344,63125,54847,69691,18336,56448,3362,37202,18282,29648,138224,35867,10495,5911,28814,26653,31514,176702,26550,45621,11734,4525,40543,73944,121080,27858,155561,14887,44670,30742,8796,107455,113472,56369,75581,183777,240095,133699,153299,8768,160464,26058,49078,103971,21875,71486,44888,17156,9678,89541,123019,102337,3972,83930,21245,87852,109660,287918,183019,686,10100,39177,283941,11274,24736,26793,26214,25995,77011,141580,4070,23742,46285,46632,30700,26669,19056,35951,115575,174034,56097,35463,87425,24575,44245,38701,82317,85922,281616,100333,147697,61503,7730,84330,8530,59917,61597,17173,9092,32658,90288,193136,39023,20381,56654,31132,7779,1919,1375,117128,30819,11169,40938,23935,115201,101155,151034,4835,11231,74550,89388,59951,91704,107312,167882,115062,12732,72738,88703,464019,158267,57995,60496,737,14371,123867,4174,243339,159946,7568,16025,134556,110916,38103,191,80226,88794,29688,27230,10454,76308,57647,77409,113483,66864,14745,19808,12023,46583,84805,16015,17102,2231,20611,3547,95740,250131,34559,108894,8498,15853,159169,148920,20942,2813,93160,45188,210613,45531,52587,149062,39782,28194,57849,60965,84954,89766,84453,100927,16501,27658,165311,103841,54192,207341,19558,20084,319622,5672,205467,98462,61849,36279,13609,147177,24726,165015,209489,59591,31157,6551,117580,75060,141146,277310,21072,22023,106474,63041,137443,122965,68371,5383,42146,98961,113467,30863,23794,4843,99630,30392,82679,13699,241612,33601,93146,24319,18643,32155,95669,40440,15333,34089,67799,142144,58245,38633,114531,117400,77861,188726,5507,2568,8853,10987,107222,2663,2421,11530,13345,30075,41785,118661,104786,17459,12490,16281,71936,193555,17431,5944,71758,26485,77317,20803,367167,158,7362,93430,11735,172445,46002,11532,54482,930,62911,2235,23004,179236,4764,101859,208113,22477,55163,95579,14098,67320,162556,90709,156949,3826,57492,4025,34092,87442,104565,6718,186015,28214,14209,10039,107186,233912,58877,81637,55265,39828,6194,145813,50831,105849,4974,88319,122296,10272,197216,95714,51540,72418,23324,91555,8743,140452,250249,51666,34124,7229,38592,129641,78169,174242,22464,149964,51450,14034,10026,95376,26190,120062,14401,8700,265,31386,143573,7203,229889,61567,4227,140981,2466,72052,10787,10062,30958,6099,38471,30103,23202,208101,70847,467,58934,32271,32984,36637,24107,30771,17109,73353,13650,2098,157040,67366,66904,106018,265380,107238,18535,44025,32681,144983,62505,91295,56120,3082,77508,10322,63023,36700,81885,224127,16721,45023,239261,111272,13852,7866,149243,204199,32309,22084,42029,38316,126644,104973,14406,43454,67322,61310,15789,40285,24026,181047,6301,70927,23319,115823,27248,66693,115875,278566,63007,146844,56841,59007,87368,180001,22370,42114,80605,12022,10374,308,25079,14689,12618,63368,7936,264973,212291,136713,95999,105801,18965,32075,48700,52230,35119,96912,32992,8586,16606,101333,101812,14969,39930,759,193090,27387,42914,12937,5058,62646,64528,38624,25743,37502,3716,4435,30352,178687,26461,132611,42002,138442,35833,59582,16345,8048,60319,49349,309,47800,49739,90482,26405,34470,63786,32479,85028,39866,47846,11649,23934,29466,2816,42864,31828,7410,74885,49632,47629,111801,90749,19536,18767,105764,59606,21223,10746,76298,22220,39408,7190,79654,64856,11602,82156,272765,17079,70089,245473,51813,184407,384678,1576,122249,5064,27481,6188,25790,74361,27541,318284,45430,31488,620,93579,45723,192118,22670,51913,4162,70244,35966,26397,16199,50899,209613,121702,287507,2993,36101,132229,67345,33062,76295,118628,78705,52316,34375,107083,107454,44863,127561,33964,3073,154010,190914,55967,39074,6272,31047,5550,41123,26154,98638,47110,19998,148091,50229,31329,59900,195442,19106,61347,73497,70015,682,45850,25776,38022,148951,6288,37411,232526,109277,27286,32342,9262,5220,16651,23175,46740,129438,78614,121925,66914,88710,127952,5563,21500,34521,10739,14863,191006,62956,17359,16749,67027,56284,69134,43301,35039,58883,54466,60823,404451,75743,59856,86979,7923,34273,83785,32142,7693,268986,197428,282681,17049,22346,22990,92245,107180,3357,37104,96724,49153,7683,31197,43267,82231,164276,23696,20848,188364,22309,24821,158707,1018,22514,70922,27792,45589,59709,10765,736,35218,63479,51987,24275,63588,55361,92929,81964,4658,20122,12330,44058,13065,311456,72224,8337,211229,38979,22590,138478,52757,32595,133600,8838,31549,94412,43391,90056,1585,94802,127271,6223,31889,137038,132910,2165,57616,230152,6080,10748,36737,74579,134062,50525,180532,119270,34556,76155,82394,52595,29258,31435,87820,67996,26943,183878,38007,2410,13526,180297,69856,3503,187396,167700,7838,16701,9199,56267,3661,37407,65994,23767,5708,62508,221700,67088,86978,46776,84434,32088,5612,9149,88244,21685,95151,46750,189612,2979,506311,2594,3628,40074,105039,78243,28523,6651,38058,71999,30992,12764,68261,108991,6165,26450,61961,13400,22426,7490,60890,109623,2070,12958,50355,67979,257096,7213,42578,52121,35716,65461,7516,124758,39268,302,64712,14977,1467,219452,2840,34229,11121,21602,19270,63574,8024,1532,17331,79839,78885,52029,180767,57957,6069,91265,61380,55767,8927,32881,287603,22149,35029,68876,6428,199567,46926,13412,104132,21434,366616,45060,110046,81924,128910,45886,52821,130416,29416,77342,21762,67329,121432,79924,11724,38625,81006,102033,28338,13326,3250,82056,82526,38212,21112,12382,111495,3263,7414,86274,93490,40844,30224,45212,24019,48411,71367,24941,76729,57776,3769,38114,202019,197745,31953,237533,33270,201580,255648,100798,44741,32241,98468,106931,10085,15090,170358,33154,66787,18819,69760,25061,234005,82660,6295,131975,16874,9076,4094,25005,17740,40908,19533,220019,44330,99792,50040,19619,13950,55228,24423,31253,95308,103177,184795,28590,82285,5059,3210,75525,49894,70007,56178,10580,36051,139681,21617,98736,3555,106306,164189,37352,63915,47824,24883,145530,61904,28444,11483,19837,145446,30420,112972,85939,11835,191233,2262,20705,58630,1753,148334,1197,144714,6887,11223,107667,60879,77914,4151,57417,81594,96681,169430,1784,20444,95138,254041,27038,596,7117,72808,13759,3353,126776,21074,55322,27081,36942,39547,139830,179275,4453,713,8722,71399,19204,25785,22794,23923,104114,11291,25458,102309,88396,75288,230440,206396,104551,58447,130857,37247,94734,31548,176529,226077,65159,20104,10096,66881,94191,237909,27109,37404,1520,27421,25220,113003,23423,24884,50585,6286,231877,150800,11789,3226,90004,60642,5053,202400,61442,132531,175329,57138,30116,103847,9973,75367,16452,32360,59119,21246,10191,164804,23305,61051,37348,154530,13214,5468,50403,66754,130976,50559,80515,14436,155492,84017,5472,43107,41240,2890,90431,70188,382,76234,48040,50211,281038,237007,32115,142178,1536,22761,96429,1811,31243,1679,49143,55209,17402,235054,61494,7462,77030,34925,87609,78002,9499,9027,73289,201078,101379,63544,27666,5469,10642,30029,49816,132979,95620,58086,351930,116300,2110,2043,30845,6154,11279,16727,4122,2277,27281,4971,3650,39060,61970,65951,39674,75686,38151,11370,130809,177895,32665,63725,122267,7857,39618,118483,44792,157755,178624,136994,24260,41308,22471,12404,21707,12486,30473,52781,50246,20247,39065,909,56825,103158,128603,31542,1089,41935,32744,12428,37963,84420,33134,72921,208449,42622,168151,127335,147107,46699,38216,12591,94342,85814,31423,24944,2605,87542,67473,192551,4496,56321,91819,17630,6300,256183,114569,202090,33209,35289,34897,24967,40520,43470,5344,10199,34810,14283,10381,10017,62923,49924,23233,64539,13051,35686,19698,11570,135555,120868,44924,87065,52318,52335,47586,140906,245885,109834,78668,9065,46990,25258,72022,61243,40838,4545,146387,10537,11557,17470,36930,68104,46711,24264,79401,81043,18225,120488,24746,84338,81652,28266,13776,21878,46973,1047,230465,73357,95777,24973,210160,62210,58404,110633,169651,6937,41870,9909,26822,191062,76553,27519,96256,239070,2478,205678,67955,58532,20601,50120,19148,78501,195724,110740,8249,109665,27446,30568,57631,31425,49752,32820,65504,50079,3663,102256,219898,23849,211315,14645,4359,91767,9528,12449,49366,7941,49763,107848,8930,27086,50686,9744,10447,81935,39513,46514,1670,29229,6172,22312,137280,97759,9806,14445,22976,56458,73391,34983,93760,174219,52573,33149,59747,2429,136277,75123,165263,91040,7446,57632,48633,97140,246081,84766,151684,79918,93268,120346,54059,54875,77858,32996,103590,45276,11968,19600,25849,17159,132907,42828,16817,4913,99462,103303,27395,5737,74184,20749,21160,14377,77062,131403,158735,10999,27799,77785,9320,34366,51593,61070,33746,47048,29268,36675,30262,53297,9832,82e3,20188,122292,39917,7331,18160,68301,185935,134830,15031,4935,10004,165845,185534,46923,30109,44134,122631,18874,22903,112790,26561,18549,348902,82871,140345,255565,135390,63556,103747,145055,179600,145662,296111,61661,211987,23952,52342,126343,48450,32919,44277,82185,9591,62139,205363,376969,394874,108461,18040,120885,14798,39863,16571,16794,58271,81025,55206,14640,118656,6361,44092,85970,6262,153863,108244,180200,72264,79947,38044,10050,5735,61221,80712,5471,115689,11391,11661,184257,20010,60116,30320,19327,134598,45455,27542,18004,125092,452272,1549,91523,46567,180063,156026,2608,11174,58848,37788,65907,80194,30490,5786,40775,119519,106241,11323,156297,8425,61495,2617,29675,2425,59886,112582,49142,59618,4863,50597,86710,50650,168632,27693,85641,83643,18993,25768,84284,28090,93592,36627,312804,43381,9887,9402,100931,97165,3311,173330,66805,28935,4963,184460,3201,78102,19126,21607,37496,24938,22615,16153,32862,134792,153318,61120,6067,2812,12826,12792,23825,37559,64662,202250,102694,155488,85881,149193,46233,65383,15521,106982,11358,176786,25752,39717,34208,24510,32464,77742,39371,72028,138229,60688,71386,102834,132477,2208,11548,63670,271279,28351,30338,38620,32491,99845,143885,152266,13252,2825,178663,108097,1775,78201,14897,113573,163346,62292,171129,22183,96598,38733,64971,166776,117445,9968,146393,44677,74867,20908,97328,12761,25656,26785,9148,112344,26115,99176,110121,22437,49547,6180,79320,5835,31392,43328,33377,75870,119860,69497,80273,7325,155219,43167,111173,28347,20222,3763,71752,55041,47252,14618,28088,15012,97805,194698,54636,2036,41349,6173,96604,61530,51859,43782,13361,24334,22668,24792,7070,23441,16789,3209,36211,208475,26242,32880,122181,182407,21444,31060,88459,29929,77907,12716,10934,97005,20599,31690,8403,58445,30303,22700,10336,86731,103115,337709,72556,46788,112566,47684,67089,53548,36874,56487,41387,125985,26893,40071,106683,73712,18787,40105,72992,67246,137276,50802,36790,70328,138827,22466,39263,183295,29858,50975,9322,57397,10654,24364,30383,55799,41600,23584,127295,296610,129078,143558,244131,86397,36049,1085,80677,3820,108139,5476,34767,24683,7758,13060,7239,131671,250593,59556,103392,29810,4188,252323,39404,116877,7651,43600,40338,13554,157253,39196,25978,144387,61211,234,50104,6129,10449,93777,9240,356378,274148,4439,72970,3724,147770,78680,62570,115877,40027,40547,36817,224392,64609,34795,165027,67440,2477,37206,23431,50754,164797,46018,94995,170982,27051,7957,22767,3674,27900,56419,18930,60701,41302,2692,84749,339721,61996,111094,80221,50129,1045,8153,62945,19202,8250,37208,37418,32560,79477,41106,88569,33963,36693,5892,30570,1581,66471,49647,11922,160717,29442,5643,114865,82962,95982,132098,22633,22838,94726,54556,28566,205039,162340,33216,16849,35847,221339,94851,26533,71469,1805,3804,12935,45483,71020,36310,65381,192960,34240,35165,59773,1248,46954,155332,96864,4246,388800,16129,57133,74592,44807,442014,38203,42574,80818,91592,26377,36424,65760,977,77387,22628,147610,28018,30561,98454,6969,119628,63648,18170,36854,26601,64018,22027,37279,51395,152934,21153,9430,58760,194742,5330,55115,34158,28917,174111,13171,122326,1526,43896,66094,25325,4234,148354,11450,275,18999,112191,44365,22723,68409,8733,57746,96565,75007,14196,108844,29475,88599,177563,100792,106156,86323,93726,14248,135341,194131,40126,47099,14779,8272,39597,95983,171398,65882,28052,10393,47213,40689,22120,72212,106829,34964,109146,753,648,21660,30047,17527,181025,5619,145357,4085,216883,9359,186951,24779,53931,24545,36197,223296,62628,168101,4243,107313,30321,26642,13049,51059,31027,107912,807,73550,26551,84369,122422,165872,49754,74213,234264,33151,52014,33100,87183,22365,52500,40013,23302,5652,72723,21404,26107,48434,587,94049,168493,96418,32871,70860,31709,25128,443,71597,166253,15670,70994,26341,133675,28280,75491,54756,47955,56028,26182,11952,113272,472197,64640,110753,17919,337,50642,22576,142,87371,53391,93210,126694,15285,19642,85667,14148,1506,42092,52962,33243,11970,20734,135843,57044,58880,13002,219134,22876,64754,232519,4257,43120,321573,24799,64526,124728,52579,81472,70831,276848,17403,74359,23021,182101,74597,23744,148267,12055,7976,5349,11772,67540,167347,65318,18720,127832,108238,22828,90233,9987,259080,118185,73209,79270,13775,90100,137742,90799,70569,15699,19961,9087,67475,57872,39731,8810,134897,131868,146849,19898,3334,2281,167061,91073,60356,467742,74712,188,53179,137679,92769,29241,9537,132595,80119,1041,88962,5976,40171,44911,102859,139059,104558,98987,47761,19272,71472,113864,175377,73338,10857,23402,23758,1591,139864,5644,4076,118760,16427,134198,18853,20291,100849,37423,22038,36677,19071,195521,57445,11069,31869,55718,66882,148490,44,41296,75242,49704,166810,9906,20943,122258,49112,105667,15969,10344,6408,187694,21399,72742,58970,14867,14376,81889,41856,23225,15042,56993,16074,131389,74276,72407,53875,383108,53597,37363,68993,44854,122548,430927,198279,38430,80409,12245,2981,628,2818,17760,37437,238229,7968,46892,2200,3730,34190,65983,37959,112291,87850,70827,6522,20750,73913,111621,41652,19587,2780,58668,25916,85259,18200,168962,95781,42445,102050,7776,57662,103313,47742,96358,41964,66174,100396,29069,204735,19679,27978,7479,40264,22534,61183,36081,107436,58223,14680,23002,101311,24716,124108,12908,5646,31750,40380,14215,232799,102772,14122,96775,61398,50917,12096,149880,67833,598749,124194,155871,49216,790,14677,65319,56917,7440,145744,95701,12206,49405,129269,76199,45732,9767,11058,9047,210885,11051,7392,26307,2130,8132,147526,20802,232698,115660,50060,59789,57344,107623,80343,112676,23291,9866,160971,34032,118291,15719,59730,164911,28975,2659,58046,78480,21854,66209,53863,109085,116045,29021,46481,107552,22130,18764,70254,31272,11300,52460,43933,84738,20721,53869,190840,79673,105300,7561,321817,66924,13940,33281,101046,183181,32176,71878,5678,62924,79535,56646,40303,19559,27703,93042,73368,42187,3670,37376,46440,7023,36816,109628,20680,5940,276440,275233,170848,112093,136996,14984,20226,111441,77693,112960,48577,39370,55707,50314,123404,26570,54281,61372,123391,4857,35928,246740,132507,106646,44241,7196,92258,9825,37688,51197,303141,5590,15476,132986,10955,85782,34486,26696,7991,28813,18858,39546,11703,11365,38185,5716,93555,11925,40121,60002,6985,10976,171384,3887,43394,13337,56346,6381,252336,39573,75042,53711,1028,31781,44295,95925,131713,7214,68125,43571,70954,213234,1628,8760,13391,65485,17320,56038,1710,25248,60803,57399,19839,3870,326,281556,50945,72400,21460,316244,75619,56246,98775,481,13513,55765,50427,7388,123519,32929,57908,27124,61316,101097,57467,30228,48792,10788,20402,37318,50526,155730,34456,158065,145305,17832,43733,64052,4506,35072,205355,177028,184004,187081,68616,35938,83703,10367,36892,93186,260137,51934,89970,4985,23445,26755,21558,7948,78741,23376,124405,85594,68596,57536,49351,12619,56593,132668,99924,109728,71844,71935,196018,65464,17617,14987,89701,143773,33997,8687,22701,33258,2914,4436,72108,85610,9671,49067,2327,82988,1361,1672,44033,35777,30269,24057,10605,82236,616,15793,13919,47249,112086,116698,9484,80207,90574,33304,68624,93127,56101,42210,160929,4827,38995,38095,4701,125119,5027,33680,9236,231236,14135,87837,23318,70261,78893,30151,81482,14332,1084,74256,27532,46644,79185,3148,62615,6981,55672,31668,36825,1849,14536,37446,14738,23779,43058,162749,72199,1168,21346,5592,85932,85302,9668,18351,57135,150360,2080,228015,77953,34670,119302,151751,31009,106725,84265,45214,59289,74178,113071,263206,111009,4021,44449,188119,192629,123592,392506,292847,114487,12831,205858,9852,20780,79648,75767,357014,97721,18166,21005,67950,33226,204009,16536,2987,11335,66717,144910,47950,17262,55060,15063,2934,51038,26775,178497,66008,3427,49433,128592,20036,157553,63861,3089,23015,51210,28696,35933,49942,71135,231518,99620,17248,21835,176536,20676,16944,38700,165831,233253,295625,36723,13023,52745,10907,19423,67972,125868,95473,82875,1183,108455,52685,33417,64095,21433,52438,33191,127809,44505,211823,7810,2752,95548,162031,7185,91196,47563,61721,33359,17897,23682,42806,178101,22874,49707,199897,75419,82456,8618,11171,79712,116847,18783,44190,46564,5346,59046,95032,7893,14916,3214,26800,24172,121453,34362,10250,17408,18888,4840,68696,22831,13162,36005,32512,14800,62357,41723,45046,27247,37486,5372,2564,34261,298500,66509,133920,89138,31305,117697,19097,108304,81386,84106,23802,46411,63304,946,51417,41777,41041,19501,115864,60743,294354,37955,94165,18116,1156,17937,20645,57114,90804,58042,48643,92288,9861,2557,88546,61333,101008,12853,5148,87856,4152,144503,73841,18718,9789,147565,10846,42085,12789,30223,8993,56352,67203,2448,28215,6052,23540,126319,75933,36689,80235,23231,23561,21383,38800,77548,102798,21234,31468,158608,46188,63960,191679,8051,67014,11185,170078,42186,28827,34777,41930,212079,12421,34750,24111,110344,73918,45171,70826,141949,40063,23979,24254,37309,26724,27179,24718,83648,54938,14591,17425,29525,102675,48975,48654,12316,8929,60640,41709,50168,63264,89812,50716,48632,38755,138583,160123,55579,71829,24230,233277,46322,39650,166388,34718,24108,98252,7031,106695,62498,18258,35062,217827,78731,34824,33354,19520,60852,2432,60224,8587,2836,62955,702,20227,42285,40560,95592,62486,11094,53035,143291,18842,46177,77994,1770,9657,107422,172915,32655,128716,25886,25164,156740,119928,165875,85817,11007,89110,33956,12652,65156,180266,8494,36889,19958,20955,96,1264,118288,135769,44754,86671,5632,19026,168220,289120,33569,93821,66144,70635,7687,5642,2714,55445,56636,71545,184182,93133,7332,37389,12643,52315,22729,11014,158742,17050,152889,50178,34601,41945,52136,9948,26914,63548,95721,115951,40759,8960,158258,38938,49232,48325,42234,81523,253019,66128,40978,20048,238048,38760,62928,122560,118532,43687,137472,163689,26680,9878,17448,51035,16211,60834,36749,29178,14241,59868,150086,2305,26477,42422,34342,165341,83279,33894,14257,29928,12743,13957,125571,89134,66712,10952,16507,147839,30146,7249,16565,45399,39874,114565,215780,31990,230881,171477,102,196546,44538,10880,84948,281705,86651,10617,31395,2342,453658,43569,60561,132901,21845,17727,58556,258242,22262,58728,4008,77997,11806,37431,30599,81375,109137,185787,114085,217292,97453,169085,30593,60212,11544,102056,65580,2384,91655,4855,95725,7295,157994,16228,20669,53276,141590,105246,17334,25440,76067,17967,39321,38911,11362,28559,63807,21627,26468,85816,40120,1025,15234,58319,69516,66512,124548,75845,78873,22137,46681,51242,85683,32909,76747,35555,43396,101465,1765,73094,1077,2962,39028,66777,57831,42048,15828,13962,36041,63657,52412,5242,58846,2141,5506,219012,134451,3936,182230,17558,17153,152237,22621,49377,170216,35257,68233,65374,6510,11126,212151,7184,2480,22517,3437,33073,30156,16557,3768,55067,86829,91e3,12350,148650,66017,79424,70885,49066,28250,21369,51213,34533,11510,3258,18176,18465,84413,6315,36411,163765,4346,356,107618,598,13727,285026,162695,8749,14583,7132,63521,184253,32378,25991,5604,30961,53675,4874,84693,5086,34811,26978,56564,7904,33519,51221,113942,69253,6664,125563,22055,220680,102008,742,51930,19494,176108,44424,35123,13025,75685,11759,74335,22250,181453,131147,16984,132115,154311,11991,76452,52609,85351,196,30969,9198,74919,2529,56838,71779,29187,116304,3504,62330,41190,86153,28393,254926,104228,105189,13264,84359,3574,12415,8534,57147,10175,188174,59504,60932,66318,16407,107921,17638,99103,49278,28403,39786,145865,8462,3558,43406,142271,29139,21989,36552,93955,72365,7176,13556,106185,37957,321774,17782,129017,51154,27938,24952,1935,39366,2791,33489,41582,56078,24558,9311,5449,218786,27808,190429,68013,36020,86003,29735,3404,87348,119357,115714,2324,86796,81973,40992,43376,93621,28784,16808,36367,2517,2909,191926,24978,55303,53308,205724,60068,3098,21375,64784,23949,26579,63121,12319,80145,39967,97861,6757,70143,67642,37082,34698,69140,122883,46151,62187,80934,429,19437,135071,137885,222647,13331,154065,327,61778,74257,40116,37493,14855,85079,237641,42342,102164,199965,71204,4662,29368,5042,113914,122214,8955,13149,102503,43173,5659,163787,69003,307084,63392,171080,21390,81918,86666,36622,24126,28887,5736,28054,207170,163428,79891,346467,95363,38980,111806,80828,9200,19288,294896,114468,87405,111715,141705,7015,72754,68463,48738,243147,33397,101210,37051,98801,82847,20397,4940,185559,18716,54718,83491,11725,40803,1128,12128,23060,5174,7745,67007,46701,1571,27807,180186,256996,18975,16837,7877,212758,250379,15440,87954,57755,24719,124057,83461,258,50864,8874,29038,71289,31627,15429,9005,4061,113851,107716,82819,13651,79656,117851,17539,111446,12938,39724,190787,4352,15402,21070,62708,8539,23777,73853,13552,38810,86117,16285,56400,1718,75342,142863,29033,378,110113,180321,32586,23606,26393,160984,207987,23783,8406,16904,24596,47274,11693,46539,60524,78595,48423,31718,20170,9009,146268,15183,191060,172765,1349,138436,37365,10970,40509,225817,20021,70394,152138,21541,66559,66544,89352,2725,17258,91345,7313,3815,115868,8660,40362,4071,103524,39388,118275,21950,6549,38226,32754,209574,29201,43495,18028,20296,40597,18370,47520,202450,24134,2219,8195,69545,38041,136934,46374,19041,159811,84865,58620,846,98749,13569,30714,97246,32186,4479,27355,92973,35214,151491,75963,37631,1561,27200,238083,23182,60756,12291,25766,39355,102333,87362,65741,59906,19538,201575,48772,102938,24438,292580,39964,66366,9004,61379,50548,37622,38732,28379,68180,76622,17488,69849,5963,7219,48143,43413,55358,540,58691,29506,19245,52193,48621,5518,13048,118625,44755,191081,42061,89197,2259,60665,66994,71210,51232,3585,142096,55024,7892,8345,58653,463307,65658,64319,137941,136323,53499,12746,43492,6978,95163,29925,60175,5128,7352,41463,184756,121146,20473,18426,4598,5309,54580,14277,121151,10691,56711,43880,63409,76682,11830,172218,264898,32632,66536,81062,31649,25788,92774,60222,11100,63159,9432,224657,25240,53613,152,138620,163829,2397,85345,12501,37507,64932,38575,43522,65789,80198,78796,35226,3851,108891,73311,3060,28391,93671,39663,46142,30982,66041,37281,68157,26553,71872,81142,211527,39747,118119,22695,2859,11066,20232,168911,7933,197005,17066,111071,44434,133994,120798,12766,227798,45756,132852,29917,36076,55352,65281,129800,41958,18944,84678,18580,168093,132621,39997,54092,27740,32354,3770,114118,103242,43918,15899,18574,145944,3190,123469,219903,24169,100571,62403,16776,92779,14535,17168,16475,14304,37231,1712,28218,242754,61688,28980,1318,51359,222657,99200,67989,31772,23932,35351,201251,49041,27306,19128,40135,3986,77333,19649,120683,151927,21081,7076,78375,77501,101599,8011,89585,96715,58179,5378,102138,106793,26051,217276,4197,16297,27014,46721,13322,22806,5278,29629,70632,9647,71519,58818,40603,128530,8903,36770,56900,31483,26935,43845,34265,34920,87658,6114,84767,64250,47318,50720,19264,162514,33357,13117,6705,46696,75032,71054,87004,42035,69138,11903,99854,102328,19611,34525,69312,6431,49842,101600,133178,108751,41829,89939,225664,48916,99556,9195,130387,5960,36857,116724,53518,94002,39077,53996,6945,22261,64291,8314,152785,57588,16522,9091,5048,87671,35441,39509,1945,12423,158923,178413,37549,14095,1475,73188,62878,4819,24012,68534,42606,4010,120809,57497,59564,101758,103718,32701,80116,12345,95834,46918,21468,53213,15665,31200,3867,5140,96013,250744,21016,10069,13968,35449,180829,27683,39704,59956,22893,3115,26293,32785,75934,62445,141162,62720,2018,83638,19949,114012,95006,3330,99829,130935,309272,9565,55874,121727,37017,23586,319858,40970,27602,8625,112329,61060,100088,118525,25922,16232,1907,60671,51583,44553,80993,5262,94679,8676,940,20736,11823,3020,16476,12340,152600,97416,3703,25744,66826,16245,16876,46446,84798,74227,176020,45192,61955,75496,23946,23626,40372,26036,6149,11822,30582,16541,41914,82385,232823,40921,80773,14930,3631,7517,39619,4348,36180,126106,138939,62611,1477,113512,47321,25052,14546,118881,29060,23589,128322,36795,18401,137921,104699,267929,36194,172791,18113,4766,188215,30083,332586,94089,5805,77909,22194,68234,154976,43220,40660,70001,184893,138095,11128,103010,22663,5108,212615,8485,5565,49222,54614,26530,42639,16319,55062,152662,105595,21114,22216,10294,68158,10436,86950,7206,62115,3977,3657,59874,456,118617,18156,106663,112229,80992,17442,8217,55551,5133,34344,251927,51153,39364,201321,7816,66803,23057,156724,145664,14276,95705,979,2796,6875,13429,212525,50602,26276,28284,3424,19465,52397,46963,31420,51399,206476,92317,48851,637,100820,83349,10317,60227,21972,6908,282439,32857,224767,95629,83882,42106,87338,69757,29840,68709,37665,45244,114577,49188,175943,54009,186746,106158,70168,3358,234002,50555,9221,129338,9562,20118,32923,78479,118280,65752,4977,10474,102174,60947,129006,10570,83451,8598,8078,159367,123785,80438,16742,5905,5281,181513,42402,6977,163136,93179,42191,14968,50421,112401,105440,33456,57347,121611,4221,94954,36517,24046,27796,6255,33394,72990,135408,116627,1233,57874,25654,95419,68156,401399,313338,55208,45573,93124,119251,47200,38196,11909,130667,45391,73904,64964,167846,4137,115606,52036,62214,7969,160925,7187,1132,134835,40309,73195,64494,80472,444841,61111,26500,45323,40743,53625,52797,22659,15631,29739,36706,28841,39147,102836,26794,10536,14845,87305,45874,12241,127587,83833,57183,79722,30844,41304,84655,20825,92500,3722,25655,27811,10157,81634,31362,34088,92487,70123,22190,185100,72658,139035,192523,88241,2078,230490,44528,85638,100198,22088,29982,291233,241062,13865,4445,137791,37835,107218,31726,19718,38234,72528,23046,19177,66695,5109,17251,28077,5617,21554,47839,72425,133825,1486,73065,181275,141508,21768,62971,63082,2512,34200,9904,120309,6392,91243,68416,268253,41199,116757,138551,185526,41246,28986,4093,19057,17295,4148,245766,122360,35356,112075,20301,75441,10998,7977,19769,62922,937,63547,100196,26427,157820,20983,236696,22935,8140,90315,156004,47204,140973,7726,45097,52725,22636,23436,257282,105247,522,88389,216031,202204,46812,211666,19693,68828,81691,45925,11256,30292,372,5236,167826,88328,232776,151611,5360,82104,18841,80393,25465,18285,20320,72377,31730,33160,45803,38715,27705,37379,24163,18360,103586,4015,32305,269494,91252,20080,36567,54650,7797,57073,12650,31164,42209,6375,261663,105528,81661,106002,2800,5375,17247,43151,4442,15727,194619,100855,144898,62320,78465,39929,16454,1967,28311,61363,17219,9395,8745,121445,76939,80385,162380,22009,54191,44248,16299,122830,48151,74429,78291,64755,14238,44966,2511,17712,67954,93583,829,105899,49935,84750,11591,33185,85447,42717,27409,208542,28965,62052,52525,5597,25694,65594,16343,63224,276188,12475,9331,127507,38522,57287,24128,133161,79723,105548,133695,48917,27558,43278,46520,13778,141954,110785,83366,17715,46317,105763,66298,147013,41086,94180,16478,220447,44611,730,19722,78975,117889,125643,26254,16574,18480,65006,15806,38549,246418,46052,36056,8440,34984,30170,3163,59800,4458,115442,4283,41970,33507,104078,1653,22,121158,276486,3655,6338,24048,133421,23641,2161,24422,36006,8086,10675,181474,12307,29514,59143,14729,52509,87128,122470,19446,80852,33314,24573,119864,14237,9652,57779,6612,51851,15284,98871,90581,124466,156831,21190,22015,71380,161906,87247,69201,18392,17908,108470,72962,40719,14338,17911,95260,43339,20610,78916,20710,72451,11315,31448,17263,58853,178878,48111,116002,45497,80506,82605,85880,36300,121755,25215,36118,301929,88728,405223,276136,553,34704,212438,49970,78329,922,20711,25036,257130,38295,145369,18128,15385,30829,55656,48345,8012,3561,28004,122041,192900,58338,112508,41085,29976,87040,47117,23905,4336,92061,138880,97407,42083,172121,6256,25192,172671,5,93568,1420,12677,31605,56743,40620,6015,78415,231077,31298,80026,13902,19048,24924,170586,32955,176119,87859,36731,6773,27711,24658,26475,115216,133207,93250,95820,88522,8317,5714,124047,55219,86860,19677,23961,22928,162209,8904,225992,359835,56084,96201,29392,96558,86071,93643,55114,13347,8183,95129,82012,2017,123336,34219,115554,157159,47747,101684,41008,18735,193781,104151,226906,7552,179874,124113,31159,21162,44010,14771,51268,166128,31382,73124,77438,92830,205709,12113,1292,38937,13114,1334,2118,15597,69581,14449,21934,76618,48728,67038,14967,51495,24243,87736,147249,26720,11119,46063,43749,5843,44147,152629,133428,65703,14269,45604,57982,28672,55616,45957,8438,95433,37698,220862,132034,39456,61870,4161,26501,73560,56418,9845,4654,20916,10456,88920,119358,9015,65931,96507,48029,38534,21676,109081,43078,34943,25089,6131,28766,23665,5477,10255,16695,67,45778,42443,42770,29534,23733,100513,62617,42630,48746,14191,43753,50295,26007,8792,57243,43119,54725,164253,58250,112304,131796,25165,4651,3188,24831,47748,3705,19540,13211,102095,5593,18699,23666,32005,117571,33541,60584,74573,86311,99443,25172,27222,168938,7143,11853,53560,18834,19960,86522,28217,53266,117700,72989,34323,18721,66450,34346,74056,47217,202002,46269,9429,68582,75458,37823,82843,96652,32549,145144,27958,19820,158086,31955,201406,135379,31207,192545,12950,51704,9094,248263,76147,64028,110009,79407,89345,99284,223492,47966,26848,15359,201137,2861,110507,71231,72297,31851,118777,71039,151051,240855,16333,50766,14727,7939,4149,80908,418780,88378,59276,1327,7284,38576,79814,65820,42199,84860,49574,62596,12396,70598,40117,8648,7994,16836,7630,14047,359699,106878,525,29037,28064,13380,11675,50669,74216,103539,180314,27449,56299,172344,19274,7301,246099,32043,19422,36506,129317,6806,30140,4614,46639,66926,932,86600,6322,27847,233103,10541,39025,34887,3517,12972,26220,2031,66561,115015,48658,47596,12714,33845,3893,16165,35237,89983,14769,11962,147224,47018,29977,27979,5552,82338,86023,131368,1218,24853,237840,132193,15455,40873,3668,65351,53388,15229,59889,272245,47934,11858,34347,18038,90853,86981,300602,19343,114181,29362,84921,6095,106059,79472,38015,1206,48741,6208,8e4,21916,17423,6002,108083,24479,34931,56661,9511,26995,100694,163853,35997,81254,58321,18919,171890,86877,91341,74503,70477,53412,7027,59281,39892,131302,5864,15947,61301,67466,162369,47956,27874,35624,282324,21270,111847,102548,41482,30955,116737,28264,8592,55458,22301,75090,29821,30697,51709,3041,19208,8038,24634,30467,87509,126428,19389,18814,152686,20701,83474,45832,80891,105808,11378,153223,120770,98186,150633,49838,9141,12755,30962,5260,74490,21256,31678,65062,33326,289838,187831,20595,89768,2805,58535,10844,70085,12090,2451,138068,98544,24461,4511,6754,41684,28203,3383,65355,82833,30161,83924,234361,128424,28921,222594,33975,125491,34069,11508,67464,144226,41850,98703,34371,7901,21254,38398,65651,23549,53883,213340,123269,12028,71764,177701,28758,2623,68395,11549,15232,68603,9660,63116,36079,57093,31198,20475,48467,89984,35619,186847,107469,31389,43631,73867,41949,68841,114250,1605,30564,63403,17588,27680,99533,12641,70325,50428,73426,78379,11855,91651,72081,91720,60198,15743,12065,83398,140046,6761,46598,45900,5068,886,62448,148968,37347,19405,9680,15819,43496,63370,75667,163700,37639,3633,22774,34341,183131,134335,37200,23915,7054,14194,12970,26438,13350,285521,25594,8219,104410,91039,168804,138480,149734,15907,33818,61132,60082,4622,110187,56736,13551,73571,3945,73463,65498,17758,263266,17593,2710,27585,54469,38200,45367,63754,28881,3473,12791,98287,31895,65787,4463,94536,24951,36332,59901,28803,52130,86403,7668,181822,74831,18977,9850,177206,145485,109798,7292,31421,26280,77211,58511,12507,127004,11113,147,8729,56208,43066,79926,129937,31345,83947,39915,46146,98763,42566,1337,13192,18323,105163,80570,117753,16555,72883,11077,159438,40764,70933,83329,26066,12276,72059,21655,173836,126713,69454,153482,91585,70644,102558,110483,6764,127864,190133,3961,101798,20945,71138,82402,90884,69669,44753,923,16939,59700,164258,25969,27082,31399,43846,6306,246093,51342,6153,151581,202801,182731,56475,162188,89426,141356,14355,121815,27536,28023,65257,77523,106668,127314,24947,12790,38796,169698,23555,10725,44573,183083,42088,62716,43265,105958,32050,44067,50118,1668,3874,6243,318411,16599,1691,94999,52378,28671,216728,123258,2059,34969,69225,5913,136280,171443,141515,91662,22175,135282,80020,92270,1663,4808,4482,3495,34691,5226,109830,108512,17342,107488,11606,123190,100247,29666,146527,113014,15794,30894,13224,39585,243192,22351,9903,7836,47699,11078,25468,122291,48821,26780,122679,75521,81450,630,4895,92900,55074,74293,17441,3563,111657,103102,51613,12318,52370,36191,68245,34269,40445,41354,122901,168604,182500,62012,42557,11259,24428,115113,86345,12362,3909,78430,86852,134602,20459,47853,93879,22577,7659,3688,38555,13349,17381,56715,91639,12493,10895,92438,3142,37057,28928,2004,36427,32268,34222,209974,10432,67436,41989,173518,107930,27079,62729,30908,55558,5828,45031,14902,53546,8204,144263,60255,14520,88212,86582,109589,69356,8064,47449,8505,66558,16886,4844,52817,111260,215129,12941,91118,650,20770,6273,73089,40618,62790,2873,35002,14023,97208,19386,102646,36993,143736,135457,35385,113601,17893,32627,84439,100619,56016,6581,57264,172160,45452,111710,203627,70131,24100,322787,1996,35665,70078,22358,90922,83658,4097,63200,58499,14542,99153,52159,6615,12414,63415,31986,16823,1579,65405,137809,8841,16898,48082,259,33014,42375,12260,179850,73667,91389,98882,29532,17311,326251,41092,5928,20742,44964,48019,43505,9317,49265,6643,192712,48424,163487,19861,20113,70848,31928,105333,23685,78563,14638,54755,7158,24142,44018,20774,125255,20331,24280,10163,1285,2336,39851,4299,117269,46714,63816,87779,159624,11731,9971,990,137317,108831,50994,74554,162680,23640,131597,146962,170620,34829,91205,21184,1913,63616,18427,93136,156592,17519,67565,115882,138220,78622,88535,18115,2711,33554,109492,54298,971,24914,25863,36363,45715,27099,194995,14299,178181,111488,72395,322385,157719,130787,11897,81843,83999,11369,49280,118604,40922,61332,110343,53407,75639,40582,300440,54722,25637,13694,48248,48278,194521,56203,52779,48783,72627,10953,376,16733,280238,26351,230789,15132,25168,137270,3588,63704,73376,94031,74284,19443,159557,9697,39901,13351,119050,15406,146455,3460,29556,75195,37673,102524,92329,47289,98413,15311,100684,56345,7116,95480,11590,7200,167,23610,58426,17730,136656,27944,53151,2701,8824,103124,3017,90744,113588,53216,79736,65940,26931,498,29568,80540,143543,21292,1740,59268,16561,180816,42323,50174,40890,52866,10703,57169,4700,17191,4424,93511,49698,166650,26972,48631,165169,82879,69326,202970,4007,2376,231325,139592,22119,62851,37504,68816,58345,67398,186643,43331,277416,53749,15746,23102,17432,4793,151138,48822,54265,48203,198688,14305,54287,2291,18018,113378,123260,7180,97549,87027,120085,2920,76080,8190,102005,5641,64580,14955,59802,54028,58884,19367,81779,412567,85957,97053,103637,78871,29364,27637,141728,4767,30686,112738,130146,42745,12730,105040,14844,232,210944,36581,152317,135543,29744,3129,55647,58149,46319,27265,17499,28005,59948,7170,34138,5702,293047,110892,408,91760,218674,18469,46095,81403,14389,4610,35672,73060,11006,74848,104820,118143,190357,20043,105358,141735,5115,27093,45924,123073,52599,29433,9616,238350,78610,24851,58858,26769,31969,24613,18294,4982,32735,39639,143563,112073,202205,12567,4873,88601,44897,81503,101648,81362,34662,85277,17574,48173,21435,221188,40215,39576,80786,26544,64668,81841,10731,37733,247986,149188,127703,495,18382,54388,72446,43071,30974,198723,89608,41360,190,33045,8386,31658,19992,237838,119015,137622,50890,100913,6460,116233,267230,26621,104129,65114,14190,41542,14888,85962,23342,23041,26453,43725,71809,45186,4770,46452,53894,56616,221286,18973,9038,109299,55365,19366,26863,18808,60909,69353,41738,83463,12100,68561,72860,3980,13796,49340,12332,31311,27418,4255,53430,18976,45523,510,14224,30477,26581,4530,3651,101663,139840,22709,150861,31996,63923,120623,262522,3076,10528,2929,14672,130238,18087,9816,121894,100308,25085,55111,14565,18952,53293,2042,369988,23674,61789,133529,28783,108293,35477,47119,36448,71049,40015,33055,78598,198442,1833,159937,40654,77444,189245,113153,8621,18599,38553,35223,166072,2375,11659,21786,89523,6032,12116,63046,159398,18454,3678,32521,47626,11411,103527,38896,42946,15696,26370,10185,8413,37080,165583,4331,63555,14907,72220,50056,6623,62236,36565,49783,10049,17503,100581,55951,146244,24724,9626,17969,25524,109300,173965,99994,101056,46459,43647,53737,277968,8347,123521,74858,33829,44762,77574,877,81377,222525,123532,30602,43881,53145,2973,16284,81940,61281,127044,63620,9875,14756,114829,19032,9202,52759,119141,23928,120551,19607,3599,33401,76821,73233,117430,39968,36539,7071,5446,121735,194059,15206,45283,6706,15603,65615,1207,165723,92275,34773,104447,8396,32353,205240,164323,13600,60555,79205,25532,22907,33410,57480,107111,69630,32137,47832,70913,33161,20321,2371,117348,10714,86246,1625,11763,17900,268,78457,99175,97940,101092,86660,32221,14041,128504,125080,53744,124263,31017,13897,403,31859,21964,5633,111630,5547,77329,17961,18241,84995,25984,12983,67491,62168,47262,5241,297,51191,7351,8967,147212,82060,16821,782,11033,82431,62957,5026,43459,77963,203477,53528,6247,191852,87774,74164,215654,13467,1522,219964,28589,244104,16242,117821,67725,72570,156792,17186,15979,26990,44128,193014,35276,57125,16212,166451,68017,6905,77608,16364,53777,75921,76426,37975,26203,269296,64099,84122,12077,38533,830,4407,20139,963,43028,38902,42911,37503,83343,85045,16979,1165,60835,137387,58380,86990,110066,134540,56331,193845,81238,17922,163093,38744,110641,12502,56404,34862,26865,125964,12965,111648,25547,7771,27196,136980,9555,29551,107158,57885,18831,37705,35505,101742,13970,102109,62548,124657,23328,11124,89592,146376,248050,6241,22033,18337,80685,29898,11908,216623,67721,106162,146610,21377,15085,91552,42041,62560,122532,125336,102365,121537,142559,29693,223919,11515,110495,18776,22494,5895,185059,103592,229351,51220,100102,37027,257855,29359,54123,36066,106493,12244,79258,32002,432,56205,94836,90182,6726,14762,29391,48938,26864,38083,60364,3310,60192,14766,205567,57504,110760,22649,24666,46333,21517,3430,13135,28873,27052,158809,11597,20529,6695,23138,22960,37137,45574,6545,305877,43423,26153,24769,59844,14501,10430,134352,56169,13213,103432,49523,35181,13435,12408,129475,64620,230854,77390,51990,15653,83248,33466,44571,117828,51481,2187,10559,68019,18021,54895,48247,18354,33737,4554,108595,37288,39767,116707,9175,3726,108877,21616,83684,49862,1938,8543,276466,20134,108498,48770,102254,31914,131520,185291,100559,51890,209,19526,76471,50544,71814,99351,8172,198526,28816,20419,9109,98389,136777,76479,75596,30635,165417,48216,120220,25955,211071,39314,24308,32164,2559,146280,43403,9233,17947,90585,1786,86920,125662,2457,64741,32152,32918,122882,78538,44001,31723,56426,23375,103172,88177,145697,52506,49319,68016,31664,41488,18486,110400,7030,28241,986,109199,19900,42147,56864,65287,49183,7858,24e3,30453,840,16673,25907,68916,89927,6309,158335,36407,199737,130464,13137,59603,201778,195292,21015,42466,179062,172561,89492,11075,180407,31868,72493,20998,60217,9865,19530,39274,130266,54539,21623,12535,13505,40641,73375,4087,85633,2153,3117,70680,55788,92096,47509,98493,37490,271936,151475,3032,16171,96642,34106,78425,125761,19591,3366,19316,54508,24183,50786,194248,91528,33253,34622,108355,41741,705,3814,3883,108929,13203,67831,10142,59754,68208,29128,84820,56880,38794,24972,48571,40821,40476,18137,164254,24064,236309,79181,11282,395,39169,2013,51587,28551,9645,701,109513,115899,113566,12762,62045,58322,103726,41343,40866,244102,143816,2490,70346,40973,52618,15412,30720,104315,38917,42027,93676,17513,107418,20706,123890,13399,97727,24044,87962,65606,44250,98044,65276,74790,101473,19350,91570,1326,87790,172042,7577,100813,86896,85891,41512,108130,27794,14875,71431,12835,156250,58135,3759,22476,42176,115873,34686,56523,73643,108505,51491,20838,12721,32863,45700,29496,13700,34294,55360,29206,155942,123812,7706,163234,203,132720,49358,144431,8130,175788,35818,3270,76832,25710,54095,97274,28779,94621,74396,19092,128242,58067,20885,14670,93255,15107,63291,23654,126900,129421,59294,262659,9798,3251,67344,28600,44629,50672,29072,26999,31526,23183,49175,165843,175455,17282,175411,32022,45989,30298,90690,78118,83156,23749,35636,31317,7069,80381,94561,133756,14960,97404,6138,41065,78041,32843,16601,34123,9559,146529,123377,96395,54441,42012,84257,123541,10745,22139,106459,11720,150883,172651,154996,110538,4728,53447,25704,2009,71152,119354,21166,66604,1429,216162,8637,122250,63520,27180,29172,36124,276428,107787,77184,4680,14952,104903,24418,14793,51561,52931,8371,26342,48526,7118,92066,67280,40653,8847,34597,105438,14198,50163,61188,146286,50315,41205,170829,161496,585,197359,95056,1687,365794,91349,48507,5804,49263,5146,104902,96365,117343,132222,46084,96919,16875,8073,262381,79982,52663,13928,16056,153908,15145,109256,132308,18763,24904,167644,13618,40750,18686,147124,114709,150038,52849,2938,12568,48617,8778,5459,44202,44591,74914,17183,248689,13878,7822,80060,23116,194037,18487,2067,7798,43077,33678,244028,31320,74273,2794,19466,8218,36280,183997,48124,19416,29656,19280,98734,7715,18311,30701,133602,150307,126956,7378,2933,79903,13178,12593,86571,26604,92446,13574,44205,65699,427599,21118,8245,14407,27877,47936,33542,7916,26460,117762,21596,37818,2249,127359,209394,60044,47677,308089,36791,154971,31417,6998,150042,174360,12255,43009,29335,48739,3912,101398,53340,2580,146939,151295,45360,125275,15273,45383,27456,48761,23314,8750,60801,85823,104759,27894,123685,66968,39480,26917,55290,83305,2696,98390,57569,145853,340733,4919,20024,52268,30884,7413,203685,70989,112855,4129,50536,349518,68205,332641,159581,135361,236026,37563,176404,64899,6578,122033,63871,1850,85234,82089,66124,74145,121098,107351,12687,36881,117334,13136,14698,85933,93866,18047,32620,310,15094,46e3,88451,23632,36645,27940,87618,80520,58892,20976,27702,140090,96075,67841,103292,238964,87778,107338,17019,83427,67522,7302,8261,47570,116787,8730,80484,61772,174422,56005,131193,52875,14588,28471,59817,9586,15720,158155,51307,109734,15196,11025,59331,3884,52626,102602,84797,25158,27314,4437,20488,76214,189248,35023,114952,157376,2827,62439,102878,129749,36405,10329,109339,108633,36662,1254,13267,5470,87105,58004,15397,10434,159667,21864,52022,179464,3013,32147,31496,116832,18494,105502,129227,107267,50033,13481,9954,24267,22141,16257,116154,36185,950,115685,11305,176708,2048,178671,112573,287867,162328,497663,95170,50979,193861,50987,30368,136257,31830,46549,15119,169876,23788,17462,249887,57377,1949,35448,14791,43769,210091,3783,34612,282103,88380,245190,5457,20491,98908,11402,86899,117916,16028,162584,60644,320177,156096,31065,55876,22e3,77655,9992,23397,13757,317623,63978,215255,2443,17648,93231,27388,104529,93807,55505,140477,12046,112040,70887,40152,94365,112353,25063,114679,266061,71248,119555,15589,2244,617,14129,211431,70110,100652,7777,4383,85911,89221,21010,120615,58357,86405,37554,41647,18,15143,69662,60491,14714,186134,148344,42347,5410,168175,44535,42449,343894,129417,99682,20659,27272,140483,63455,222159,17536,13722,42637,62324,11976,114691,148109,2283,32057,182393,4295,147364,33705,2075,44303,30274,28331,63740,69740,29148,10346,44862,33716,73937,153333,12930,38784,247159,2515,41053,20256,83368,256189,54639,115240,5096,24661,175419,153552,26516,141,138176,63885,34115,47222,55709,2765,28479,38875,236608,12229,22921,77291,54426,45388,2860,57787,114579,295139,105782,17826,71066,19119,54364,69385,16568,12323,28057,33346,34919,124763,155533,101386,31644,8627,49001,303600,29868,63213,9103,77280,71333,9696,138789,37059,24823,5057,21352,32368,114208,56803,19424,10445,58514,8661,209508,26187,171838,10460,63454,14016,122504,41328,21329,46618,32493,38225,7855,31763,7945,29876,8734,6438,24205,97490,139977,130740,47323,33195,85390,57194,13813,60600,21313,96251,7699,27584,170521,139271,1363,4402,336738,129223,84983,69150,13147,3590,163929,207225,155260,55916,20288,4503,8398,98490,11773,27512,37113,84976,86558,28365,11756,116005,182148,13733,115313,47644,67208,85069,9347,14995,226141,14704,101835,41159,35314,13113,63526,214039,29978,50446,83339,17440,129441,72522,118641,97816,24907,73844,15717,118884,167255,96509,162793,30847,36849,51297,78974,77793,10427,1873,2972,9999,35074,28190,64297,146836,46298,60038,163007,108919,61219,2403,75022,127339,4233,110389,69022,9833,128097,88016,79390,222936,22570,94657,28462,56956,38803,81536,30474,152794,19566,16481,147408,74574,81895,20731,1918,1366,76367,187321,54494,24366,21690,61696,33283,107477,77499,31112,414383,74362,18463,218441,120929,59848,258629,201924,69269,454,19989,13054,59894,3623,58908,20681,35723,78523,102680,38988,184112,108087,50944,132704,52966,21699,18860,96349,201411,82697,85395,95658,5093,6427,177894,44191,32755,26961,155739,6249,31310,81030,26574,84311,120155,86730,113535,7424,48888,13516,45747,98098,20077,183995,81945,43210,26704,40420,75831,45648,11180,6855,57927,65528,124096,34851,2598,156633,107572,127352,38169,123845,60142,62722,105584,232364,23211,68120,1601,22169,89299,747,258039,80572,7258,152249,11862,101204,8834,121434,33761,19175,133142,46343,40178,48723,3589,41977,30210,38868,62257,10087,82658,87827,90646,16415,47552,351723,28298,72225,91146,272760,1701,11295,1652,109651,300747,51863,198800,29446,11794,32345,37538,22356,33102,37590,113544,37970,11478,179743,25454,103417,59905,221970,105196,145604,7817,164809,102360,16974,75840,255333,56902,6659,1954,645,59400,67769,7689,18675,5215,13793,20536,27852,3387,29523,259718,16860,94625,43143,29245,15848,233581,22685,63631,78557,22836,133302,84513,1348,51826,47129,98836,58284,1830,1749,94642,10933,6145,12506,10975,13879,103781,144434,10268,28409,32346,52968,121567,107374,77268,23686,35097,10501,155275,15303,47136,21102,168741,55332,90385,15996,84817,681,137803,25054,142275,6163,38175,8056,124296,240642,65621,4934,178205,16101,62803,60964,18230,100622,76465,44689,14545,9543,47514,16852,93380,28048,12047,107106,37575,101485,77047,57326,34819,96137,76916,6469,46264,115983,75768,87668,69942,13027,165,8373,114231,26434,52844,42799,182044,23580,146254,38081,43236,33883,146220,382894,14606,46035,36481,166621,35417,95382,2957,59384,60428,36358,66343,75378,22267,22950,83528,17577,56474,25285,4619,179691,75355,95836,53295,34588,171410,4487,14679,84208,44015,18562,109133,54101,11531,86052,174479,303157,28095,9953,35642,14564,39802,16145,77606,117406,53038,121117,53624,22062,1212,7632,127157,237292,189087,10478,127345,102515,181997,86752,87623,10966,121602,68783,68681,83042,114380,138349,191305,67176,50085,39016,1427,42384,1412,67118,122616,72389,25260,2237,13576,137346,19938,20304,2191,68759,5373,61364,238507,75814,23931,69565,38993,131741,38364,12528,87762,5679,129853,5310,186831,32653,90338,260176,389531,108118,26843,43985,50175,30563,25106,56965,18130,140428,4542,165503,117991,24219,229605,1819,129663,1240,3797,76093,18398,71339,51919,93043,27175,47060,216257,6483,35051,1217,16512,80798,129064,13225,69339,8548,237079,72298,2575,34280,51379,117910,55671,53345,247552,29486,39328,140821,34681,57045,60177,5004,90269,78522,2479,322607,48474,61296,13057,31558,4678,59271,6699,27044,31988,35944,12503,83480,4389,136508,3781,114121,70279,4488,155829,42214,2898,68191,75695,305850,45041,74344,106509,30087,17429,93292,12477,290,23080,114802,35714,18751,26554,105424,17775,2144,2412,100610,65192,113975,52975,180272,135050,129815,76238,106483,21440,63186,4260,46189,9711,28249,4169,23429,23390,8324,141585,63809,67668,38457,38063,39226,59972,1189,203916,62368,14403,16949,61767,85801,1739,40147,35049,76757,33124,62102,15780,103593,103009,53484,22952,67973,114645,6566,5245,50462,7601,8288,3513,194571,80276,1908,54592,5124,58571,2513,6800,273997,193904,1119,17991,117245,2508,129156,82366,26278,71465,63341,56943,39662,106116,94966,156875,9736,2204,122308,94418,27134,1280,24539,49022,45314,3764,50904,46424,30699,28087,293839,9400,33646,40165,822,147499,50263,116179,29085,11863,31314,5578,17797,5104,12454,1604,15342,219206,10232,67800,94261,25872,13565,90339,78971,75377,26649,41184,47695,11514,35369,20767,14227,41953,309396,148270,147938,33074,14453,27499,109019,39018,25738,240196,158931,52820,8612,95853,21524,137010,84901,70869,70021,116794,48404,38771,6732,1070,70990,187297,49140,5238,576,3564,253975,16027,16483,2811,37775,19034,25259,4053,2e3,70083,95774,19713,33431,92703,91314,42381,288770,48194,95985,3991,77418,13406,241328,245086,56533,35275,62725,9246,51924,70181,95331,16163,31410,79016,39312,120878,119371,275987,80124,27712,9186,220,23598,146167,85209,68238,282190,57048,31273,30555,80913,17594,75779,59160,135002,101219,189377,29225,96735,60126,62522,104e3,27620,86814,17240,147533,11001,5425,43682,410,49460,87270,69480,46315,59448,1816,76201,9431,11788,87960,29063,65539,47347,11678,33846,7008,196704,9895,6753,8633,120892,59970,572824,115934,6646,202559,892,48351,37611,251282,57823,67263,57750,26527,34485,90747,7685,88370,6144,64182,1709,41969,21458,62327,181657,49247,225330,122600,114574,107124,85361,111833,63243,71420,15655,191178,72430,18063,51425,54002,12364,53225,86557,18193,97580,41232,138398,67821,128724,8944,233212,101353,52099,42127,14006,120107,32789,32132,3498,18123,33758,56058,5779,128760,59888,98869,18445,84702,51911,13234,218379,20093,39031,8074,70195,20708,23462,24355,131384,60189,26390,10403,41060,7140,10781,49410,42261,87202,82566,41663,43105,60276,2768,5733,74176,28329,2297,145430,131632,83615,122915,105441,655,224102,5284,136426,67763,16294,188511,32538,61049,27893,3394,13951,159099,28542,17930,145360,9492,190122,32285,78855,26440,13570,58648,73908,4239,124561,2444,74172,53131,11468,10794,73566,11623,35343,64710,30481,4163,10328,38309,29901,10538,154377,76132,92405,24839,11679,3465,13449,11637,7824,2337,57754,1260,14458,41118,19878,38661,13416,159180,37074,163164,54137,28627,52134,184900,8520,40385,29546,30502,22386,66527,107458,6850,24022,47983,30603,35083,8934,304066,39500,9,28261,33026,77251,9374,44833,116312,34990,29236,63563,125639,135405,165398,159055,55690,88141,69643,236964,31983,25572,20436,36746,60896,31850,16179,11828,5888,3043,66368,9750,31167,7915,53111,36430,1333,64344,93659,20061,60596,180191,51630,6792,30244,43509,101058,22409,420,44210,109783,43223,27030,72477,72831,32679,29235,7675,47556,12258,39907,149412,84926,118247,24692,71717,105038,86009,45941,41189,89453,29856,52543,30627,226798,67303,59230,67415,34408,1367,99685,16867,128419,52147,4111,125381,117881,16173,44093,102224,31575,23234,24870,83790,127407,239098,3200,994,1255,100903,242275,117266,55116,38205,16140,29662,11307,40414,208793,123355,56470,4862,75600,30119,58218,70828,24075,26974,7802,192353,4851,5475,78720,66596,3409,28573,64396,30381,30690,59859,88256,5406,99945,103064,34463,37727,24238,86643,60088,4057,23741,5967,162904,38240,28356,93858,25510,122879,6897,3278,7057,11971,4400,35461,211413,21395,59615,39471,87233,55795,128426,3051,22470,41950,14705,3974,180108,80476,78442,204996,91987,15634,67610,139015,142373,35611,51134,10387,4353,153456,57749,181039,14183,68447,151532,21107,36452,20551,3186,46247,46383,129666,88736,140662,146243,2066,8360,7978,64818,106963,17896,47801,10723,114821,223295,74192,3293,3393,16987,74064,11277,91622,4270,29828,27951,387869,103235,1374,61988,120083,477,145892,128378,11779,211263,61354,18221,17869,46530,83061,108538,157981,90608,67199,95080,49064,195814,12302,66307,10348,231346,160732,112859,63633,146558,21271,31037,198802,47622,12862,95710,3910,77850,73961,85585,34752,61e3,4082,24595,103679,71107,8208,79568,150019,16615,24961,139857,32664,197366,4559,54735,32696,4126,162019,75698,13916,70108,159638,19834,9349,24675,175560,49643,18206,52459,27992,10809,88865,401975,133172,29e3,34558,30915,3658,25834,42430,36562,125265,18182,10155,40149,97082,208980,19575,60853,90529,66545,9600,789,46420,2317,88593,55595,98980,115302,5742,169155,1073,177901,3472,11189,63711,78643,65472,50459,127979,93,42202,67053,21720,157650,11145,141378,42033,22824,85705,79114,35584,15974,1510,54172,28562,12451,104226,19190,97151,73024,20948,5151,81741,21499,29006,84183,198074,54003,45120,170125,26240,35177,28389,64863,79974,60778,176915,232183,45342,2038,80253,41564,40703,32689,5430,100689,5366,23007,134279,14266,26712,73993,24934,64242,52113,102887,61801,46415,201049,54251,62133,122757,164883,30815,139966,2319,30842,766,13362,10287,134518,86111,81665,82440,28333,43019,18963,8804,161944,23439,102144,101145,80029,39052,248708,30350,117340,11878,128467,974,138625,63961,5237,74778,61834,67040,43814,13690,65947,33809,232476,115258,181745,28824,94013,9510,10246,93722,81976,7217,114383,3493,16014,69045,72692,12145,80981,9507,6692,1620,60820,330444,35474,33962,4797,7053,295463,46445,27026,12491,77988,49524,35675,90947,29114,166705,101385,133782,32704,6186,84595,176031,185623,45966,151302,63069,1699,107491,947,15458,74452,196212,6046,10498,12163,10239,35191,243951,9277,9090,29539,54460,22820,26514,112549,60372,51753,48756,21812,70861,260326,41,44222,10441,16961,48148,138771,216194,5914,52153,53400,212036,56519,26245,10117,45888,15294,138019,90913,26368,43842,42111,23348,6082,194845,161089,156206,51546,11647,30759,302912,262094,8635,78876,26535,35283,54183,31183,85484,147873,12989,5197,6356,72894,65347,20150,27370,73787,1493,45918,12366,190217,20724,13858,10981,67449,81213,7553,14115,72242,271517,11842,48310,88743,143726,22177,3290,243231,58452,62937,12592,1654,40066,33477,13751,9921,128442,15868,7106,75236,83773,10775,36938,10482,170465,17368,17469,161508,32752,98340,800,19824,264456,3901,87319,2867,26782,9630,113102,185815,24197,44584,86366,40224,3636,140916,31731,267731,9567,53678,72984,29389,27963,17106,50282,284911,60170,8322,12608,23374,89652,5268,39044,229766,8869,151350,31436,177342,12269,183212,120418,116270,2843,78888,69192,7865,184099,1086,129897,18383,70508,20242,18508,229924,124569,35749,50589,55626,9884,83115,40971,30671,18135,14452,38861,17844,201826,5549,26413,17189,13561,38539,10679,143331,3314,36785,171194,49685,187713,67506,4618,104039,17060,195080,50648,33159,19238,67559,134840,28599,157523,17130,38064,117398,94355,31918,13575,34538,40326,13997,3494,348283,62481,26862,3603,104426,244363,153709,112487,304612,199674,41239,35545,54869,293005,28223,26277,26899,4533,18518,15492,38587,80488,70485,160395,263,60162,11382,222152,4696,250751,51921,182609,10707,48463,46243,1227,49111,111564,46502,33342,56846,68541,63559,858,139927,16654,229375,76759,26478,33205,95828,23399,92945,2637,35630,28470,143992,50214,14174,21456,166191,65665,1711,21594,78019,97599,111701,36,147151,110246,189022,43021,30397,40757,131935,42065,73335,48039,26596,28984,15102,2361,7421,202167,69744,43766,52826,3642,83304,33873,75140,63169,192389,36551,92748,13039,123959,233220,21738,84447,77230,20228,187852,19095,25799,92136,108774,29237,53947,2299,118106,2687,8830,42331,202924,33667,2023,73763,30704,19363,19779,16737,35629,48081,24068,101013,162338,291912,13749,24745,328289,167679,70086,48299,23306,16732,17801,43322,54589,3586,63653,43624,53474,925,109177,251316,43805,13082,19511,86565,142182,92461,17117,101033,103319,64589,4022,4351,235897,5352,82705,107142,46391,156084,5860,61365,10558,13045,7717,18357,33922,12590,33065,6928,46993,783,46937,67846,8952,26295,6107,119656,18799,17458,50747,4229,179559,112727,118080,20683,41464,125468,51560,49749,44231,7359,35339,62988,136487,67015,5208,29150,24956,105186,48858,6143,18097,6972,16404,73489,58742,97196,36357,164616,5834,32267,13746,147733,15113,132091,34127,106298,39729,106426,22294,9780,15602,36213,71502,42808,66802,599,60755,5851,39120,67363,108623,126368,72770,91263,32486,30596,151717,7951,52002,43103,11768,68942,40901,39344,24037,127500,116890,48403,16926,86750,17745,48648,159545,34460,58419,5634,114317,67865,31462,23352,24010,98185,125708,69686,68337,13610,26271,70691,2980,4768,27225,102402,75453,28106,8104,6931,1176,6274,6475,112635,22498,6176,238686,26832,28893,90319,14441,15682,15087,39517,45270,109134,104440,45965,47645,81772,7876,52683,87720,12898,4505,185665,2769,113401,15664,57592,105229,137381,97059,119268,6876,43309,33886,128363,35476,144249,67013,143587,83367,25703,91436,59347,53236,2289,16519,19844,46309,58558,99834,23313,218816,231303,36388,51333,183535,109792,139277,54306,90139,18235,8275,32710,37677,82464,86025,92204,88842,117723,37570,128723,234242,76350,73795,34896,148247,58424,11105,11744,45746,63372,17118,49772,199520,81902,38004,22911,33752,3125,1995,53792,4689,26909,108150,146062,69674,41811,161444,84855,8999,28561,16731,93937,3189,21967,24890,22943,1356,145300,51569,28802,517,118679,31703,40607,48098,108854,25003,10233,73969,177495,5248,24516,215347,146192,48712,60626,69188,40735,5866,586,101541,6509,47590,52129,5969,222045,110933,25733,24223,65339,62812,2414,155418,35819,16022,78423,43138,20995,128255,240673,46745,236093,72176,57085,97841,61248,107,36068,193177,105427,55726,215229,20446,47228,100420,87091,14429,121708,23605,21157,187721,21880,2997,203976,99166,95068,25877,7724,98925,83401,4829,13182,18229,13718,239662,38653,116505,153497,30589,89029,38962,181302,43853,78872,180301,4786,248240,7401,106136,112590,77745,19731,60880,77789,125748,135487,5975,48627,34084,12419,215770,47557,254582,10364,106495,21856,67539,88981,38805,21428,48732,42316,12149,16078,52808,25327,51322,33850,51147,12253,122354,46077,56483,254553,115417,81834,150991,94662,86668,7381,12841,100650,18218,15741,22372,68294,50705,15535,84660,61887,22553,72299,31361,24824,17743,46820,64288,31582,77006,111674,116384,30760,80920,86149,77192,51979,79691,60342,122805,103800,240873,160744,233114,78962,54920,8608,3484,316104,72548,24337,5088,230040,21926,10172,36838,26,86221,83458,102176,12062,17571,41929,41170,28428,68239,41750,103930,2634,18313,53019,34825,97837,63115,24606,73157,152474,14715,91439,37033,109806,140259,30668,174760,380,135597,95673,136073,65073,134249,13829,17279,122305,4420,46444,10237,64848,203623,70728,10349,182885,65075,24519,25783,40318,34139,22222,63394,55266,102764,41422,20126,65100,90408,53640,35128,48932,11192,38935,96839,34782,39492,19396,41332,6250,5511,19492,51304,25936,104466,54099,73771,86115,5080,7669,30891,111700,13931,25276,72289,135447,14820,258641,25265,31005,281179,75286,393,95359,14623,13584,6680,101227,80173,44933,76666,54542,13244,39348,458,25379,109451,134348,81143,6959,65554,12027,51311,8716,57589,140731,28467,23316,17272,30458,25980,55229,77197,83798,28302,114784,7428,34548,26241,14712,39336,103304,18928,54080,12870,334,87722,15208,16895,142098,114262,39820,83913,57817,28682,7721,14900,108672,11250,62246,42849,415188,1724,26555,24549,25505,26443,107450,145899,61035,43528,6901,60726,65906,267741,21338,147590,42079,18924,73017,135236,15393,5206,4026,84185,1531,5988,113890,82647,303391,7386,69844,71611,189865,76523,31877,13315,19314,198575,32821,1928,67641,25913,104475,103489,3297,70391,18406,15446,113347,19295,93790,27856,1792,167471,116449,8541,4408,41757,63233,25765,86680,64501,27034,24816,34975,6079,4486,49693,36229,16917,21581,62426,27862,11612,54284,35702,194034,355,24277,48262,87411,70504,310164,118018,12516,47559,43502,57433,107139,9290,66533,80863,14634,34312,91725,28606,21342,67241,72355,43244,375789,37402,174015,105070,8342,44167,67494,1890,16365,11723,271002,1865,47918,8350,45564,27742,25110,125803,8553,49504,81925,62211,4534,15491,19011,80373,206920,667,102405,128623,245524,5553,113309,192739,65766,19567,22832,261958,29679,21293,71134,20962,105123,24721,860,21752,33448,18372,157167,94822,35770,173224,232737,75729,28937,46828,28062,25453,5207,140366,36665,30652,6169,67920,150458,92040,23186,184604,92330,20891,176492,49427,27828,38305,42495,143982,49560,25503,90043,29747,65328,47830,12932,11068,77721,9003,25213,94205,140426,46090,89945,138173,192691,33329,112232,129905,35709,27514,1841,19957,31411,127476,53572,17497,173549,55063,175135,19841,69314,5192,237921,117660,150697,4060,273045,50414,98940,65348,153665,164423,58804,156695,48994,213928,86036,28608,8355,39574,34540,16927,135680,18374,151587,10830,53805,16878,16623,4282,48030,8537,14986,46102,13062,72897,72,33050,108227,39451,45935,651,113320,40535,95176,57450,48843,5003,19019,10407,211163,3848,1068,4988,32091,30095,41692,15099,43602,107434,50744,7627,171349,16313,150832,352665,207750,33937,38256,51091,156e3,87889,90663,84175,24908,114900,50365,31494,83829,5398,169342,47521,54818,18935,8356,43094,41212,174536,10082,92550,6678,60614,23355,69721,14796,34149,128830,58187,3179,208,40325,28399,225029,401412,51150,31580,207268,6657,10993,69818,64282,289845,23308,12961,38447,6681,52944,31855,2572,47646,120728,179148,37240,45196,218274,4816,3695,21961,50084,35209,18073,51452,27004,6100,33941,1377,84831,171214,85,141510,9078,99227,32610,6417,11718,49868,65579,87902,73018,49062,46280,61742,21512,40862,107733,15941,29168,157765,144919,14487,5767,158014,140070,7241,573,71584,16921,223566,40331,179473,35081,47926,140885,41508,52104,59180,42310,32811,29048,123517,102413,80208,10104,14746,12649,153641,126022,37965,113017,4171,83,142592,2809,6362,50416,71323,116894,260776,16204,1524,5760,30351,12658,20703,54403,36083,45408,74772,4946,14485,50759,111222,10890,2195,167147,92962,130534,16283,177256,35016,15472,210156,151187,73922,117691,43250,52051,37392,24811,24358,30830,5775,818,21969,1476,127322,151783,58392,31021,106913,65215,89407,90802,28531,11690,20234,95249,44602,37256,18707,11928,5161,4410,26571,51903,49768,22008,25252,65780,209499,68769,203726,13249,137363,48845,86823,6658,5674,31881,1083,1823,108676,34518,166752,13791,14287,91576,91429,8665,11529,26401,16191,91972,30964,5254,28486,54697,79613,66520,18447,22870,45203,194466,22822,51703,12278,76716,44595,73455,33546,12235,144843,36154,51247,11116,33040,3180,225753,60864,1972,28469,12891,28879,10338,144157,56294,353058,38302,41447,87532,110616,27065,168438,6557,1213,50804,144643,24817,2390,136531,38174,247513,16190,4059,122791,131994,137430,39506,57650,16305,5188,54309,106128,20628,88071,67394,395446,250285,66176,91254,1399,114196,43915,60230,44853,27206,106353,43013,18733,345105,226453,51202,16607,57106,117175,35492,10476,89598,127439,15187,39624,13688,61570,10615,31111,59370,6238,175252,32143,224492,41388,95408,34384,148238,78307,38959,9340,160091,61443,15737,11216,41244,170,38299,102443,113097,26382,14027,33707,3957,76300,66160,19431,18900,6952,1717,108656,82206,188021,257335,27295,43999,41210,31777,46956,57457,12657,11489,15697,48060,204748,53583,82422,284790,30503,137341,8120,19615,220311,15991,10217,63424,9808,67431,70976,98221,4491,15177,28535,144789,751,13230,2394,1504,33977,132104,30316,22230,931,97193,185240,24826,22687,174322,15307,22988,1390,188745,180325,29580,59068,74903,18994,29195,79,15436,7622,38462,11566,138710,44828,45774,37768,99236,68137,84083,19282,22698,17134,74807,126662,173497,46248,16938,119735,3212,28292,213652,49013,9975,32180,45660,86250,4801,68788,95490,77482,113751,11994,44624,94452,46839,128497,100316,5798,58588,73184,202987,65417,37790,88524,1606,43156,97964,105717,34947,11203,100060,37742,130074,93653,107799,94311,196106,41347,8035,10780,16390,27883,118236,167395,1979,25006,19375,31628,18916,144723,78502,114047,103107,86492,107686,5844,20934,206963,23556,22591,16562,146333,20167,10471,117434,33085,2863,9740,36669,41849,37271,22790,18209,28979,8231,12952,54408,21731,25130,45208,55748,138120,75826,414,29593,9925,292865,25999,683,123149,7036,92159,86055,61827,103680,23176,54918,58466,57578,13305,5709,86479,16697,31064,17660,200919,10770,49793,33423,32370,52047,16488,62555,6459,8426,83493,7763,59725,82812,18628,67760,79405,68557,9612,7673,28102,56517,69620,171797,32458,29541,15870,81109,32080,207644,71495,21202,11039,91036,61230,2810,130800,32260,4613,60590,37112,75214,33979,126402,155062,30642,63875,12810,194463,82799,47664,16725,36685,43367,61099,449,172150,102867,21691,301838,36745,7130,18671,57316,34852,38034,54182,35578,65900,99486,19771,3456,2658,16914,99866,28390,28109,8262,21147,34353,20006,4228,137085,1675,203023,283196,198286,214375,163329,290603,152574,40471,83506,30068,14730,23177,131539,34759,27668,32178,71896,104799,116305,85430,119262,42860,25160,8911,23428,49437,105322,6519,16203,6349,74711,1230,38045,8540,75165,44736,25909,51026,317034,4984,32281,91312,27060,44431,17817,45363,155937,239085,35697,59784,91993,29531,126740,213757,76560,167776,285273,24262,8237,65030,41160,74437,48804,118916,13159,37842,1031,75349,1478,11655,108777,23435,277425,101734,67469,70231,124711,43532,28514,65526,54956,1e3,21882,17728,25302,40952,52214,149632,1999,2111,3259,63362,89961,220561,39777,26335,9063,10572,12416,34551,34623,38604,24723,5947,15588,69927,66252,119177,69173,46629,28714,70715,212408,20521,406913,74380,11716,50659,50862,37009,88460,130101,7210,53853,538,65120,151950,55806,163748,52837,13153,21100,16674,64536,6091,138201,44837,58547,3723,163,2177,32288,85454,34033,8497,14282,25742,10535,10741,79559,117493,243787,49337,100718,79495,40139,42956,7551,55433,15421,31509,23034,45081,547,61176,53434,328001,8470,36263,30145,4519,74173,53935,11845,73774,60211,78025,3,4102,73782,109293,315332,48412,26683,13714,6865,20128,18490,104141,325,39470,171970,115860,15707,7268,73301,74336,31370,2368,111827,107757,136231,142844,97138,96638,84053,38691,23801,1588,10573,122098,77039,240,186135,146101,11996,18143,112963,46171,155836,348769,47795,121213,116266,132515,3344,144804,31286,99187,255838,129694,35894,48779,55235,148582,71967,65282,15174,13920,47080,6147,108242,157593,125025,7136,1286,28957,127956,28402,98813,20805,7532,109417,40610,5041,32958,15142,18408,108596,33543,50517,27748,80114,233434,91447,487,37094,100048,30541,43477,10639,89862,155868,37667,8726,60684,237903,73408,99589,12190,38739,97348,3914,13594,2680,149016,13907,30171,28343,23530,115225,61104,35821,147679,14337,4297,244282,24085,326976,56428,7851,21303,131620,71446,83253,68692,111870,5224,15813,38197,49026,45057,13660,3306,76345,40671,27905,91072,996,68527,62085,91351,122634,55109,168209,2024,27560,112707,17352,8306,167115,169921,166958,5031,46020,11844,67284,19130,76185,6920,32849,5450,14610,22451,21002,17392,31872,66682,84796,13709,40210,59898,12029,8719,53564,21462,91884,21647,88379,194428,12754,37797,132826,160016,22567,54383,53186,77611,31107,8339,4694,19185,90355,23597,17222,140675,28442,23668,55977,9128,61555,28774,155229,17658,9390,24379,69357,15752,127381,239631,62460,93181,55913,45133,140155,18676,25249,33164,29581,82837,67223,22362,29975,7317,52813,1943,29613,20012,207130,49617,49651,5636,15334,36313,29226,28084,95247,72072,19e3,224932,15811,114,32127,38097,37508,88507,37225,27359,91626,12193,69279,20608,11055,88156,92808,2152,57259,55275,72789,24475,104414,1708,9882,3818,48661,66897,1631,34806,227930,85815,87753,18321,250664,72733,25107,206797,50891,8082,196411,92596,96764,152823,65514,22819,387277,62176,51225,40329,15563,189,3659,73670,64357,51793,275136,33482,86653,74615,67058,11318,125720,15388,22388,8267,1730,102663,170910,40784,7144,85373,13040,7088,94309,583,44224,140424,77439,18496,164026,36578,4722,9151,5824,63365,26510,35199,40500,79277,32495,44614,35233,9566,203293,152144,7097,2330,183480,98629,13423,330887,44130,68600,30939,97829,31012,345465,56747,94879,4939,160027,149761,99423,46099,32251,15332,8761,96094,128555,5763,235318,222223,55729,30241,55420,201746,3987,81382,8259,49325,23287,7719,24633,251100,92311,18591,110533,64759,170260,393860,7175,21144,132887,3593,75346,101277,91109,16387,259187,11627,57459,173829,44694,55780,49797,89192,120443,62622,3904,14814,23887,1027,112258,64955,99800,11132,66353,36202,48624,18158,88481,96882,43059,11040,2455,7077,21651,181159,99126,100434,61388,68186,19161,110468,120052,8819,55324,41494,7014,37689,3618,87729,92615,207943,9823,128657,12587,15857,6379,67628,51216,71775,157617,63244,1503,3864,218754,110864,5769,21492,7243,1192,87921,85529,31512,18537,42698,35350,73510,84474,34301,8991,21013,35034,566,38832,19838,35586,37216,39413,55006,12178,59742,856,84563,6900,25632,17437,49786,30723,13847,70845,4044,7843,23944,235976,55530,48942,6518,20939,73769,192653,52936,95207,23895,132542,142982,22632,87452,48042,54018,178468,10728,26230,23559,363,81269,142012,5718,346258,31456,84333,246476,51018,66692,101804,120570,39962,30373,70593,2864,60541,19425,54209,104092,7201,31545,48018,25865,15442,46257,40443,8328,6451,111782,47527,97754,33046,470,245116,31095,39,91934,87208,73470,36708,36521,12801,70624,36272,8892,79768,12427,55454,103756,5908,52390,62962,22720,141138,94634,41689,128402,126390,6628,106394,35527,134394,82727,254651,194502,148064,89549,3202,28359,957,21954,27906,49840,142747,8307,24206,48978,1186,71728,133038,71474,91306,6333,110959,74600,70387,18983,62609,56057,22970,1147,135850,1321,28834,3578,59715,102227,32827,81415,99952,55636,257598,390,22702,35701,85872,402916,39216,189795,14929,19467,10112,144422,61514,5279,63421,134686,41436,8424,51925,10598,132295,124416,4604,194739,210929,57866,31829,51626,50007,9976,91878,61906,56168,81906,60918,61859,40017,23059,16887,40927,62064,12785,32893,32913,21782,93965,20169,44387,79084,38463,11457,93950,27127,157050,2697,337088,5116,54128,48255,33279,8821,27352,25515,124022,65710,28906,38557,33390,1722,104435,72215,38551,12094,30978,25113,6671,37355,175109,42862,98024,65406,221276,59624,118012,64637,78760,86697,21426,1639,40350,12584,67193,84144,31396,7863,143011,69629,63112,9454,28666,65798,46372,134721,6314,51402,30837,151922,2847,38676,38008,92823,136245,17540,5504,109295,205242,37606,5211,214892,1586,20670,208711,137743,19328,40652,16995,20023,14657,154919,34422,12996,13918,38221,47690,16398,2959,37680,89122,6721,198469,91876,172043,83898,101992,26084,94570,3635,76958,22853,76497,38266,176590,168403,44464,142840,79180,184594,1984,41806,83147,11985,6546,366068,59732,24533,271505,8736,39084,222992,93429,28962,58985,86665,8432,30028,14548,32439,54424,165029,55175,27458,69046,121277,46168,33732,20661,24581,135574,123110,37556,79260,72611,16957,12939,46162,58238,44907,72936,253758,41324,32518,96480,11949,124438,65280,43256,34107,53533,43531,37037,28366,45970,32741,173438,6121,194202,62969,26355,30314,58370,28455,1848,50519,82830,90393,21761,295490,10936,256940,133568,44050,20269,4089,27457,21610,219460,36743,14821,101388,52005,13124,30979,140816,167362,26054,18458,60789,34917,40447,26606,33422,9066,3452,83614,5761,20263,137238,25038,91310,101,52322,74548,42572,38084,214054,186568,31802,17665,30620,141936,37730,14420,4265,187218,49640,188208,51441,55388,96452,66659,40869,42039,60967,221027,19234,178581,29105,96050,9165,196118,157335,3738,40354,117436,2965,34136,59659,15570,50843,230035,31444,71260,43886,18316,5387,38500,168508,17406,32174,8828,103373,143806,90367,3560,18719,122310,16508,26719,2541,105429,6645,37998,73190,10591,235916,49737,87112,233941,53188,32193,79154,4544,52905,126477,7580,63501,57314,3216,31337,6541,103083,60846,49,9756,15481,1355,43840,14319,13743,27486,10222,73114,230718,418644,16706,6674,279748,23058,45273,295831,86306,2743,5535,88773,21829,35253,120938,31153,3169,16839,42847,8751,80974,33942,36867,35514,16485,26474,77775,56877,5391,48346,3882,108713,31403,27804,55248,26235,43821,136104,40118,175507,28034,203908,18732,1788,34030,106427,36958,54359,7251,44936,15356,69139,455,157915,22173,140291,50348,43275,82066,49621,54952,15216,36226,96695,66855,6936,1987,8227,196087,4631,68827,99004,47541,110265,17953,147605,110242,58520,31312,38724,329975,642,3155,34497,75937,6207,73843,6120,17249,51429,117746,3218,910,68961,319671,14938,29555,34700,1649,66673,72268,9655,76800,153087,6941,210168,27130,35398,1780,73242,3135,56689,19556,165307,8765,35967,121458,13333,70453,17350,117253,22265,13340,44265,39869,441,3742,135025,23581,33309,16543,17731,13291,157637,283005,21408,101360,63887,52312,83873,5338,233779,23759,186949,34531,177320,38069,156465,91004,19353,59852,68160,14891,1338,1072,29823,1950,28901,81407,313445,73038,84807,162348,240257,37162,138934,16111,58013,41253,102951,16457,96056,19541,56402,67217,41638,94381,89674,29481,37456,80815,151579,13937,13683,132537,19699,134545,67020,29816,222341,141235,427578,48868,129557,233342,23077,87871,16213,18728,16184,9469,37913,19680,2798,171356,178328,13216,50049,72690,71904,124644,55455,7504,29052,41036,266546,19899,30391,188755,8659,59469,16,104298,112943,53865,76203,138226,68857,139953,14125,107625,119795,173133,4398,50273,48808,54390,16466,122086,31835,67035,50971,48859,7508,46427,66477,73021,84615,39985,83076,46779,201569,53336,36443,60865,168164,143810,51393,25548,169307,32896,24485,38424,21837,29087,275813,51674,6714,64883,46169,187369,55186,76192,12852,12018,62134,31067,118303,16542,12125,10579,4928,26291,43854,7091,10946,253716,109062,39283,17261,113012,258512,47764,125126,32646,55892,80279,201623,149872,3192,385,1208,48750,5376,58738,22335,5427,82416,47811,32435,143086,38930,94128,59975,156037,37977,38224,62485,7698,50405,71027,16462,21559,136153,34131,107506,162069,63703,3101,215029,40407,4178,3774,9187,80019,17880,97926,67579,2600,18405,8351,47924,86638,70820,92206,86453,29610,42241,119200,3198,15466,67813,57863,35454,4779,99518,4649,104641,144269,33730,38073,65864,6838,109456,193298,154007,5623,45741,30846,182578,25573,157224,1543,58575,138703,146140,44971,49356,18275,59064,20300,13122,11848,24453,11973,9797,86843,2919,25530,49210,1130,161220,76788,75373,85604,34926,36014,17777,17255,51533,11676,92226,51845,119859,21525,5936,18507,28050,1140,31418,14857,34207,47859,10750,36382,32079,106909,59426,87757,38393,110042,15965,97104,33757,35344,97993,53979,33651,45407,41884,82515,173089,7177,58371,35365,47543,51927,35587,10670,23544,29306,84233,39976,76076,62097,9007,8668,28119,78281,120790,19835,143020,54968,18670,64959,20649,34469,42570,33001,136570,87796,120044,1106,58700,63951,127623,12805,83057,40212,31773,49850,7361,54336,347524,101314,23751,19569,48791,29174,49369,20467,7465,75842,38281,623,112457,60210,28849,51003,94720,6426,90047,85560,43761,3579,85105,34607,90410,118528,7224,42907,111163,18168,6960,161135,191298,5247,100584,127552,171568,20121,91173,12636,54615,20199,63730,98105,2396,40387,14438,125012,4765,33235,12865,45299,37728,82098,77872,114037,59253,19675,24838,398016,102561,11446,17069,57508,178277,65836,99941,26114,2585,271882,136866,50126,11027,155648,118367,14585,8910,123015,335383,40434,41016,53021,14439,87098,176860,201543,121888,2358,9286,5739,22666,54270,37884,169381,33984,93859,16124,89364,72207,51639,76366,99029,65812,2198,12147,174891,194289,6986,30252,88822,21284,11445,288337,160821,33034,100869,43852,25761,52882,1144,103809,1924,84458,86079,43411,13542,139276,18141,34978,41298,7276,26481,173800,33210,17951,142652,33616,33677,2210,19941,98568,2486,192414,80136,12058,235883,50963,249638,29572,27221,47034,6124,72107,63346,97620,158513,299699,40388,23235,37176,224244,198386,121323,67992,23827,63170,17838,106622,158590,26807,5345,23489,91891,55474,74834,37981,13058,5977,72552,34706,26828,145172,19904,21367,34043,960,77092,91381,4733,47446,7680,41697,5170,16960,14741,46101,13656,473,51842,37433,11103,11551,121951,13191,97536,165932,50397,51628,129028,9069,44885,6590,59195,47045,32940,225472,90345,21833,13303,29407,96615,141951,5198,6028,18395,7181,3861,14966,156358,167182,36529,55253,25942,173153,30959,27261,50691,150176,162201,38467,48462,80602,42163,118482,168,108756,26011,17166,54149,456538,22512,91374,13816,90358,131615,18132,226707,1824,28139,26860,42253,93877,77351,65575,8980,80574,22020,27948,40422,91324,76376,13528,39281,91685,82215,122541,144066,1983,193851,17283,26320,2739,194978,4790,26845,42627,61300,65815,174612,55133,4200,191130,79771,158321,52280,166796,221620,62461,11278,4067,88152,83409,31717,121367,13522,47325,37945,10406,174348,249321,154101,64912,29938,51775,17220,15776,166138,78890,84425,54121,42861,16368,24572,291647,10197,32073,22651,11677,97509,26952,35787,18424,41910,71614,94977,72318,41594,70024,275419,37702,60199,7335,39107,61315,18271,18394,33768,87884,104277,123724,7277,56288,71981,189803,49320,3352,6798,14240,8954,69220,94433,57372,28620,68863,193727,85575,42309,41667,67689,42081,22543,44824,12719,28540,114236,101553,27638,27296,4300,5353,4663,19379,94098,3758,95888,95144,80344,87320,28447,259518,12718,71391,152731,37063,24132,31911,104896,15672,103782,1521,4945,72541,23717,122632,15619,87175,206120,29428,189780,61416,28350,44457,972,1175,47233,198738,95789,41907,21953,97034,59341,22864,53713,16873,32971,20693,20954,31336,21477,16169,38370,16412,9019,3841,24599,21938,17085,6484,81198,76413,5849,72514,12320,65247,276175,37234,59796,52642,16312,57349,198507,94148,46134,18958,125552,1747,18725,151873,14901,5490,68287,29470,3689,64794,40814,26018,25692,54450,2703,88278,124886,173087,174e3,24159,179477,24276,46004,201876,209202,445,52876,31948,30206,157610,39180,18439,44124,50469,5774,96278,222758,200216,50290,45486,20435,46986,46276,140133,142326,15569,13363,47522,92583,2182,7135,16853,22998,30272,4952,63263,35623,39096,53789,44864,20053,110392,124213,4630,16087,28221,127787,25839,77481,44693,13464,113146,6983,27069,55717,50102,4760,7107,26186,66507,59145,36032,104182,71328,29425,64317,50781,47465,94298,69706,74899,22754,120756,25108,93077,56834,73286,39928,16218,41699,176763,7555,70819,50083,26895,23315,26014,16773,123079,41712,5719,31516,90427,158540,85051,183128,40864,27505,55392,9058,45224,96857,30901,136622,96557,56304,120061,11501,151448,5773,89743,7769,86069,2935,18471,41628,10114,33660,110170,49479,26745,92846,33221,26731,18795,87076,8550,2100,29972,120289,3077,72490,33784,2630,208722,50861,63483,79029,6419,39467,14302,45286,64207,9686,67513,44170,1050,77246,59266,17055,53801,7150,11111,42432,4278,94579,362117,36175,42902,41933,39002,98489,22913,74161,84773,57036,17556,162288,74485,178760,93867,73635,128860,50362,261,67455,80001,46080,35662,4368,25247,19230,74393,22588,1822,27682,235324,13798,85998,13194,235067,23514,71669,147632,23191,134748,214683,105101,1518,25489,247114,7380,54842,26922,3971,26361,20844,68642,170517,77339,123255,8963,77818,150998,48466,36806,2732,23261,11741,236162,18243,126216,28690,50546,16385,92760,197383,246558,201295,88255,67588,71687,176076,172653,169058,33906,63747,24835,157621,43338,30050,46152,132741,2770,51371,94835,6614,15112,11749,56936,1250,19027,399017,58036,100215,23388,55815,308768,124152,94803,9521,64186,8971,28,30427,62163,7616,103838,35079,29203,131235,7743,17389,10882,37420,61460,228512,85363,41581,131077,62822,119647,10130,54445,26925,19968,29016,24446,74028,24176,61448,67185,9254,8563,119129,9771,99184,37716,39514,10532,221512,258753,218630,55980,23394,32141,61924,66749,32411,3741,36475,26678,77010,44946,91203,128749,116953,20476,49625,53116,13735,102335,29376,51946,83407,67892,59212,34685,21083,1546,112982,32972,74397,1078,190545,16082,86140,58591,89611,101531,10061,105104,76319,20035,17551,52611,169061,190842,100780,23907,90413,115619,9675,34710,193435,49443,129734,11183,258877,16318,136182,126808,44635,27304,192375,2599,125648,47051,12091,23814,721,58800,40137,66726,97930,60877,74487,7942,54326,9841,41428,13762,8211,85383,6950,99177,79806,201786,296464,124087,13144,29741,41721,47634,55088,254286,106408,17041,99064,12942,64086,45233,14005,2612,55827,255,7984,13980,38574,12776,46654,73499,249951,2101,26676,25996,132326,116415,119062,50449,31033,23038,11589,179252,20007,14860,129270,21143,17796,144715,60106,70758,69842,34674,282133,44014,16774,57268,38528,24053,46373,201667,28327,471023,51889,102667,21193,114909,84132,69317,96723,67969,16134,68145,15058,28765,32035,2524,101089,98664,25045,76571,14957,86040,118506,262428,154764,81573,39681,283900,73287,127825,544,80448,52347,38512,175971,15180,45467,33086,46552,48894,81107,43213,36672,54025,76703,8053,7608,13299,56619,20752,238099,54164,105133,1444,32942,953,37564,8e3,66316,119463,106817,404,13667,149108,128597,31267,10269,49836,106150,1484,52330,76965,160486,171648,38456,31263,22424,37738,66245,67467,143369,60471,75610,20895,115528,86070,60854,40796,49347,18989,15030,11371,37578,15779,79867,10187,86462,46402,155626,93200,40229,7090,57547,108053,99598,11088,47505,41218,206017,2173,20988,30219,22919,80563,57566,42369,93141,41675,2407,182519,120495,27154,16702,29456,14349,7958,16688,117177,140375,42467,261919,74916,153569,10836,34742,49526,7621,105997,12212,2270,392377,7755,17959,25086,232152,138791,33847,13860,35316,5811,1344,71259,50452,207539,92635,50359,5821,33674,30255,2086,2587,96264,17543,42,6029,9580,43007,139248,82831,12917,29607,25786,51467,42137,85161,100698,31561,88989,121990,278500,3602,109344,37982,15279,116442,28936,30880,87894,58079,128661,126731,67392,28051,146885,4861,16216,97344,42827,147561,153948,22684,21335,47685,1853,43349,15185,59642,10229,25520,187921,108972,5579,98037,24945,6697,19193,63734,137934,75056,89740,19767,224268,56138,63643,151661,39313,70618,84031,89723,84074,13703,85626,35460,8867,64845,3439,57906,99776,63968,49270,81130,34356,16210,23547,36446,34090,140028,72439,2221,22163,57058,363492,113754,18913,95451,48663,54464,54037,176097,68425,3023,34906,29482,117389,341780,80431,58330,16753,92616,60907,94846,147486,4498,48646,7773,46801,7778,18946,464978,47558,33223,177444,7328,15626,63337,94700,11743,9351,255024,39098,16447,42647,96230,39769,58840,10068,63439,35800,65843,58823,413844,9156,51258,7434,61791,85018,6872,3692,28096,7121,33024,6009,75532,31997,192535,9661,3304,9547,14753,31987,25314,55689,15896,20430,39472,31340,99744,25398,115569,54883,28719,205423,23071,57855,64638,149867,25671,82403,37616,20668,39989,77996,74948,140555,175248,64810,36515,46595,4958,248773,24045,28728,136673,168704,20804,114833,100325,27135,21205,96151,153134,45992,7093,13992,76047,1980,19432,145001,75159,87462,17710,1013,45556,34297,144882,20648,26061,11319,129567,108555,18872,464580,33386,22717,65948,167189,5603,135042,79542,8801,202632,18114,91882,5973,5239,67315,4431,60916,47819,71693,32597,32606,18183,45072,80329,76385,24749,51305,40314,156514,14693,130345,13168,66214,18029,12858,34801,27628,14544,10823,40522,40185,33739,148694,23548,9923,61012,28859,17933,19442,34364,99849,164107,141167,30629,21054,6744,36491,8096,42474,41706,155060,30650,10600,163442,1143,96655,61390,52359,7559,51568,64256,203854,4467,22453,14504,436398,7878,6980,8293,63610,293747,16167,35763,19627,147603,15419,18032,110744,51346,33681,54571,40472,48615,39073,21604,13754,173027,92560,11083,47299,63062,11813,52007,29883,9734,139722,15953,1550,20651,13616,49306,16113,90089,92326,7584,30712,72424,164858,6831,152871,55746,197721,34167,196442,6022,112107,55215,7538,123381,4920,43539,77165,8939,50392,34192,20225,79762,22505,58667,40770,29788,97180,82835,4568,8579,13273,363569,35898,49983,436,36598,3237,131691,62418,35591,8101,4073,379438,65218,76072,33887,2968,27573,212619,288680,68278,72851,150504,217896,6913,121339,22017,35340,51072,43616,75043,31437,10833,81487,4364,22968,41454,106687,85446,19863,109625,149241,524,141850,214404,54376,657,237023,9401,108137,53800,32474,49712,53334,126876,27337,45552,177696,8269,15036,12097,42240,2328,125374,119295,99715,2500,19624,39441,27220,102691,60957,94543,39101,18566,67362,13975,78230,25017,34017,239007,90027,39351,41681,35354,43822,1043,916,58587,141983,94818,38799,75459,41114,67432,16195,36606,59568,22272,126769,31424,68659,12287,134302,257977,5756,207285,95637,47248,117689,19583,77451,22373,12200,54993,117118,34244,29386,34562,53819,71267,64172,77665,49368,7716,59301,25749,45426,194789,17297,2650,1766,32501,45198,20403,20984,6600,14171,94604,19037,5402,29896,9938,59935,109708,88081,145182,44844,39167,352626,164173,35374,45982,6122,154,73419,220487,53834,53601,17992,8609,229321,5610,68098,66815,71012,95069,140968,27396,8957,134489,24656,86659,56598,134852,17316,123838,255436,6613,41610,138033,81452,32023,32396,123687,63398,8693,29712,30407,19296,121188,3551,36099,20032,111948,56624,16547,27453,35916,15378,52039,56849,13489,22214,73177,53097,277349,2157,14029,187886,10260,141743,246460,91880,50869,3788,49486,133566,54950,33120,129337,53768,18333,9525,26902,312251,10297,9020,70759,16647,112432,59260,84609,9818,82766,73569,468,46001,75780,55028,52106,11498,43645,108069,17150,17753,29417,16705,31799,9606,289,122254,115975,8620,6133,255357,56908,14456,133464,43554,79224,11247,29630,160,12756,25464,65960,350428,62521,321796,100359,67358,35169,46172,113128,48988,88868,31094,33266,6847,60887,98188,49659,69117,92977,220228,13947,80181,35103,62170,97351,13475,2440,199768,19498,36597,46971,25234,67806,62881,84717,73648,181966,10488,94149,21550,26655,63436,48375,14405,165650,9621,24439,28043,42735,4490,29963,56674,45373,1934,262446,50855,67098,26898,5261,52696,40644,33900,9440,180286,87162,22940,19704,26936,69769,10254,101759,27406,12243,48e3,73926,113215,54935,5726,192787,4312,106216,9366,11550,52949,23457,212271,277152,133895,108374,6191,96477,29980,218916,58024,54696,40853,91124,65894,91170,65908,252552,6793,29212,15389,44516,122515,52617,35058,9017,103536,39510,49136,19242,130652,662077,74699,47024,31422,8517,73351,24399,13867,128360,4810,4434,61779,111983,61036,17798,110240,59722,102960,39688,10001,23803,23039,176498,56659,44814,134295,17188,77577,74466,226175,102472,154333,63900,111747,18062,41171,79669,32773,408933,42562,28931,30907,107388,43487,2946,240310,23938,24354,319,184983,7927,6488,1422,10790,68809,68209,64775,4361,202,17123,59634,51200,44391,18188,17843,2619,74278,3230,9540,47187,21702,36274,56894,43907,16310,34790,16866,6150,5561,13587,107545,108873,126867,86986,28640,33427,19017,5762,80637,17430,46903,2047,131055,25958,13558,5444,47152,13900,44563,122857,45348,70863,39593,54332,38068,33637,318,40310,143467,18502,24520,11377,62013,28942,27246,28269,83545,17999,59015,90707,30065,15161,34720,1263,37008,2012,6060,98575,92933,5721,299,199555,24578,29223,2985,743,115825,109523,136657,47454,26378,53586,3733,174945,93340,244456,5693,37386,28782,89767,27545,23573,18798,136425,34320,84778,20041,48453,38215,7477,71958,40621,8773,5874,187927,105965,51100,43533,18083,8443,10180,43597,2003,183999,69689,12216,129696,146188,62389,34044,68410,12765,43273,26949,266807,3345,34477,79197,5688,47539,213110,21634,22257,50092,32222,42346,39530,63668,98,134978,74022,5152,59088,174145,37220,9934,9545,118937,5724,87240,19875,15784,40143,23263,87513,181654,285152,37881,263241,4966,43934,10433,186657,6470,74416,225854,25908,142677,246262,32280,6192,75890,45546,143264,135305,29742,47013,77787,11732,126658,8763,37950,21806,57557,113464,89465,108995,164574,23894,22996,23169,15369,23117,17642,130607,40503,36239,280990,44666,9981,40427,147487,26869,168452,32886,32991,46798,240839,15111,70502,65697,88548,44145,28701,48767,31139,206777,35659,181164,166262,14554,171445,31786,66523,76607,17956,6507,31279,90476,116611,167918,6560,1243,115324,80128,41867,55897,187323,37069,32596,189444,145931,13390,105530,65709,26805,6999,55714,41300,22915,68951,22138,21120,22264,10058,19945,33635,56123,99085,10032,5818,6016,46649,57476,35264,94413,112522,262288,93686,83038,14341,23204,28807,66084,77987,6101,126673,7133,38126,5923,122091,170240,97772,46874,215746,43948,41622,3272,55596,8332,146411,251315,13533,8561,81521,115449,48616,175175,2063,186556,3036,134537,75772,29728,82360,22973,186559,86348,89100,38388,82297,45610,2613,87082,9986,177812,57884,23591,47485,42543,33582,44713,74439,257444,252451,31825,35631,38540,33066,5147,13973,4343,51830,70378,22827,26448,95560,36896,241741,48067,203953,298860,61620,20450,3220,67272,6586,107662,100160,108684,6929,57226,4762,7457,1320,40404,77204,99309,62750,208653,59977,44e3,74315,34332,5819,172217,64904,114077,18147,84012,1791,98456,90930,21446,116669,103938,7422,85140,59713,5768,326211,16239,75411,13229,29398,10758,236107,1539,112472,95979,152154,151294,306,21196,38146,10700,6891,84282,109646,56492,40539,6589,119491,51354,30685,140209,136906,29622,73617,49553,70525,51671,166869,139616,74395,37439,49595,45678,11959,33211,86560,52434,9282,62690,112155,130810,5243,108261,99970,265613,72551,80049,6391,33365,90721,66737,69872,87011,1860,9032,112544,60905,37371,89015,140351,19076,850,373531,2802,36725,218795,72062,28990,16550,24614,7815,6187,26336,33373,32162,42791,73555,32062,23386,10244,56392,49442,27076,136262,12412,14883,1134,33675,97153,199281,15608,100152,74072,47942,254301,36451,16026,10687,65067,56708,254030,30290,50490,13864,57941,259331,35588,23485,43486,24869,21620,92971,22072,88645,1048,182050,13343,32452,14825,19509,3325,216938,45740,99716,189082,53740,78245,25609,24311,176777,47340,308354,40669,66085,14102,125339,9225,128709,97207,1271,200933,78439,113451,88975,18324,46521,11819,18570,141756,72512,170020,52754,63550,118515,103073,93330,32736,50499,14722,31600,68452,398867,29316,172786,18417,104924,2606,5670,84818,16288,67106,59580,82929,607401,291,85829,359,15897,35830,50696,65630,52672,22115,356968,29895,40837,231192,34024,38957,26722,406,23335,124952,72068,68804,13268,147101,164740,276569,162596,66943,11569,26654,66358,4777,23229,102127,5848,978,2921,59666,5371,28212,90108,42938,39320,2499,4271,108792,33510,125072,71653,65239,38250,66357,38577,13964,86251,35708,50755,36010,29448,12209,3844,38222,206337,100876,67827,137088,14167,252225,84163,195270,1306,5703,54198,779,46802,22028,51124,86759,70560,113164,35685,162145,45471,34561,422,2611,6464,47486,19223,38246,9191,18331,89942,243642,212364,15893,17518,22617,6409,30046,126182,59716,36560,104428,18846,26592,19458,50793,147333,30826,1388,27647,10922,14495,33545,19269,135828,39727,41601,46931,233379,49169,131130,182112,16276,82381,118209,142445,128310,19672,28740,82907,33436,3118,102206,28723,24819,41937,38854,5157,3881,111491,1142,9776,421673,152241,29309,14961,87854,6054,15424,3796,82656,54996,2108,55367,239450,154525,9643,118103,106041,64601,68549,48707,30266,25772,18740,9462,229669,91798,112152,191327,14493,72828,8175,66636,236474,25817,87351,129027,76653,20422,22983,71240,27846,44661,12399,46158,77704,53101,35032,11072,17300,109294,33638,24408,1895,11241,760,17584,82479,125877,63150,141075,34259,23274,81698,15732,43577,48340,91584,14688,16379,24481,150280,96420,262050,48635,43727,61819,56268,72003,88178,17281,79912,13218,122519,125295,166396,11811,2171,118930,67746,17636,178278,174656,95661,173039,83845,79689,17473,98555,127696,203415,54730,22925,232239,9309,12136,175026,20740,180188,10747,39816,314017,266131,10040,175732,112550,220651,31974,37393,888,23008,86799,4303,64905,148467,75337,251,3284,370102,50264,9835,5438,23655,4481,29851,329,12855,7162,64931,78141,12804,42372,296771,83547,18624,34874,86271,3360,48665,77735,88767,11463,63527,28889,22258,29140,194315,113924,25499,6406,31334,1845,4802,49184,43455,35469,127594,92970,61038,115005,38840,87761,106838,8811,20572,55637,11162,96721,132425,108925,2948,125457,36356,3502,75270,27622,127192,2561,123095,49394,61155,16897,110064,9699,89448,53356,19628,220310,21622,83036,9885,112214,6087,26713,17901,161912,91492,3440,68594,9266,92238,8087,6866,150194,72175,80701,13459,31836,43243,239700,95846,44749,50647,21945,230538,120612,132371,244604,5193,105637,34661,41341,68775,85393,1874,8771,33718,49672,77403,595452,99507,6490,58895,128742,7704,39239,73217,43816,62824,37804,199976,22361,80005,87514,94832,14089,4574,139975,59142,75523,100268,43906,53442,15152,2547,186002,17011,19513,204282,3343,60568,128318,119250,4298,51871,41336,71759,21921,45074,98169,145889,99427,11350,1237,5520,28799,7803,53702,21026,136352,38293,128690,12158,90132,44600,10184,26957,39459,126025,78904,82999,59373,39301,150198,120529,153042,20177,50089,14764,271571,30530,123161,38975,101562,22941,5648,124654,109243,69817,71675,49162,106884,21241,107795,30258,16572,188262,141456,7688,60718,8271,11044,32440,104608,103419,236109,93156,43293,128929,42107,67180,25201,115254,185488,130954,72813,167547,20537,39969,38432,22582,184022,1139,27199,5655,17767,97412,122606,209377,27070,35871,326617,188954,42680,73512,80911,22629,3011,95021,315242,157737,383,41821,41808,19335,27950,15674,25677,110950,35375,76835,59108,57370,35262,16569,160415,37706,78086,32041,49691,137143,9782,172080,50148,77917,6323,10110,69172,17711,21795,59511,76184,135114,31046,132319,59105,157578,20549,80778,57649,158421,65143,4575,72235,21899,10797,92745,34035,106079,80159,4508,78304,25350,75457,46458,32937,25623,47,8531,104751,84953,8138,36508,187199,66310,115274,13253,32461,38536,1916,42007,187160,35055,26325,84394,35963,94216,45590,97782];var Ha=15,Ga=class{log;peerRouting;routingTable;refreshInterval;refreshQueryTimeout;commonPrefixLengthRefreshedAt;refreshTimeoutId;constructor(e,r){let{peerRouting:n,routingTable:i,refreshInterval:o,refreshQueryTimeout:s,logPrefix:a}=r;this.log=e.logger.forComponent(`${a}:routing-table:refresh`),this.peerRouting=n,this.routingTable=i,this.refreshInterval=o??3e5,this.refreshQueryTimeout=s??3e4,this.commonPrefixLengthRefreshedAt=[],this.refreshTable=this.refreshTable.bind(this)}async start(){this.log(`refreshing routing table every ${this.refreshInterval}ms`),this.refreshTable(!0)}async stop(){this.refreshTimeoutId!=null&&clearTimeout(this.refreshTimeoutId)}refreshTable(e=!1){this.log("refreshing routing table");let r=this._maxCommonPrefix(),n=this._getTrackedCommonPrefixLengthsForRefresh(r);this.log(`max common prefix length ${r}`),this.log(`tracked CPLs [ ${n.map(i=>i.toISOString()).join(", ")} ]`),Promise.all(n.map(async(i,o)=>{try{if(await this._refreshCommonPrefixLength(o,i,e),this._numPeersForCpl(r)===0){let s=Math.min(2*(o+1),n.length-1);for(let a=o+1;a<s+1;a++)try{await this._refreshCommonPrefixLength(a,i,e)}catch(c){this.log.error(c)}}}catch(s){this.log.error(s)}})).catch(i=>{this.log.error(i)}).then(()=>{this.refreshTimeoutId=setTimeout(this.refreshTable,this.refreshInterval),this.refreshTimeoutId.unref!=null&&this.refreshTimeoutId.unref()}).catch(i=>{this.log.error(i)})}async _refreshCommonPrefixLength(e,r,n){if(!n&&r.getTime()>Date.now()-this.refreshInterval){this.log("not running refresh for cpl %s as time since last refresh not above interval",e);return}let i=await this._generateRandomPeerId(e);this.log("starting refreshing cpl %s with key %p (routing table size was %s)",e,i,this.routingTable.size);let o=await Ua(this.peerRouting.getClosestPeers(i.toBytes(),{signal:AbortSignal.timeout(this.refreshQueryTimeout)}));this.log(`found ${o} peers that were close to imaginary peer %p`,i),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",e,i,this.routingTable.size)}_getTrackedCommonPrefixLengthsForRefresh(e){e>Ha&&(e=Ha);let r=[];for(let n=0;n<=e;n++)r[n]=this.commonPrefixLengthRefreshedAt[n]??new Date;return r}async _generateRandomPeerId(e){if(this.routingTable.kb==null)throw new Error("Routing table not started");let r=Zn(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,e);return Xt(i)}async _makePeerId(e,r,n){if(n>Ha)throw new Error(`Cannot generate peer ID for common prefix length greater than ${Ha}`);let s=new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1)^32768>>n,a=65535<<16-(n+1),c=s&a|r&~a,u=a7[c],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,Ne.code),l.setUint8(1,32),l.setUint32(2,u,!1),new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}_maxCommonPrefix(){let e=0;for(let r of this._prefixLengths())r>e&&(e=r);return e}_numPeersForCpl(e){let r=0;for(let n of this._prefixLengths())n===e&&r++;return r}*_prefixLengths(){if(this.routingTable.kb!=null)for(let{id:e}of this.routingTable.kb.toIterable()){let r=nn(this.routingTable.kb.localNodeId,e),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var Ya=class{providers;log;constructor(e,r){this.log=e.logger.forComponent(`${r.logPrefix}:rpc:handlers:add-provider`),this.providers=r.providers}async handle(e,r){if(this.log("start"),r.key==null||r.key.length===0)throw new k("Missing key","ERR_MISSING_KEY");let n;try{n=ze.decode(r.key)}catch{throw new k("Invalid CID","ERR_INVALID_CID")}(r.providers==null||r.providers.length===0)&&this.log.error("no providers found in message"),await Promise.all(r.providers.map(async i=>{if(!e.equals(i.id)){this.log("invalid provider peer %p from %p",i.id,e);return}if(i.multiaddrs.length<1){this.log("no valid addresses for provider %p. Ignore",e);return}this.log("received provider %p for %s (addrs %s)",e,n,i.multiaddrs.map(o=>Bs(o).toString())),await this.providers.addProvider(n,Xt(i.id))}))}};var Qa=class{peerRouting;peerInfoMapper;peerId;addressManager;log;constructor(e,r){let{peerRouting:n,logPrefix:i}=r;this.log=e.logger.forComponent(`${i}:rpc:handlers:find-node`),this.peerId=e.peerId,this.addressManager=e.addressManager,this.peerRouting=n,this.peerInfoMapper=r.peerInfoMapper}async handle(e,r){this.log("incoming request from %p for peers closer to %b",e,r.key);let n=[];if(r.key==null)throw new k("Invalid FIND_NODE message received - key was missing","ERR_INVALID_MESSAGE");ge(this.peerId.toBytes(),r.key)?n=[{id:this.peerId,multiaddrs:this.addressManager.getAddresses().map(o=>o.decapsulateCode(Se("p2p").code))}]:n=await this.peerRouting.getCloserPeersOffline(r.key,e);let i={type:ue.FIND_NODE,clusterLevel:r.clusterLevel,closer:n.map(this.peerInfoMapper).filter(({multiaddrs:o})=>o.length).map(o=>({id:o.id.toBytes(),multiaddrs:o.multiaddrs.map(s=>s.bytes)})),providers:[]};return i.closer.length===0&&this.log("could not find any peers closer to %b than %p",r.key,e),i}};var Wa=class{peerRouting;providers;peerStore;peerInfoMapper;log;constructor(e,r){let{peerRouting:n,providers:i,logPrefix:o}=r;this.log=e.logger.forComponent(`${o}:rpc:handlers:get-providers`),this.peerStore=e.peerStore,this.peerRouting=n,this.providers=i,this.peerInfoMapper=r.peerInfoMapper}async handle(e,r){if(r.key==null)throw new k("Invalid FIND_NODE message received - key was missing","ERR_INVALID_MESSAGE");let n;try{n=ze.decode(r.key)}catch{throw new k("Invalid CID","ERR_INVALID_CID")}this.log("%p asking for providers for %s",e,n);let[i,o]=await Promise.all([this.providers.getProviders(n),this.peerRouting.getCloserPeersOffline(r.key,e)]),s=await this._getPeers(i),a=await this._getPeers(o.map(({id:u})=>u)),c={type:ue.GET_PROVIDERS,key:r.key,clusterLevel:r.clusterLevel,closer:a.map(this.peerInfoMapper).filter(({multiaddrs:u})=>u.length).map(u=>({id:u.id.toBytes(),multiaddrs:u.multiaddrs.map(f=>f.bytes)})),providers:s.map(this.peerInfoMapper).filter(({multiaddrs:u})=>u.length).map(u=>({id:u.id.toBytes(),multiaddrs:u.multiaddrs.map(f=>f.bytes)}))};return this.log("got %s providers %s closerPeers",c.providers.length,c.closer.length),c}async _getAddresses(e){return[]}async _getPeers(e){let r=[];for(let n of e)try{let i=await this.peerStore.get(n),o=this.peerInfoMapper({id:n,multiaddrs:i.addresses.map(({multiaddr:s})=>s)});o.multiaddrs.length>0&&r.push(o)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}return r}};var Za=class{peerStore;datastore;peerRouting;log;constructor(e,r){this.log=e.logger.forComponent(`${r.logPrefix}:rpc:handlers:get-value`),this.peerStore=e.peerStore,this.datastore=e.datastore,this.peerRouting=r.peerRouting}async handle(e,r){let n=r.key;if(this.log("%p asked for key %b",e,n),n==null||n.length===0)throw new k("Invalid key","ERR_INVALID_KEY");let i={type:ue.GET_VALUE,key:n,clusterLevel:r.clusterLevel,closer:[],providers:[]};if(Bd(n)){this.log("is public key");let a=Rd(n),c;try{let u=await this.peerStore.get(a);if(u.id.publicKey==null)throw new k("No public key found in key book","ERR_NOT_FOUND");c=u.id.publicKey}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}if(c!=null)return this.log("returning found public key"),i.record=new Ge(n,c,new Date).serialize(),i}let[o,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(n,e)]);return o!=null&&(this.log("had record for %b in local datastore",n),i.record=o.serialize()),s.length>0&&(this.log("had %s closer peers in routing table",s.length),i.closer=s.map(a=>({id:a.id.toBytes(),multiaddrs:a.multiaddrs.map(c=>c.bytes)}))),i}async _checkLocalDatastore(e){this.log("checkLocalDatastore looking for %b",e);let r=rn(e),n;try{n=await this.datastore.get(r)}catch(o){if(o.code==="ERR_NOT_FOUND")return;throw o}let i=Ge.deserialize(n);if(i==null)throw new k("Invalid record","ERR_INVALID_RECORD");if(i.timeReceived==null||Date.now()-i.timeReceived.getTime()>1296e5){await this.datastore.delete(r);return}return i}};var Xa=class{log;constructor(e,r){this.log=e.logger.forComponent(`${r.logPrefix}:rpc:handlers:ping`)}async handle(e,r){return this.log("ping from %p",e),r}};var ja=class{components;validators;log;constructor(e,r){let{validators:n}=r;this.components=e,this.log=e.logger.forComponent(`${r.logPrefix}:rpc:handlers:put-value`),this.validators=n}async handle(e,r){let n=r.key;if(this.log("%p asked us to store value for key %b",e,n),r.record==null){let i=`Empty record from: ${e.toString()}`;throw this.log.error(i),new k(i,"ERR_EMPTY_RECORD")}try{let i=Ge.deserialize(r.record);await ho(this.validators,i),i.timeReceived=new Date;let o=rn(i.key);await this.components.datastore.put(o,i.serialize().subarray()),this.log("put record for %b into datastore under key %k",n,o)}catch(i){this.log("did not put record for key %b into datastore %o",n,i)}return r}};var Ja=class{handlers;routingTable;log;constructor(e,r){let{providers:n,peerRouting:i,validators:o,logPrefix:s,peerInfoMapper:a}=r;this.log=e.logger.forComponent(`${s}:rpc`),this.routingTable=r.routingTable,this.handlers={[ue.GET_VALUE.toString()]:new Za(e,{peerRouting:i,logPrefix:s}),[ue.PUT_VALUE.toString()]:new ja(e,{validators:o,logPrefix:s}),[ue.FIND_NODE.toString()]:new Qa(e,{peerRouting:i,logPrefix:s,peerInfoMapper:a}),[ue.ADD_PROVIDER.toString()]:new Ya(e,{providers:n,logPrefix:s}),[ue.GET_PROVIDERS.toString()]:new Wa(e,{peerRouting:i,providers:n,logPrefix:s,peerInfoMapper:a}),[ue.PING.toString()]:new Xa(e,{logPrefix:s})}}async handleMessage(e,r){try{await this.routingTable.add(e)}catch(i){this.log.error("Failed to update the kbucket store",i)}let n=this.handlers[r.type];if(n==null){this.log.error(`no handler found for message type: ${r.type}`);return}return n.handle(e,r)}onIncomingStream(e){Promise.resolve().then(async()=>{let{stream:r,connection:n}=e,i=n.remotePeer;try{await this.routingTable.add(i)}catch(s){this.log.error(s)}let o=this;await Dn(r,s=>_s(s),async function*(s){for await(let a of s){let c=Yt.decode(a);o.log("incoming %s from %p",c.type,i);let u=await o.handleMessage(i,c);u!=null&&(yield Yt.encode(u))}},s=>ai(s),r)}).catch(r=>{this.log.error(r)})}};var e1=class extends ut{log;components;protocol;running;registrarId;constructor(e,r){super();let{protocol:n,logPrefix:i}=r;this.components=e,this.log=e.logger.forComponent(`${i}:topology-listener`),this.running=!1,this.protocol=n}isStarted(){return this.running}async start(){this.running||(this.running=!0,this.registrarId=await this.components.registrar.register(this.protocol,{onConnect:e=>{this.log("observed peer %p with protocol %s",e,this.protocol),this.dispatchEvent(new pt("peer",{detail:e}))}}))}async stop(){this.running=!1,this.registrarId!=null&&(this.components.registrar.unregister(this.registrarId),this.registrarId=void 0)}};var qf=class{dht;constructor(e){this.dht=e}async provide(e,r={}){await pf(this.dht.provide(e,r))}async*findProviders(e,r={}){for await(let n of this.dht.findProviders(e,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(e,r,n){await pf(this.dht.put(e,r,n))}async get(e,r){for await(let n of this.dht.get(e,r))if(n.name==="VALUE")return n.value;throw new k("Not found","ERR_NOT_FOUND")}},zf=class{dht;constructor(e){this.dht=e}async findPeer(e,r={}){for await(let n of this.dht.findPeer(e,r))if(n.name==="FINAL_PEER")return n.peer;throw new k("Not found","ERR_NOT_FOUND")}async*getClosestPeers(e,r={}){for await(let n of this.dht.getClosestPeers(e,r))n.name==="FINAL_PEER"&&(yield n.peer)}},PI=32,DI=64,$f=class extends ut{protocol;routingTable;providers;network;peerRouting;components;log;running;kBucketSize;clientMode;validators;selectors;queryManager;contentFetching;contentRouting;routingTableRefresh;rpc;topologyListener;querySelf;maxInboundStreams;maxOutboundStreams;dhtContentRouting;dhtPeerRouting;peerInfoMapper;constructor(e,r){super();let{kBucketSize:n,clientMode:i,validators:o,selectors:s,querySelfInterval:a,protocol:c,logPrefix:u,pingTimeout:f,pingConcurrency:l,maxInboundStreams:m,maxOutboundStreams:d,providers:h}=r,p=u??"libp2p:kad-dht";this.running=!1,this.components=e,this.log=e.logger.forComponent(p),this.protocol=c??ad,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=m??PI,this.maxOutboundStreams=d??DI,this.peerInfoMapper=r.peerInfoMapper??Af,this.routingTable=new $a(e,{kBucketSize:n,pingTimeout:f,pingConcurrency:l,protocol:this.protocol,logPrefix:p}),this.providers=new Na(e,h??{}),this.validators={...yd,...o},this.selectors={...gd,...s},this.network=new Ra(e,{protocol:this.protocol,logPrefix:p});let g=We();r.allowQueryWithZeroPeers===!0&&g.resolve(),this.queryManager=new ka(e,{disjointPaths:Math.ceil(this.kBucketSize/2),logPrefix:p,initialQuerySelfHasRun:g,routingTable:this.routingTable}),this.peerRouting=new Da(e,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,logPrefix:p}),this.contentFetching=new wa(e,{validators:this.validators,selectors:this.selectors,peerRouting:this.peerRouting,queryManager:this.queryManager,network:this.network,logPrefix:p}),this.contentRouting=new Ea(e,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,logPrefix:p}),this.routingTableRefresh=new Ga(e,{peerRouting:this.peerRouting,routingTable:this.routingTable,logPrefix:p}),this.rpc=new Ja(e,{routingTable:this.routingTable,providers:this.providers,peerRouting:this.peerRouting,validators:this.validators,logPrefix:p,peerInfoMapper:this.peerInfoMapper}),this.topologyListener=new e1(e,{protocol:this.protocol,logPrefix:p}),this.querySelf=new Oa(e,{peerRouting:this.peerRouting,interval:a,initialInterval:r.initialQuerySelfInterval,logPrefix:p,initialQuerySelfHasRun:g,routingTable:this.routingTable}),this.network.addEventListener("peer",y=>{let x=y.detail;this.onPeerConnect(x).catch(b=>{this.log.error("could not add %p to routing table",x.id,b)}),this.dispatchEvent(new pt("peer",{detail:x}))}),this.topologyListener.addEventListener("peer",y=>{let x=y.detail;Promise.resolve().then(async()=>{let b=await this.components.peerStore.get(x),I={id:x,multiaddrs:b.addresses.map(({multiaddr:v})=>v),protocols:b.protocols};await this.onPeerConnect(I)}).catch(b=>{this.log.error("could not add %p to routing table",x,b)})}),this.dhtPeerRouting=new zf(this),this.dhtContentRouting=new qf(this),r.clientMode==null&&e.events.addEventListener("self:peer:update",y=>{this.log("received update of self-peer info"),Promise.resolve().then(async()=>{let x=y.detail.peer.addresses.some(({multiaddr:I})=>Pd(I)),b=this.getMode();x&&b==="client"?await this.setMode("server"):b==="server"&&!x&&await this.setMode("client")}).catch(x=>{this.log.error("error setting dht server mode",x)})})}get[n3](){return this.dhtContentRouting}get[s3](){return this.dhtPeerRouting}get[i3](){return this}async onPeerConnect(e){if(this.log("peer %p connected",e.id),e=this.peerInfoMapper(e),e.multiaddrs.length===0){this.log("ignoring %p as there were no valid addresses in %s after filtering",e.id,e.multiaddrs.map(r=>r.toString()));return}try{await this.routingTable.add(e.id)}catch(r){this.log.error("could not add %p to routing table",e.id,r)}}isStarted(){return this.running}getMode(){return this.clientMode?"client":"server"}async setMode(e){await this.components.registrar.unhandle(this.protocol),e==="client"?(this.log("enabling client mode"),this.clientMode=!0):(this.log("enabling server mode"),this.clientMode=!1,await this.components.registrar.handle(this.protocol,this.rpc.onIncomingStream.bind(this.rpc),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams}))}async start(){this.running=!0,await this.setMode(this.clientMode?"client":"server"),this.querySelf.start(),await Promise.all([this.providers.start(),this.queryManager.start(),this.network.start(),this.routingTable.start(),this.topologyListener.start(),this.routingTableRefresh.start()])}async stop(){this.running=!1,this.querySelf.stop(),await Promise.all([this.providers.stop(),this.queryManager.stop(),this.network.stop(),this.routingTable.stop(),this.routingTableRefresh.stop(),this.topologyListener.stop()])}async*put(e,r,n={}){yield*this.contentFetching.put(e,r,n)}async*get(e,r={}){yield*this.contentFetching.get(e,r)}async*provide(e,r={}){yield*this.contentRouting.provide(e,this.components.addressManager.getAddresses(),r)}async*findProviders(e,r={}){yield*this.contentRouting.findProviders(e,r)}async*findPeer(e,r={}){yield*this.peerRouting.findPeer(e,r)}async*getClosestPeers(e,r={}){yield*this.peerRouting.getClosestPeers(e,r)}async refreshRoutingTable(){this.routingTableRefresh.refreshTable(!0)}};var c7;(function(t){t[t.SEND_QUERY=0]="SEND_QUERY",t[t.PEER_RESPONSE=1]="PEER_RESPONSE",t[t.FINAL_PEER=2]="FINAL_PEER",t[t.QUERY_ERROR=3]="QUERY_ERROR",t[t.PROVIDER=4]="PROVIDER",t[t.VALUE=5]="VALUE",t[t.ADD_PEER=6]="ADD_PEER",t[t.DIAL_PEER=7]="DIAL_PEER"})(c7||(c7={}));var u7;(function(t){t[t.PUT_VALUE=0]="PUT_VALUE",t[t.GET_VALUE=1]="GET_VALUE",t[t.ADD_PROVIDER=2]="ADD_PROVIDER",t[t.GET_PROVIDERS=3]="GET_PROVIDERS",t[t.FIND_NODE=4]="FIND_NODE",t[t.PING=5]="PING"})(u7||(u7={}));function Hf(t){return new Ir("/dht/record/"+W(t,"base32"),!1)}function f7(t){return{async put(e,r,n={}){try{let i=Hf(e),o=new Ge(e,r,new Date);n.onProgress?.(new At("ipns:routing:datastore:put")),await t.put(i,o.serialize(),n)}catch(i){throw n.onProgress?.(new At("ipns:routing:datastore:error",i)),i}},async get(e,r={}){try{let n=Hf(e);r.onProgress?.(new At("ipns:routing:datastore:get"));let i=await t.get(n,r);return Ge.deserialize(i).value}catch(n){throw r.onProgress?.(new At("ipns:routing:datastore:error",n)),n}},async has(e,r={}){let n=Hf(e);return t.has(n,r)}}}var t1=an("helia:ipns"),NI=60*1e3,l7=60*NI,LI=24*l7,Gf=23*l7,Yf=class{routers;localStore;timeout;defaultResolvers;constructor(e,r=[],n=[]){this.routers=r,this.localStore=f7(e.datastore),this.defaultResolvers=n.length>0?n:[sd()]}async publish(e,r,n={}){try{let i=1n,o=q0(e);if(await this.localStore.has(o,n)){let c=await this.localStore.get(o,n);i=Qr(c).sequence+1n}let s=await F5(e,r,i,n.lifetime??LI,n),a=oc(s);return await this.localStore.put(o,a,n),n.offline!==!0&&await Promise.all(this.routers.map(async c=>{await c.put(o,a,n)})),s}catch(i){throw n.onProgress?.(new At("ipns:publish:error",i)),i}}async resolve(e,r={}){let n=q0(e),i=await this.#t(n,r);return this.#e(i.value,r)}async resolveDns(e,r={}){let n=r.resolvers??this.defaultResolvers,i=await Promise.any(n.map(async o=>o(e,r)));return this.#e(i,r)}republish(e={}){if(this.timeout!=null)throw new Error("Republish is already running");e.signal?.addEventListener("abort",()=>{clearTimeout(this.timeout)});async function r(){let n=Date.now();e.onProgress?.(new At("ipns:republish:start"));let o=Date.now()-n,s=Gf-o;s<0&&(s=e.interval??Gf),setTimeout(()=>{r().catch(a=>{t1.error("error republishing",a)})},s)}this.timeout=setTimeout(()=>{r().catch(n=>{t1.error("error republishing",n)})},e.interval??Gf)}async#e(e,r={}){let n=e.split("/");if(n.length===3){let i=n[1];if(i==="ipns")return this.resolve(Zt(n[2]),r);if(i==="ipfs")return ze.parse(n[2])}throw t1.error("invalid ipfs path %s",e),new Error("Invalid value")}async#t(e,r={}){let n=[this.localStore,...this.routers];r.offline===!0&&(n=[this.localStore]);let i=[];if(await Promise.all(n.map(async s=>{try{let a=await s.get(e,r);await uc(e,a),i.push(a)}catch(a){t1.error("error finding IPNS record",a)}})),i.length===0)throw new k("Could not find record for routing key","ERR_NOT_FOUND");let o=i[z0(e,i)];return await this.localStore.put(e,o,r),Qr(o)}};function kI(t,{routers:e=[],resolvers:r=[]}){return new Yf(t,e,r)}return I7(UI);})();
|
|
2
|
+
"use strict";var HeliaIpns=(()=>{var Pg=Object.create;var ps=Object.defineProperty;var Mg=Object.getOwnPropertyDescriptor;var Fg=Object.getOwnPropertyNames;var $g=Object.getPrototypeOf,Hg=Object.prototype.hasOwnProperty;var Ue=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),M=(r,e)=>{for(var t in e)ps(r,t,{get:e[t],enumerable:!0})},ff=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Fg(e))!Hg.call(r,o)&&o!==t&&ps(r,o,{get:()=>e[o],enumerable:!(n=Mg(e,o))||n.enumerable});return r};var _e=(r,e,t)=>(t=r!=null?Pg($g(r)):{},ff(e||!r||!r.__esModule?ps(t,"default",{value:r,enumerable:!0}):t,r)),Kg=r=>ff(ps({},"__esModule",{value:!0}),r);var pa=Ue((xA,df)=>{var rn=1e3,nn=rn*60,on=nn*60,Ur=on*24,zg=Ur*7,qg=Ur*365.25;df.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return Gg(r);if(t==="number"&&isFinite(r))return e.long?Wg(r):jg(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Gg(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*qg;case"weeks":case"week":case"w":return t*zg;case"days":case"day":case"d":return t*Ur;case"hours":case"hour":case"hrs":case"hr":case"h":return t*on;case"minutes":case"minute":case"mins":case"min":case"m":return t*nn;case"seconds":case"second":case"secs":case"sec":case"s":return t*rn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function jg(r){var e=Math.abs(r);return e>=Ur?Math.round(r/Ur)+"d":e>=on?Math.round(r/on)+"h":e>=nn?Math.round(r/nn)+"m":e>=rn?Math.round(r/rn)+"s":r+"ms"}function Wg(r){var e=Math.abs(r);return e>=Ur?ms(r,e,Ur,"day"):e>=on?ms(r,e,on,"hour"):e>=nn?ms(r,e,nn,"minute"):e>=rn?ms(r,e,rn,"second"):r+" ms"}function ms(r,e,t,n){var o=e>=t*1.5;return Math.round(r/t)+" "+n+(o?"s":"")}});var mf=Ue((vA,pf)=>{function Yg(r){t.debug=t,t.default=t,t.coerce=c,t.disable=s,t.enable=o,t.enabled=i,t.humanize=pa(),t.destroy=f,Object.keys(r).forEach(u=>{t[u]=r[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let l=0;for(let p=0;p<u.length;p++)l=(l<<5)-l+u.charCodeAt(p),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=e;function t(u){let l,p=null,x,d;function h(...m){if(!h.enabled)return;let g=h,A=Number(new Date),b=A-(l||A);g.diff=b,g.prev=l,g.curr=A,l=A,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let S=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(I,C)=>{if(I==="%%")return"%";S++;let y=t.formatters[C];if(typeof y=="function"){let k=m[S];I=y.call(g,k),m.splice(S,1),S--}return I}),t.formatArgs.call(g,m),(g.log||t.log).apply(g,m)}return h.namespace=u,h.useColors=t.useColors(),h.color=t.selectColor(u),h.extend=n,h.destroy=t.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(x!==t.namespaces&&(x=t.namespaces,d=t.enabled(u)),d),set:m=>{p=m}}),typeof t.init=="function"&&t.init(h),h}function n(u,l){let p=t(this.namespace+(typeof l>"u"?":":l)+u);return p.log=this.log,p}function o(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let l,p=(typeof u=="string"?u:"").split(/[\s,]+/),x=p.length;for(l=0;l<x;l++)p[l]&&(u=p[l].replace(/\*/g,".*?"),u[0]==="-"?t.skips.push(new RegExp("^"+u.slice(1)+"$")):t.names.push(new RegExp("^"+u+"$")))}function s(){let u=[...t.names.map(a),...t.skips.map(a).map(l=>"-"+l)].join(",");return t.enable(""),u}function i(u){if(u[u.length-1]==="*")return!0;let l,p;for(l=0,p=t.skips.length;l<p;l++)if(t.skips[l].test(u))return!1;for(l=0,p=t.names.length;l<p;l++)if(t.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 t.enable(t.load()),t}pf.exports=Yg});var ma=Ue((Ze,gs)=>{Ze.formatArgs=Jg;Ze.save=Xg;Ze.load=Qg;Ze.useColors=Zg;Ze.storage=ey();Ze.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ze.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Zg(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Jg(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+gs.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(t++,o==="%c"&&(n=t))}),r.splice(n,0,e)}Ze.log=console.debug||console.log||(()=>{});function Xg(r){try{r?Ze.storage.setItem("debug",r):Ze.storage.removeItem("debug")}catch{}}function Qg(){let r;try{r=Ze.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function ey(){try{return localStorage}catch{}}gs.exports=mf()(Ze);var{formatters:ty}=gs.exports;ty.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var xh=Ue(In=>{"use strict";var kw="[object ArrayBuffer]",$t=class r{static isArrayBuffer(e){return Object.prototype.toString.call(e)===kw}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let n=r.toUint8Array(e),o=r.toUint8Array(t);if(n.length!==o.byteLength)return!1;for(let s=0;s<n.length;s++)if(n[s]!==o[s])return!1;return!0}static concat(...e){let t;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?t=e[0]:e[e.length-1]instanceof Function?t=e.slice(0,e.length-1):t=e;let n=0;for(let i of t)n+=i.byteLength;let o=new Uint8Array(n),s=0;for(let i of t){let a=this.toUint8Array(i);o.set(a,s),s+=a.length}return e[e.length-1]instanceof Function?this.toView(o,e[e.length-1]):o.buffer}},yc="string",Rw=/^[0-9a-f]+$/i,Nw=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Uw=/^[a-zA-Z0-9-_]+$/,Vs=class{static fromString(e){let t=unescape(encodeURIComponent(e)),n=new Uint8Array(t.length);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);return n.buffer}static toString(e){let t=$t.toUint8Array(e),n="";for(let s=0;s<t.length;s++)n+=String.fromCharCode(t[s]);return decodeURIComponent(escape(n))}},st=class{static toString(e,t=!1){let n=$t.toArrayBuffer(e),o=new DataView(n),s="";for(let i=0;i<n.byteLength;i+=2){let a=o.getUint16(i,t);s+=String.fromCharCode(a)}return s}static fromString(e,t=!1){let n=new ArrayBuffer(e.length*2),o=new DataView(n);for(let s=0;s<e.length;s++)o.setUint16(s*2,e.charCodeAt(s),t);return n}},Ps=class r{static isHex(e){return typeof e===yc&&Rw.test(e)}static isBase64(e){return typeof e===yc&&Nw.test(e)}static isBase64Url(e){return typeof e===yc&&Uw.test(e)}static ToString(e,t="utf8"){let n=$t.toUint8Array(e);switch(t.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 st.toString(n,!0);case"utf16":case"utf16be":return st.toString(n);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromString(e,t="utf8"){if(!e)return new ArrayBuffer(0);switch(t.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return st.fromString(e,!0);case"utf16":case"utf16be":return st.fromString(e);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToBase64(e){let t=$t.toUint8Array(e);if(typeof btoa<"u"){let n=this.ToString(t,"binary");return btoa(n)}else return Buffer.from(t).toString("base64")}static FromBase64(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isBase64(t))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(t)):new Uint8Array(Buffer.from(t,"base64")).buffer}static FromBase64Url(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isBase64Url(t))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(t.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,t=r.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.FromBinary(e);case"utf8":return Vs.fromString(e);case"utf16":case"utf16be":return st.fromString(e);case"utf16le":case"usc2":return st.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToUtf8String(e,t=r.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.ToBinary(e);case"utf8":return Vs.toString(e);case"utf16":case"utf16be":return st.toString(e);case"utf16le":case"usc2":return st.toString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromBinary(e){let t=e.length,n=new Uint8Array(t);for(let o=0;o<t;o++)n[o]=e.charCodeAt(o);return n.buffer}static ToBinary(e){let t=$t.toUint8Array(e),n="";for(let o=0;o<t.length;o++)n+=String.fromCharCode(t[o]);return n}static ToHex(e){let t=$t.toUint8Array(e),n="",o=t.length;for(let s=0;s<o;s++){let i=t[s];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isHex(t))throw new TypeError("Argument 'hexString' is not HEX encoded");t.length%2&&(t=`0${t}`);let n=new Uint8Array(t.length/2);for(let o=0;o<t.length;o=o+2){let s=t.slice(o,o+2);n[o/2]=parseInt(s,16)}return n.buffer}static ToUtf16String(e,t=!1){return st.toString(e,t)}static FromUtf16String(e,t=!1){return st.fromString(e,t)}static Base64Padding(e){let t=4-e.length%4;if(t<4)for(let n=0;n<t;n++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}};Ps.DEFAULT_UTF8_ENCODING="utf8";function _w(r,...e){let t=arguments[0];for(let n=1;n<arguments.length;n++){let o=arguments[n];for(let s in o)t[s]=o[s]}return t}function Dw(...r){let e=r.map(o=>o.byteLength).reduce((o,s)=>o+s),t=new Uint8Array(e),n=0;return r.map(o=>new Uint8Array(o)).forEach(o=>{for(let s of o)t[n++]=s}),t.buffer}function Lw(r,e){if(!(r&&e)||r.byteLength!==e.byteLength)return!1;let t=new Uint8Array(r),n=new Uint8Array(e);for(let o=0;o<r.byteLength;o++)if(t[o]!==n[o])return!1;return!0}In.BufferSourceConverter=$t;In.Convert=Ps;In.assign=_w;In.combine=Dw;In.isEqual=Lw});var _o=Ue((x3,Td)=>{"use strict";function Cd(r,e){for(let t in e)Object.defineProperty(r,t,{value:e[t],enumerable:!0,configurable:!0});return r}function gx(r,e,t){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return Cd(r,t)}catch{t.message=r.message,t.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),Cd(new o,t)}}Td.exports=gx});var _c=Ue((S3,Uc)=>{var B3=function(){typeof Uc<"u"&&(Uc.exports=h);var r=86400,e=3200,t=146097*e/400,n=r*t,o=1e3*n,s=864e13,i=4294967296,a=1e6,c="000000000",f=Math.trunc||function(y){var k=y-y%1;return k==0&&(y<0||y===0&&1/y!=1/0)?-0:k},u=h.prototype,l=(h.fromDate=function(y){return new h(+y)},h.fromInt64BE=S(0,1,2,3,0,4),h.fromInt64LE=S(3,2,1,0,4,0),h.fromString=function(U){var k,O=new h,U=(U+="").replace(/^\s*[+\-]?\d+/,function(H){var H=+H,X=1970+(H-1970)%400;return O.year=H-X,X}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(V,H,X){return H<0&&(X*=-1),k=6e4*(60*+H+ +X),""}).replace(/\.\d+$/,function(V){return O.nano=+(V+c).substr(1,9),""}).split(/\D+/);if(1<U.length?U[1]--:U[1]=0,O.time=k=Date.UTC.apply(Date,U)-(k||0),isNaN(k))throw new TypeError("Invalid Date");return m(O)},h.fromTimeT=function(y){return A(y,0)},u.year=0,u.time=0,u.nano=0,u.addNano=function(y){return this.nano+=+y||0,this},u.getNano=function(){var y=m(this);return(y.time%1e3*a+ +y.nano+1e9)%1e9},u.getTimeT=function(){var k=m(this),y=Math.floor(k.time/1e3),k=k.year;return k&&(y+=k*t*r/e),y},u.getYear=function(){return this.toDate().getUTCFullYear()+this.year},u.toDate=function(){return g(m(this).time)},u.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},u.toString=function(y){var k=this,O=k.toDate(),U={H:function(){return I(O.getUTCHours())},L:function(){return C(O.getUTCMilliseconds(),3)},M:function(){return I(O.getUTCMinutes())},N:function(){return C(k.getNano(),9)},S:function(){return I(O.getUTCSeconds())},Y:function(){var V=k.getYear();return 999999<V?"+"+V:9999<V?"+"+C(V,6):0<=V?C(V,4):-999999<=V?"-"+C(-V,6):V},a:function(){return x[O.getUTCDay()]},b:function(){return p[O.getUTCMonth()]},d:function(){return I(O.getUTCDate())},e:function(){return function(V){return(9<V?"":" ")+(0|V)}(O.getUTCDate())},m:function(){return I(O.getUTCMonth()+1)}};return function V(H){return H.replace(/%./g,function(X){var R=X[1],B=d[R],R=U[R];return B?V(B):R?R():X})}(y||l)},u.writeInt64BE=b(0,1,2,3,0,4),u.writeInt64LE=b(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),p=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],x=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],d={"%":"%",F:"%Y-%m-%d",n:`
|
|
3
|
+
`,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return h;function h(y,k,O){var U=this;if(!(U instanceof h))return new h(y,k,O);U.time=+y||0,U.nano=+k||0,U.year=+O||0,m(U)}function m(y){var k,O,U,V=y.year,H=y.time,X=y.nano,B=((X<0||a<=X)&&(X-=(O=Math.floor(X/a))*a,H+=O,O=1),V%e);return(H<-s||s<H||B)&&((k=f(H/o))&&(V+=k*e,H-=k*o),(U=g(H)).setUTCFullYear(B+U.getUTCFullYear()),U=(H=+U)+(k=f((V-=B)/e))*o,k&&-s<=U&&U<=s&&(V-=k*e,H=U),O=1),O&&(y.year=V,y.time=H,y.nano=X),y}function g(y){var k=new Date(0);return k.setTime(y),k}function A(V,U){V=+V||0;var O=f((U=(U|0)*i)/n)+f(V/n),U=U%n+V%n,V=f(U/n);return V&&(O+=V,U-=V*n),new h(1e3*U,0,O*e)}function b(y,k,O,U,V,H){return function(B,R){var T=m(this);B=B||new Array(8),v(B,R|=0);var E=Math.floor(T.time/1e3),T=T.year*(t*r/e),$=f(T/i)+f(E/i),T=T%i+E%i,E=Math.floor(T/i);return E&&($+=E,T-=E*i),X(B,R+V,$),X(B,R+H,T),B};function X(B,R,$){B[R+y]=$>>24&255,B[R+k]=$>>16&255,B[R+O]=$>>8&255,B[R+U]=255&$}}function S(y,k,O,U,V,H){return function(B,R){v(B,R|=0);var $=X(B,R+V);return A(X(B,R+H),$)};function X(B,R){return 16777216*B[R+y]+(B[R+k]<<16|B[R+O]<<8|B[R+U])}}function v(y,k){if(y=y&&y.length,y==null)throw new TypeError("Invalid Buffer");if(y<k+8)throw new RangeError("Out of range")}function I(y){return(9<y?"":"0")+(0|y)}function C(y,k){return(c+(0|y)).substr(-k)}}()});var z0=Ue((VC,K0)=>{K0.exports=Ku;var H0=128,I2=127,C2=~I2,T2=Math.pow(2,31);function Ku(r,e,t){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw Ku.bytes=0,new RangeError("Could not encode varint");e=e||[],t=t||0;for(var n=t;r>=T2;)e[t++]=r&255|H0,r/=128;for(;r&C2;)e[t++]=r&255|H0,r>>>=7;return e[t]=r|0,Ku.bytes=t-n+1,e}});var j0=Ue((PC,G0)=>{G0.exports=zu;var k2=128,q0=127;function zu(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a||o>49)throw zu.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&q0)<<o:(i&q0)*Math.pow(2,o),o+=7}while(i>=k2);return zu.bytes=s-n,t}});var Y0=Ue((MC,W0)=>{var R2=Math.pow(2,7),N2=Math.pow(2,14),U2=Math.pow(2,21),_2=Math.pow(2,28),D2=Math.pow(2,35),L2=Math.pow(2,42),O2=Math.pow(2,49),V2=Math.pow(2,56),P2=Math.pow(2,63);W0.exports=function(r){return r<R2?1:r<N2?2:r<U2?3:r<_2?4:r<D2?5:r<L2?6:r<O2?7:r<V2?8:r<P2?9:10}});var Ji=Ue((FC,Z0)=>{Z0.exports={encode:z0(),decode:j0(),encodingLength:Y0()}});var $l=Ue((_k,tg)=>{"use strict";var z8=typeof navigator<"u"&&navigator.product==="ReactNative";function q8(){return z8?"http://localhost":self.location?self.location.protocol+"//"+self.location.host:""}var cs=self.URL,eg=q8(),Fl=class{constructor(e="",t=eg){this.super=new cs(e,t),this.path=this.pathname+this.search,this.auth=this.username&&this.password?this.username+":"+this.password:null,this.query=this.search&&this.search.startsWith("?")?this.search.slice(1):null}get hash(){return this.super.hash}get host(){return this.super.host}get hostname(){return this.super.hostname}get href(){return this.super.href}get origin(){return this.super.origin}get password(){return this.super.password}get pathname(){return this.super.pathname}get port(){return this.super.port}get protocol(){return this.super.protocol}get search(){return this.super.search}get searchParams(){return this.super.searchParams}get username(){return this.super.username}set hash(e){this.super.hash=e}set host(e){this.super.host=e}set hostname(e){this.super.hostname=e}set href(e){this.super.href=e}set password(e){this.super.password=e}set pathname(e){this.super.pathname=e}set port(e){this.super.port=e}set protocol(e){this.super.protocol=e}set search(e){this.super.search=e}set username(e){this.super.username=e}static createObjectURL(e){return cs.createObjectURL(e)}static revokeObjectURL(e){cs.revokeObjectURL(e)}toJSON(){return this.super.toJSON()}toString(){return this.super.toString()}format(){return this.toString()}};function G8(r){if(typeof r=="string")return new cs(r).toString();if(!(r instanceof cs)){let e=r.username&&r.password?`${r.username}:${r.password}@`:"",t=r.auth?r.auth+"@":"",n=r.port?":"+r.port:"",o=r.protocol?r.protocol+"//":"",s=r.host||"",i=r.hostname||"",a=r.search||(r.query?"?"+r.query:""),c=r.hash||"",f=r.pathname||"",u=r.path||f+a;return`${o}${e||t}${s||i+n}${u}${c}`}}tg.exports={URLWithLegacySupport:Fl,URLSearchParams:self.URLSearchParams,defaultBase:eg,format:G8}});var og=Ue((Dk,ng)=>{"use strict";var{URLWithLegacySupport:rg,format:j8}=$l();ng.exports=(r,e={},t={},n)=>{let o=e.protocol?e.protocol.replace(":",""):"http";o=(t[o]||n||o)+":";let s;try{s=new rg(r)}catch{s={}}let i=Object.assign({},e,{protocol:o||s.protocol,host:e.host||s.host});return new rg(r,j8(i)).toString()}});var ig=Ue((Lk,sg)=>{"use strict";var{URLWithLegacySupport:W8,format:Y8,URLSearchParams:Z8,defaultBase:J8}=$l(),X8=og();sg.exports={URL:W8,URLSearchParams:Z8,format:Y8,relative:X8,defaultBase:J8}});var hg=Ue((zk,fg)=>{"use strict";fg.exports=lg;var nA=pa(),Rr=lg.prototype,oA=new Date%1e9;function sA(){return(Math.random()*1e9>>>0)+oA++}function lg(r){r=r||{},this.id=r.id||sA(),this.max=r.max||1/0,this.items=r.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(r.lastModified||new Date);for(var e,t,n=this.items.length;n--;)e=this.items[n],t=new Date(e.expires)-new Date,this._lookup[e.key]=e,t>0?this.expire(e.key,t):t<=0&&this.delete(e.key)}Rr.has=function(r){return r in this._lookup};Rr.get=function(r){if(!this.has(r))return null;var e=this._lookup[r];return e.refresh&&this.expire(r,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};Rr.meta=function(r){if(!this.has(r))return null;var e=this._lookup[r];return"meta"in e?e.meta:null};Rr.set=function(r,e,t){var n=this._lookup[r],o=this._lookup[r]={key:r,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,o)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(o),this.size++),t&&("ttl"in t&&this.expire(r,t.ttl),"meta"in t&&(o.meta=t.meta),t.refresh&&(o.refresh=t.ttl)),this};Rr.delete=function(r){var e=this._lookup[r];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[r],this.size--,this):!1};Rr.expire=function(r,e){var t=e||0,n=this._lookup[r];if(!n)return this;if(typeof t=="string"&&(t=nA(e)),typeof t!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),t),n.expires=Number(new Date)+t,this};Rr.clear=function(){for(var r=this.items.length;r--;)this.delete(this.items[r].key);return this};Rr.toJSON=function(){for(var r=new Array(this.items.length),e,t=r.length;t--;)e=this.items[t],r[t]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:r}}});var gg=Ue((Gk,jl)=>{"use strict";var aA=Object.prototype.hasOwnProperty,Ke="~";function us(){}Object.create&&(us.prototype=Object.create(null),new us().__proto__||(Ke=!1));function cA(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function mg(r,e,t,n,o){if(typeof t!="function")throw new TypeError("The listener must be a function");var s=new cA(t,n||r,o),i=Ke?Ke+e:e;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],s]:r._events[i].push(s):(r._events[i]=s,r._eventsCount++),r}function ua(r,e){--r._eventsCount===0?r._events=new us:delete r._events[e]}function Ve(){this._events=new us,this._eventsCount=0}Ve.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)aA.call(t,n)&&e.push(Ke?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};Ve.prototype.listeners=function(e){var t=Ke?Ke+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};Ve.prototype.listenerCount=function(e){var t=Ke?Ke+e:e,n=this._events[t];return n?n.fn?1:n.length:0};Ve.prototype.emit=function(e,t,n,o,s,i){var a=Ke?Ke+e:e;if(!this._events[a])return!1;var c=this._events[a],f=arguments.length,u,l;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),f){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,o),!0;case 5:return c.fn.call(c.context,t,n,o,s),!0;case 6:return c.fn.call(c.context,t,n,o,s,i),!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 p=c.length,x;for(l=0;l<p;l++)switch(c[l].once&&this.removeListener(e,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,t);break;case 3:c[l].fn.call(c[l].context,t,n);break;case 4:c[l].fn.call(c[l].context,t,n,o);break;default:if(!u)for(x=1,u=new Array(f-1);x<f;x++)u[x-1]=arguments[x];c[l].fn.apply(c[l].context,u)}}return!0};Ve.prototype.on=function(e,t,n){return mg(this,e,t,n,!1)};Ve.prototype.once=function(e,t,n){return mg(this,e,t,n,!0)};Ve.prototype.removeListener=function(e,t,n,o){var s=Ke?Ke+e:e;if(!this._events[s])return this;if(!t)return ua(this,s),this;var i=this._events[s];if(i.fn)i.fn===t&&(!o||i.once)&&(!n||i.context===n)&&ua(this,s);else{for(var a=0,c=[],f=i.length;a<f;a++)(i[a].fn!==t||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:ua(this,s)}return this};Ve.prototype.removeAllListeners=function(e){var t;return e?(t=Ke?Ke+e:e,this._events[t]&&ua(this,t)):(this._events=new us,this._eventsCount=0),this};Ve.prototype.off=Ve.prototype.removeListener;Ve.prototype.addListener=Ve.prototype.on;Ve.prefixed=Ke;Ve.EventEmitter=Ve;typeof jl<"u"&&(jl.exports=Ve)});var xg=Ue((rR,wg)=>{wg.exports=function(r){if(!r)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,t=Object.create(null),n=Object.create(null);function o(s,i){t[s]=i,e++,e>=r&&(e=0,n=t,t=Object.create(null))}return{has:function(s){return t[s]!==void 0||n[s]!==void 0},remove:function(s){t[s]!==void 0&&(t[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var i=t[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set:function(s,i){t[s]!==void 0?t[s]=i:o(s,i)},clear:function(){t=Object.create(null),n=Object.create(null)}}}});var gA={};M(gA,{ipns:()=>mA,ipnsSelector:()=>Fi,ipnsValidator:()=>Zc});var da=Symbol.for("@libp2p/peer-id");function hf(r){return r!=null&&!!r[da]}var q=class extends Error{code;props;constructor(e,t,n){super(e),this.code=t,this.name=n?.name??"CodeError",this.props=n??{}}};var Je=_e(ma(),1);var xa={};M(xa,{base32:()=>sr,base32hex:()=>uy,base32hexpad:()=>fy,base32hexpadupper:()=>hy,base32hexupper:()=>ly,base32pad:()=>ay,base32padupper:()=>cy,base32upper:()=>Ef,base32z:()=>dy});var EA=new Uint8Array(0);function gf(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function Dt(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 yf(r){return new TextEncoder().encode(r)}function bf(r){return new TextDecoder().decode(r)}function ry(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var h=0,m=0,g=0,A=d.length;g!==A&&d[g]===0;)g++,h++;for(var b=(A-g)*u+1>>>0,S=new Uint8Array(b);g!==A;){for(var v=d[g],I=0,C=b-1;(v!==0||I<m)&&C!==-1;C--,I++)v+=256*S[C]>>>0,S[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=I,g++}for(var y=b-m;y!==b&&S[y]===0;)y++;for(var k=c.repeat(h);y<b;++y)k+=r.charAt(S[y]);return k}function p(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var h=0;if(d[h]!==" "){for(var m=0,g=0;d[h]===c;)m++,h++;for(var A=(d.length-h)*f+1>>>0,b=new Uint8Array(A);d[h];){var S=t[d.charCodeAt(h)];if(S===255)return;for(var v=0,I=A-1;(S!==0||v<g)&&I!==-1;I--,v++)S+=a*b[I]>>>0,b[I]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=v,h++}if(d[h]!==" "){for(var C=A-g;C!==A&&b[C]===0;)C++;for(var y=new Uint8Array(m+(A-C)),k=m;C!==A;)y[k++]=b[C++];return y}}}function x(d){var h=p(d);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:x}}var ny=ry,oy=ny,xf=oy;var ga=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ya=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return vf(this,e)}},ba=class{decoders;constructor(e){this.decoders=e}or(e){return vf(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function vf(r,e){return new ba({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var wa=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new ga(e,t,n),this.decoder=new ya(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function sn({name:r,prefix:e,encode:t,decode:n}){return new wa(r,e,t,n)}function or({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=xf(t,r);return sn({prefix:e,name:r,encode:n,decode:s=>Dt(o(s))})}function sy(r,e,t,n){let o={};for(let u=0;u<e.length;++u)o[e[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*t/8|0),a=0,c=0,f=0;for(let u=0;u<s;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|l,a+=t,a>=8&&(a-=8,i[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i}function iy(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;s.length*t&7;)s+="=";return s}function he({name:r,prefix:e,bitsPerChar:t,alphabet:n}){return sn({prefix:e,name:r,encode(o){return iy(o,n,t)},decode(o){return sy(o,n,t,r)}})}var sr=he({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ef=he({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ay=he({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),cy=he({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),uy=he({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ly=he({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),fy=he({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),hy=he({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),dy=he({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var va={};M(va,{base58btc:()=>Se,base58flickr:()=>py});var Se=or({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),py=or({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ea={};M(Ea,{base64:()=>io,base64pad:()=>my,base64url:()=>gy,base64urlpad:()=>yy});var io=he({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),my=he({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gy=he({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),yy=he({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});Je.default.formatters.b=r=>r==null?"undefined":Se.baseEncode(r);Je.default.formatters.t=r=>r==null?"undefined":sr.baseEncode(r);Je.default.formatters.m=r=>r==null?"undefined":io.baseEncode(r);Je.default.formatters.p=r=>r==null?"undefined":r.toString();Je.default.formatters.c=r=>r==null?"undefined":r.toString();Je.default.formatters.k=r=>r==null?"undefined":r.toString();Je.default.formatters.a=r=>r==null?"undefined":r.toString();function by(r){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=r,e.destroy=()=>!0,e.extend=()=>e,e}function ir(r){let e=by(`${r}:trace`);return Je.default.enabled(`${r}:trace`)&&Je.default.names.map(t=>t.toString()).find(t=>t.includes(":trace"))!=null&&(e=(0,Je.default)(`${r}:trace`)),Object.assign((0,Je.default)(r),{error:(0,Je.default)(`${r}:error`),trace:e})}var Aa={};M(Aa,{base10:()=>wy});var wy=or({prefix:"9",name:"base10",alphabet:"0123456789"});var Ba={};M(Ba,{base16:()=>xy,base16upper:()=>vy});var xy=he({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),vy=he({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Sa={};M(Sa,{base2:()=>Ey});var Ey=he({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ia={};M(Ia,{base256emoji:()=>Cy});var Af=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}"),Ay=Af.reduce((r,e,t)=>(r[t]=e,r),[]),By=Af.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Sy(r){return r.reduce((e,t)=>(e+=Ay[t],e),"")}function Iy(r){let e=[];for(let t of r){let n=By[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var Cy=sn({prefix:"\u{1F680}",name:"base256emoji",encode:Sy,decode:Iy});var Ca={};M(Ca,{base36:()=>ys,base36upper:()=>Ty});var ys=or({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ty=or({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ta={};M(Ta,{base8:()=>ky});var ky=he({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ka={};M(ka,{identity:()=>Ry});var Ry=sn({prefix:"\0",name:"identity",encode:r=>bf(r),decode:r=>yf(r)});var HA=new TextEncoder,KA=new TextDecoder;var Na={};M(Na,{identity:()=>vt});var _y=If,Bf=128,Dy=127,Ly=~Dy,Oy=Math.pow(2,31);function If(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Oy;)e[t++]=r&255|Bf,r/=128;for(;r&Ly;)e[t++]=r&255|Bf,r>>>=7;return e[t]=r|0,If.bytes=t-n+1,e}var Vy=Ra,Py=128,Sf=127;function Ra(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Ra.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&Sf)<<o:(i&Sf)*Math.pow(2,o),o+=7}while(i>=Py);return Ra.bytes=s-n,t}var My=Math.pow(2,7),Fy=Math.pow(2,14),$y=Math.pow(2,21),Hy=Math.pow(2,28),Ky=Math.pow(2,35),zy=Math.pow(2,42),qy=Math.pow(2,49),Gy=Math.pow(2,56),jy=Math.pow(2,63),Wy=function(r){return r<My?1:r<Fy?2:r<$y?3:r<Hy?4:r<Ky?5:r<zy?6:r<qy?7:r<Gy?8:r<jy?9:10},Yy={encode:_y,decode:Vy,encodingLength:Wy},Zy=Yy,ao=Zy;function co(r,e=0){return[ao.decode(r,e),ao.decode.bytes]}function an(r,e,t=0){return ao.encode(r,e,t),e}function cn(r){return ao.encodingLength(r)}function xt(r,e){let t=e.byteLength,n=cn(r),o=n+cn(t),s=new Uint8Array(o+t);return an(r,s,0),an(t,s,n),s.set(e,o),new un(r,t,e,s)}function _r(r){let e=Dt(r),[t,n]=co(e),[o,s]=co(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new un(t,o,i,e)}function Cf(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&gf(r.bytes,t.bytes)}}var un=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var Tf=0,Jy="identity",kf=Dt;function Xy(r){return xt(Tf,kf(r))}var vt={code:Tf,name:Jy,encode:kf,digest:Xy};var Da={};M(Da,{sha256:()=>Ie,sha512:()=>Qy});function _a({name:r,code:e,encode:t}){return new Ua(r,e,t)}var Ua=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?xt(this.code,t):t.then(n=>xt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Nf(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Ie=_a({name:"sha2-256",code:18,encode:Nf("SHA-256")}),Qy=_a({name:"sha2-512",code:19,encode:Nf("SHA-512")});function Uf(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return tb(t,La(r),e??Se.encoder);default:return rb(t,La(r),e??sr.encoder)}}var _f=new WeakMap;function La(r){let e=_f.get(r);if(e==null){let t=new Map;return _f.set(r,t),t}return e}var Xe=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==uo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==nb)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=xt(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&Cf(e.multihash,n.multihash)}toString(e){return Uf(this,e)}toJSON(){return{"/":Uf(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??Df(n,o,s.bytes))}else if(t[ob]===!0){let{version:n,multihash:o,code:s}=t,i=_r(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==uo)throw new Error(`Version 0 CID must use dag-pb (code: ${uo}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Df(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,uo,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=Dt(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new un(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,p]=co(e.subarray(t));return t+=p,l},o=n(),s=uo;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),f=t+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,t){let[n,o]=eb(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return La(s).set(n,e),s}};function eb(r,e){switch(r[0]){case"Q":{let t=e??Se;return[Se.prefix,t.decode(`${Se.prefix}${r}`)]}case Se.prefix:{let t=e??Se;return[Se.prefix,t.decode(r)]}case sr.prefix:{let t=e??sr;return[sr.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function tb(r,e,t){let{prefix:n}=t;if(n!==Se.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function rb(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var uo=112,nb=18;function Df(r,e,t){let n=cn(r),o=n+cn(e),s=new Uint8Array(o+t.byteLength);return an(r,s,0),an(e,s,n),s.set(t,o),s}var ob=Symbol.for("@ipld/js-cid/CID");var ln={...ka,...Sa,...Ta,...Aa,...Ba,...xa,...Ca,...va,...Ea,...Ia},lB={...Da,...Na};function Ce(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var sb=Symbol.for("nodejs.util.inspect.custom"),Lf=Object.values(ln).map(r=>r.decoder).reduce((r,e)=>r.or(e),ln.identity.decoder),Of=114,Oa=36,Va=37,lo=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[da]=!0;toString(){return this.string==null&&(this.string=Se.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Xe.createV1(Of,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return Ce(this.multihash.bytes,e);if(typeof e=="string")return Pa(e).equals(this);if(e?.multihash?.bytes!=null)return Ce(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[sb](){return`PeerId(${this.toString()})`}},fn=class extends lo{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},hn=class extends lo{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},dn=class extends lo{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Pa(r,e){if(e=e??Lf,r.charAt(0)==="1"||r.charAt(0)==="Q"){let t=_r(Se.decode(`z${r}`));return r.startsWith("12D")?new hn({multihash:t}):r.startsWith("16U")?new dn({multihash:t}):new fn({multihash:t})}return Ma(Lf.decode(r))}function Ma(r){try{let e=_r(r);if(e.code===vt.code){if(e.digest.length===Oa)return new hn({multihash:e});if(e.digest.length===Va)return new dn({multihash:e})}if(e.code===Ie.code)return new fn({multihash:e})}catch{return ib(Xe.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function ib(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Of)throw new Error("Supplied PeerID CID is invalid");let e=r.multihash;if(e.code===Ie.code)return new fn({multihash:r.multihash});if(e.code===vt.code){if(e.digest.length===Oa)return new hn({multihash:r.multihash});if(e.digest.length===Va)return new dn({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Vf(r,e){return r.length===Oa?new hn({multihash:xt(vt.code,r),privateKey:e}):r.length===Va?new dn({multihash:xt(vt.code,r),privateKey:e}):new fn({multihash:await Ie.digest(r),publicKey:r,privateKey:e})}var mc={};M(mc,{Ed25519PrivateKey:()=>Hr,Ed25519PublicKey:()=>bo,generateKeyPair:()=>Iw,generateKeyPairFromSeed:()=>wh,unmarshalEd25519PrivateKey:()=>Bw,unmarshalEd25519PublicKey:()=>Sw});function Lr(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function lt(r=0){return globalThis.Buffer?.allocUnsafe!=null?Lr(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Or(r,e){if(globalThis.Buffer!=null)return Lr(globalThis.Buffer.concat(r,e));e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=lt(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return Lr(t)}function Mf(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Pf=Mf("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Fa=Mf("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=lt(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),ab={utf8:Pf,"utf-8":Pf,hex:ln.base16,latin1:Fa,ascii:Fa,binary:Fa,...ln},ws=ab;function ee(r,e="utf8"){let t=ws[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Lr(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}function ot(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function pn(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function cb(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function $a(r,...e){if(!cb(r))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function xs(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");pn(r.outputLen),pn(r.blockLen)}function mn(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function Ff(r,e){$a(r);let t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}var vs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function $f(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}var yn=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),ft=(r,e)=>r<<32-e|r>>>e,ub=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ub)throw new Error("Non little-endian hardware is not supported");var lb=async()=>{};async function Hf(r,e,t){let n=Date.now();for(let o=0;o<r;o++){t(o);let s=Date.now()-n;s>=0&&s<e||(await lb(),n+=s)}}function Ha(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function ar(r){if(typeof r=="string"&&(r=Ha(r)),!$f(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}function Es(...r){let e=0;for(let n=0;n<r.length;n++){let o=r[n];if(!$f(o))throw new Error("Uint8Array expected");e+=o.length}let t=new Uint8Array(e);for(let n=0,o=0;n<r.length;n++){let s=r[n];t.set(s,o),o+=s.length}return t}var gn=class{clone(){return this._cloneInto()}},fb={}.toString;function Kf(r,e){if(e!==void 0&&fb.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,e)}function As(r){let e=n=>r().update(ar(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function bn(r=32){if(vs&&typeof vs.getRandomValues=="function")return vs.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function hb(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(t>>o&s),a=Number(t&s),c=n?4:0,f=n?0:4;r.setUint32(e+c,i,n),r.setUint32(e+f,a,n)}var wn=class extends gn{constructor(e,t,n,o){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=yn(this.buffer)}update(e){mn(this);let{view:t,buffer:n,blockLen:o}=this;e=ar(e);let s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=yn(e);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){mn(this),Ff(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;t[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)t[l]=0;hb(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=yn(e),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],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.length=o,e.pos=a,e.finished=s,e.destroyed=i,o%t&&e.buffer.set(n),e}};var Bs=BigInt(4294967295),Ka=BigInt(32);function zf(r,e=!1){return e?{h:Number(r&Bs),l:Number(r>>Ka&Bs)}:{h:Number(r>>Ka&Bs)|0,l:Number(r&Bs)|0}}function db(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:s,l:i}=zf(r[o],e);[t[o],n[o]]=[s,i]}return[t,n]}var pb=(r,e)=>BigInt(r>>>0)<<Ka|BigInt(e>>>0),mb=(r,e,t)=>r>>>t,gb=(r,e,t)=>r<<32-t|e>>>t,yb=(r,e,t)=>r>>>t|e<<32-t,bb=(r,e,t)=>r<<32-t|e>>>t,wb=(r,e,t)=>r<<64-t|e>>>t-32,xb=(r,e,t)=>r>>>t-32|e<<64-t,vb=(r,e)=>e,Eb=(r,e)=>r,Ab=(r,e,t)=>r<<t|e>>>32-t,Bb=(r,e,t)=>e<<t|r>>>32-t,Sb=(r,e,t)=>e<<t-32|r>>>64-t,Ib=(r,e,t)=>r<<t-32|e>>>64-t;function Cb(r,e,t,n){let o=(e>>>0)+(n>>>0);return{h:r+t+(o/2**32|0)|0,l:o|0}}var Tb=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),kb=(r,e,t,n)=>e+t+n+(r/2**32|0)|0,Rb=(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),Nb=(r,e,t,n,o)=>e+t+n+o+(r/2**32|0)|0,Ub=(r,e,t,n,o)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(o>>>0),_b=(r,e,t,n,o,s)=>e+t+n+o+s+(r/2**32|0)|0;var Db={fromBig:zf,split:db,toBig:pb,shrSH:mb,shrSL:gb,rotrSH:yb,rotrSL:bb,rotrBH:wb,rotrBL:xb,rotr32H:vb,rotr32L:Eb,rotlSH:Ab,rotlSL:Bb,rotlBH:Sb,rotlBL:Ib,add:Cb,add3L:Tb,add3H:kb,add4L:Rb,add4H:Nb,add5H:_b,add5L:Ub},j=Db;var[Lb,Ob]=j.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))),cr=new Uint32Array(80),ur=new Uint32Array(80),za=class extends wn{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:e,Al:t,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:f,El:u,Fh:l,Fl:p,Gh:x,Gl:d,Hh:h,Hl:m}=this;return[e,t,n,o,s,i,a,c,f,u,l,p,x,d,h,m]}set(e,t,n,o,s,i,a,c,f,u,l,p,x,d,h,m){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=p|0,this.Gh=x|0,this.Gl=d|0,this.Hh=h|0,this.Hl=m|0}process(e,t){for(let b=0;b<16;b++,t+=4)cr[b]=e.getUint32(t),ur[b]=e.getUint32(t+=4);for(let b=16;b<80;b++){let S=cr[b-15]|0,v=ur[b-15]|0,I=j.rotrSH(S,v,1)^j.rotrSH(S,v,8)^j.shrSH(S,v,7),C=j.rotrSL(S,v,1)^j.rotrSL(S,v,8)^j.shrSL(S,v,7),y=cr[b-2]|0,k=ur[b-2]|0,O=j.rotrSH(y,k,19)^j.rotrBH(y,k,61)^j.shrSH(y,k,6),U=j.rotrSL(y,k,19)^j.rotrBL(y,k,61)^j.shrSL(y,k,6),V=j.add4L(C,U,ur[b-7],ur[b-16]),H=j.add4H(V,I,O,cr[b-7],cr[b-16]);cr[b]=H|0,ur[b]=V|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:f,Dl:u,Eh:l,El:p,Fh:x,Fl:d,Gh:h,Gl:m,Hh:g,Hl:A}=this;for(let b=0;b<80;b++){let S=j.rotrSH(l,p,14)^j.rotrSH(l,p,18)^j.rotrBH(l,p,41),v=j.rotrSL(l,p,14)^j.rotrSL(l,p,18)^j.rotrBL(l,p,41),I=l&x^~l&h,C=p&d^~p&m,y=j.add5L(A,v,C,Ob[b],ur[b]),k=j.add5H(y,g,S,I,Lb[b],cr[b]),O=y|0,U=j.rotrSH(n,o,28)^j.rotrBH(n,o,34)^j.rotrBH(n,o,39),V=j.rotrSL(n,o,28)^j.rotrBL(n,o,34)^j.rotrBL(n,o,39),H=n&s^n&a^s&a,X=o&i^o&c^i&c;g=h|0,A=m|0,h=x|0,m=d|0,x=l|0,d=p|0,{h:l,l:p}=j.add(f|0,u|0,k|0,O|0),f=a|0,u=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let B=j.add3L(O,V,X);n=j.add3H(B,k,U,H),o=B|0}({h:n,l:o}=j.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=j.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=j.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l:u}=j.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:p}=j.add(this.Eh|0,this.El|0,l|0,p|0),{h:x,l:d}=j.add(this.Fh|0,this.Fl|0,x|0,d|0),{h,l:m}=j.add(this.Gh|0,this.Gl|0,h|0,m|0),{h:g,l:A}=j.add(this.Hh|0,this.Hl|0,g|0,A|0),this.set(n,o,s,i,a,c,f,u,l,p,x,d,h,m,g,A)}roundClean(){cr.fill(0),ur.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 xn=As(()=>new za);var Is={};M(Is,{bitGet:()=>Kb,bitLen:()=>Hb,bitMask:()=>fo,bitSet:()=>zb,bytesToHex:()=>Ot,bytesToNumberBE:()=>Vt,bytesToNumberLE:()=>lr,concatBytes:()=>Pt,createHmacDrbg:()=>ja,ensureBytes:()=>de,equalBytes:()=>Fb,hexToBytes:()=>Vr,hexToNumber:()=>Ga,isBytes:()=>ht,numberToBytesBE:()=>fr,numberToBytesLE:()=>Pr,numberToHexUnpadded:()=>Wf,numberToVarBytesBE:()=>Mb,utf8ToBytes:()=>$b,validateObject:()=>Et});var jf=BigInt(0),Ss=BigInt(1),Vb=BigInt(2);function ht(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}var Pb=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function Ot(r){if(!ht(r))throw new Error("Uint8Array expected");let e="";for(let t=0;t<r.length;t++)e+=Pb[r[t]];return e}function Wf(r){let e=r.toString(16);return e.length&1?`0${e}`:e}function Ga(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Lt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function qf(r){if(r>=Lt._0&&r<=Lt._9)return r-Lt._0;if(r>=Lt._A&&r<=Lt._F)return r-(Lt._A-10);if(r>=Lt._a&&r<=Lt._f)return r-(Lt._a-10)}function Vr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let e=r.length,t=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(t);for(let o=0,s=0;o<t;o++,s+=2){let i=qf(r.charCodeAt(s)),a=qf(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Vt(r){return Ga(Ot(r))}function lr(r){if(!ht(r))throw new Error("Uint8Array expected");return Ga(Ot(Uint8Array.from(r).reverse()))}function fr(r,e){return Vr(r.toString(16).padStart(e*2,"0"))}function Pr(r,e){return fr(r,e).reverse()}function Mb(r){return Vr(Wf(r))}function de(r,e,t){let n;if(typeof e=="string")try{n=Vr(e)}catch(s){throw new Error(`${r} must be valid hex string, got "${e}". Cause: ${s}`)}else if(ht(e))n=Uint8Array.from(e);else throw new Error(`${r} must be hex string or Uint8Array`);let o=n.length;if(typeof t=="number"&&o!==t)throw new Error(`${r} expected ${t} bytes, got ${o}`);return n}function Pt(...r){let e=0;for(let o=0;o<r.length;o++){let s=r[o];if(!ht(s))throw new Error("Uint8Array expected");e+=s.length}let t=new Uint8Array(e),n=0;for(let o=0;o<r.length;o++){let s=r[o];t.set(s,n),n+=s.length}return t}function Fb(r,e){if(r.length!==e.length)return!1;let t=0;for(let n=0;n<r.length;n++)t|=r[n]^e[n];return t===0}function $b(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Hb(r){let e;for(e=0;r>jf;r>>=Ss,e+=1);return e}function Kb(r,e){return r>>BigInt(e)&Ss}var zb=(r,e,t)=>r|(t?Ss:jf)<<BigInt(e),fo=r=>(Vb<<BigInt(r-1))-Ss,qa=r=>new Uint8Array(r),Gf=r=>Uint8Array.from(r);function ja(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=qa(r),o=qa(r),s=0,i=()=>{n.fill(1),o.fill(0),s=0},a=(...l)=>t(o,n,...l),c=(l=qa())=>{o=a(Gf([0]),l),n=a(),l.length!==0&&(o=a(Gf([1]),l),n=a())},f=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,p=[];for(;l<e;){n=a();let x=n.slice();p.push(x),l+=n.length}return Pt(...p)};return(l,p)=>{i(),c(l);let x;for(;!(x=p(f()));)c();return i(),x}}var qb={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"||ht(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Et(r,e,t={}){let n=(o,s,i)=>{let a=qb[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=r[o];if(!(i&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(o)}=${c} (${typeof c}), expected ${s}`)};for(let[o,s]of Object.entries(e))n(o,s,!1);for(let[o,s]of Object.entries(t))n(o,s,!0);return r}var xe=BigInt(0),ie=BigInt(1),Mr=BigInt(2),Gb=BigInt(3),Wa=BigInt(4),Yf=BigInt(5),Zf=BigInt(8),jb=BigInt(9),Wb=BigInt(16);function oe(r,e){let t=r%e;return t>=xe?t:e+t}function Yb(r,e,t){if(t<=xe||e<xe)throw new Error("Expected power/modulo > 0");if(t===ie)return xe;let n=ie;for(;e>xe;)e&ie&&(n=n*r%t),r=r*r%t,e>>=ie;return n}function ae(r,e,t){let n=r;for(;e-- >xe;)n*=n,n%=t;return n}function Cs(r,e){if(r===xe||e<=xe)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=oe(r,e),n=e,o=xe,s=ie,i=ie,a=xe;for(;t!==xe;){let f=n/t,u=n%t,l=o-i*f,p=s-a*f;n=t,t=u,o=i,s=a,i=l,a=p}if(n!==ie)throw new Error("invert: does not exist");return oe(o,e)}function Zb(r){let e=(r-ie)/Mr,t,n,o;for(t=r-ie,n=0;t%Mr===xe;t/=Mr,n++);for(o=Mr;o<r&&Yb(o,e,r)!==r-ie;o++);if(n===1){let i=(r+ie)/Wa;return function(c,f){let u=c.pow(f,i);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}let s=(t+ie)/Mr;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,u=a.pow(a.mul(a.ONE,o),t),l=a.pow(c,s),p=a.pow(c,t);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let x=1;for(let h=a.sqr(p);x<f&&!a.eql(h,a.ONE);x++)h=a.sqr(h);let d=a.pow(u,ie<<BigInt(f-x-1));u=a.sqr(d),l=a.mul(l,d),p=a.mul(p,u),f=x}return l}}function Jb(r){if(r%Wa===Gb){let e=(r+ie)/Wa;return function(n,o){let s=n.pow(o,e);if(!n.eql(n.sqr(s),o))throw new Error("Cannot find square root");return s}}if(r%Zf===Yf){let e=(r-Yf)/Zf;return function(n,o){let s=n.mul(o,Mr),i=n.pow(s,e),a=n.mul(o,i),c=n.mul(n.mul(a,Mr),i),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%Wb,Zb(r)}var Jf=(r,e)=>(oe(r,e)&ie)===ie,Xb=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ya(r){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=Xb.reduce((n,o)=>(n[o]="function",n),e);return Et(r,t)}function Qb(r,e,t){if(t<xe)throw new Error("Expected power > 0");if(t===xe)return r.ONE;if(t===ie)return e;let n=r.ONE,o=e;for(;t>xe;)t&ie&&(n=r.mul(n,o)),o=r.sqr(o),t>>=ie;return n}function ew(r,e){let t=new Array(e.length),n=e.reduce((s,i,a)=>r.is0(i)?s:(t[a]=s,r.mul(s,i)),r.ONE),o=r.inv(n);return e.reduceRight((s,i,a)=>r.is0(i)?s:(t[a]=r.mul(s,t[a]),r.mul(s,i)),o),t}function Za(r,e){let t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function Ts(r,e,t=!1,n={}){if(r<=xe)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:s}=Za(r,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let i=Jb(r),a=Object.freeze({ORDER:r,BITS:o,BYTES:s,MASK:fo(o),ZERO:xe,ONE:ie,create:c=>oe(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return xe<=c&&c<r},is0:c=>c===xe,isOdd:c=>(c&ie)===ie,neg:c=>oe(-c,r),eql:(c,f)=>c===f,sqr:c=>oe(c*c,r),add:(c,f)=>oe(c+f,r),sub:(c,f)=>oe(c-f,r),mul:(c,f)=>oe(c*f,r),pow:(c,f)=>Qb(a,c,f),div:(c,f)=>oe(c*Cs(f,r),r),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>Cs(c,r),sqrt:n.sqrt||(c=>i(a,c)),invertBatch:c=>ew(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>t?Pr(c,s):fr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return t?lr(c):Vt(c)}});return Object.freeze(a)}function Xf(r,e){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let t=r.sqrt(e);return r.isOdd(t)?r.neg(t):t}function Qf(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let e=r.toString(2).length;return Math.ceil(e/8)}function Ja(r){let e=Qf(r);return e+Math.ceil(e/2)}function eh(r,e,t=!1){let n=r.length,o=Qf(e),s=Ja(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let i=t?Vt(r):lr(r),a=oe(i,e-ie)+ie;return t?Pr(a,o):fr(a,o)}var rw=BigInt(0),Xa=BigInt(1);function ks(r,e){let t=(o,s)=>{let i=s.negate();return o?i:s},n=o=>{let s=Math.ceil(e/o)+1,i=2**(o-1);return{windows:s,windowSize:i}};return{constTimeNegate:t,unsafeLadder(o,s){let i=r.ZERO,a=o;for(;s>rw;)s&Xa&&(i=i.add(a)),a=a.double(),s>>=Xa;return i},precomputeWindow(o,s){let{windows:i,windowSize:a}=n(s),c=[],f=o,u=f;for(let l=0;l<i;l++){u=f,c.push(u);for(let p=1;p<a;p++)u=u.add(f),c.push(u);f=u.double()}return c},wNAF(o,s,i){let{windows:a,windowSize:c}=n(o),f=r.ZERO,u=r.BASE,l=BigInt(2**o-1),p=2**o,x=BigInt(o);for(let d=0;d<a;d++){let h=d*c,m=Number(i&l);i>>=x,m>c&&(m-=p,i+=Xa);let g=h,A=h+Math.abs(m)-1,b=d%2!==0,S=m<0;m===0?u=u.add(t(b,s[g])):f=f.add(t(S,s[A]))}return{p:f,f:u}},wNAFCached(o,s,i,a){let c=o._WINDOW_SIZE||1,f=s.get(o);return f||(f=this.precomputeWindow(o,c),c!==1&&s.set(o,a(f))),this.wNAF(c,f,i)}}}function ho(r){return Ya(r.Fp),Et(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Za(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var dt=BigInt(0),Qe=BigInt(1),Rs=BigInt(2),nw=BigInt(8),ow={zip215:!0};function sw(r){let e=ho(r);return Et(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Ns(r){let e=sw(r),{Fp:t,n,prehash:o,hash:s,randomBytes:i,nByteLength:a,h:c}=e,f=Rs<<BigInt(a*8)-Qe,u=t.create,l=e.uvRatio||((T,E)=>{try{return{isValid:!0,value:t.sqrt(T*t.inv(E))}}catch{return{isValid:!1,value:dt}}}),p=e.adjustScalarBytes||(T=>T),x=e.domain||((T,E,L)=>{if(E.length||L)throw new Error("Contexts/pre-hash are not supported");return T}),d=T=>typeof T=="bigint"&&dt<T,h=(T,E)=>d(T)&&d(E)&&T<E,m=T=>T===dt||h(T,f);function g(T,E){if(h(T,E))return T;throw new Error(`Expected valid scalar < ${E}, got ${typeof T} ${T}`)}function A(T){return T===dt?T:g(T,n)}let b=new Map;function S(T){if(!(T instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(E,L,F,z){if(this.ex=E,this.ey=L,this.ez=F,this.et=z,!m(E))throw new Error("x required");if(!m(L))throw new Error("y required");if(!m(F))throw new Error("z required");if(!m(z))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(E){if(E instanceof v)throw new Error("extended point not allowed");let{x:L,y:F}=E||{};if(!m(L)||!m(F))throw new Error("invalid affine point");return new v(L,F,Qe,u(L*F))}static normalizeZ(E){let L=t.invertBatch(E.map(F=>F.ez));return E.map((F,z)=>F.toAffine(L[z])).map(v.fromAffine)}_setWindowSize(E){this._WINDOW_SIZE=E,b.delete(this)}assertValidity(){let{a:E,d:L}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:F,ey:z,ez:W,et:Y}=this,ne=u(F*F),J=u(z*z),Q=u(W*W),ye=u(Q*Q),fe=u(ne*E),Ae=u(Q*u(fe+J)),Be=u(ye+u(L*u(ne*J)));if(Ae!==Be)throw new Error("bad point: equation left != right (1)");let we=u(F*z),Ne=u(W*Y);if(we!==Ne)throw new Error("bad point: equation left != right (2)")}equals(E){S(E);let{ex:L,ey:F,ez:z}=this,{ex:W,ey:Y,ez:ne}=E,J=u(L*ne),Q=u(W*z),ye=u(F*ne),fe=u(Y*z);return J===Q&&ye===fe}is0(){return this.equals(v.ZERO)}negate(){return new v(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:E}=e,{ex:L,ey:F,ez:z}=this,W=u(L*L),Y=u(F*F),ne=u(Rs*u(z*z)),J=u(E*W),Q=L+F,ye=u(u(Q*Q)-W-Y),fe=J+Y,Ae=fe-ne,Be=J-Y,we=u(ye*Ae),Ne=u(fe*Be),_t=u(ye*Be),Nr=u(Ae*fe);return new v(we,Ne,Nr,_t)}add(E){S(E);let{a:L,d:F}=e,{ex:z,ey:W,ez:Y,et:ne}=this,{ex:J,ey:Q,ez:ye,et:fe}=E;if(L===BigInt(-1)){let nf=u((W-z)*(Q+J)),of=u((W+z)*(Q-J)),ha=u(of-nf);if(ha===dt)return this.double();let sf=u(Y*Rs*fe),af=u(ne*Rs*ye),cf=af+sf,uf=of+nf,lf=af-sf,Dg=u(cf*ha),Lg=u(uf*lf),Og=u(cf*lf),Vg=u(ha*uf);return new v(Dg,Lg,Vg,Og)}let Ae=u(z*J),Be=u(W*Q),we=u(ne*F*fe),Ne=u(Y*ye),_t=u((z+W)*(J+Q)-Ae-Be),Nr=Ne-we,so=Ne+we,rf=u(Be-L*Ae),Rg=u(_t*Nr),Ng=u(so*rf),Ug=u(_t*rf),_g=u(Nr*so);return new v(Rg,Ng,_g,Ug)}subtract(E){return this.add(E.negate())}wNAF(E){return y.wNAFCached(this,b,E,v.normalizeZ)}multiply(E){let{p:L,f:F}=this.wNAF(g(E,n));return v.normalizeZ([L,F])[0]}multiplyUnsafe(E){let L=A(E);return L===dt?C:this.equals(C)||L===Qe?this:this.equals(I)?this.wNAF(L).p:y.unsafeLadder(this,L)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return y.unsafeLadder(this,n).is0()}toAffine(E){let{ex:L,ey:F,ez:z}=this,W=this.is0();E==null&&(E=W?nw:t.inv(z));let Y=u(L*E),ne=u(F*E),J=u(z*E);if(W)return{x:dt,y:Qe};if(J!==Qe)throw new Error("invZ was invalid");return{x:Y,y:ne}}clearCofactor(){let{h:E}=e;return E===Qe?this:this.multiplyUnsafe(E)}static fromHex(E,L=!1){let{d:F,a:z}=e,W=t.BYTES;E=de("pointHex",E,W);let Y=E.slice(),ne=E[W-1];Y[W-1]=ne&-129;let J=lr(Y);J===dt||(L?g(J,f):g(J,t.ORDER));let Q=u(J*J),ye=u(Q-Qe),fe=u(F*Q-z),{isValid:Ae,value:Be}=l(ye,fe);if(!Ae)throw new Error("Point.fromHex: invalid y coordinate");let we=(Be&Qe)===Qe,Ne=(ne&128)!==0;if(!L&&Be===dt&&Ne)throw new Error("Point.fromHex: x=0 and x_0=1");return Ne!==we&&(Be=u(-Be)),v.fromAffine({x:Be,y:J})}static fromPrivateKey(E){return U(E).point}toRawBytes(){let{x:E,y:L}=this.toAffine(),F=Pr(L,t.BYTES);return F[F.length-1]|=E&Qe?128:0,F}toHex(){return Ot(this.toRawBytes())}}v.BASE=new v(e.Gx,e.Gy,Qe,u(e.Gx*e.Gy)),v.ZERO=new v(dt,Qe,Qe,dt);let{BASE:I,ZERO:C}=v,y=ks(v,a*8);function k(T){return oe(T,n)}function O(T){return k(lr(T))}function U(T){let E=a;T=de("private key",T,E);let L=de("hashed private key",s(T),2*E),F=p(L.slice(0,E)),z=L.slice(E,2*E),W=O(F),Y=I.multiply(W),ne=Y.toRawBytes();return{head:F,prefix:z,scalar:W,point:Y,pointBytes:ne}}function V(T){return U(T).pointBytes}function H(T=new Uint8Array,...E){let L=Pt(...E);return O(s(x(L,de("context",T),!!o)))}function X(T,E,L={}){T=de("message",T),o&&(T=o(T));let{prefix:F,scalar:z,pointBytes:W}=U(E),Y=H(L.context,F,T),ne=I.multiply(Y).toRawBytes(),J=H(L.context,ne,W,T),Q=k(Y+J*z);A(Q);let ye=Pt(ne,Pr(Q,t.BYTES));return de("result",ye,a*2)}let B=ow;function R(T,E,L,F=B){let{context:z,zip215:W}=F,Y=t.BYTES;T=de("signature",T,2*Y),E=de("message",E),o&&(E=o(E));let ne=lr(T.slice(Y,2*Y)),J,Q,ye;try{J=v.fromHex(L,W),Q=v.fromHex(T.slice(0,Y),W),ye=I.multiplyUnsafe(ne)}catch{return!1}if(!W&&J.isSmallOrder())return!1;let fe=H(z,Q.toRawBytes(),J.toRawBytes(),E);return Q.add(J.multiplyUnsafe(fe)).subtract(ye).clearCofactor().equals(v.ZERO)}return I._setWindowSize(8),{CURVE:e,getPublicKey:V,sign:X,verify:R,ExtendedPoint:v,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>i(t.BYTES),precompute(T=8,E=v.BASE){return E._setWindowSize(T),E.multiply(BigInt(3)),E}}}}var ec=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),th=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),i6=BigInt(0),iw=BigInt(1),Qa=BigInt(2),aw=BigInt(5),rh=BigInt(10),cw=BigInt(20),uw=BigInt(40),nh=BigInt(80);function lw(r){let e=ec,n=r*r%e*r%e,o=ae(n,Qa,e)*n%e,s=ae(o,iw,e)*r%e,i=ae(s,aw,e)*s%e,a=ae(i,rh,e)*i%e,c=ae(a,cw,e)*a%e,f=ae(c,uw,e)*c%e,u=ae(f,nh,e)*f%e,l=ae(u,nh,e)*f%e,p=ae(l,rh,e)*i%e;return{pow_p_5_8:ae(p,Qa,e)*r%e,b2:n}}function fw(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function hw(r,e){let t=ec,n=oe(e*e*e,t),o=oe(n*n*e,t),s=lw(r*o).pow_p_5_8,i=oe(r*n*s,t),a=oe(e*i*i,t),c=i,f=oe(i*th,t),u=a===r,l=a===oe(-r,t),p=a===oe(-r*th,t);return u&&(i=c),(l||p)&&(i=f),Jf(i,t)&&(i=oe(-i,t)),{isValid:u||l,value:i}}var Mt=Ts(ec,void 0,!0),tc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Mt,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:xn,randomBytes:bn,adjustScalarBytes:fw,uvRatio:hw},vn=Ns(tc);function oh(r,e,t){if(e.length>255)throw new Error("Context is too big");return Es(Ha("SigEd25519 no Ed25519 collisions"),new Uint8Array([t?1:0,e.length]),e,r)}var a6=Ns({...tc,domain:oh}),c6=Ns({...tc,domain:oh,prehash:xn});var dw=(Mt.ORDER+BigInt(3))/BigInt(8),u6=Mt.pow(Qa,dw),l6=Mt.sqrt(Mt.neg(Mt.ONE)),f6=(Mt.ORDER-BigInt(5))/BigInt(8),h6=BigInt(486662);var d6=Xf(Mt,Mt.neg(BigInt(486664)));var p6=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),m6=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),g6=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),y6=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var b6=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var En=32,Ft=64,Us=32;function sh(){let r=vn.utils.randomPrivateKey(),e=vn.getPublicKey(r);return{privateKey:uh(r,e),publicKey:e}}function ih(r){if(r.length!==Us)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=r,t=vn.getPublicKey(e);return{privateKey:uh(e,t),publicKey:t}}function ah(r,e){let t=r.subarray(0,Us);return vn.sign(e instanceof Uint8Array?e:e.subarray(),t)}function ch(r,e,t){return vn.verify(e,t instanceof Uint8Array?t:t.subarray(),r)}function uh(r,e){let t=new Uint8Array(Ft);for(let n=0;n<Us;n++)t[n]=r[n],t[Us+n]=e[n];return t}var Pe={get(r=globalThis){let e=r.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("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"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var rc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function lh(r){let e=r?.algorithm??"AES-GCM",t=r?.keyLength??16,n=r?.nonceLength??12,o=r?.digest??"SHA-256",s=r?.saltLength??16,i=r?.iterations??32767,a=Pe.get();t*=8;async function c(l,p){let x=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),h={name:e,iv:d};typeof p=="string"&&(p=ee(p));let m;if(p.length===0){m=await a.subtle.importKey("jwk",rc,{name:"AES-GCM"},!0,["encrypt"]);try{let A={name:"PBKDF2",salt:x,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(A,b,{name:e,length:t},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",rc,{name:"AES-GCM"},!0,["encrypt"])}}else{let A={name:"PBKDF2",salt:x,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(A,b,{name:e,length:t},!0,["encrypt"])}let g=await a.subtle.encrypt(h,m,l);return Or([x,h.iv,new Uint8Array(g)])}async function f(l,p){let x=l.subarray(0,s),d=l.subarray(s,s+n),h=l.subarray(s+n),m={name:e,iv:d};typeof p=="string"&&(p=ee(p));let g;if(p.length===0)try{let b={name:"PBKDF2",salt:x,iterations:i,hash:{name:o}},S=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,S,{name:e,length:t},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",rc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:x,iterations:i,hash:{name:o}},S=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,S,{name:e,length:t},!0,["decrypt"])}let A=await a.subtle.decrypt(m,g,h);return new Uint8Array(A)}return{encrypt:c,decrypt:f}}async function An(r,e){let n=await lh().encrypt(r,e);return io.encode(n)}var nc=new Float32Array([-0]),hr=new Uint8Array(nc.buffer);function fh(r,e,t){nc[0]=r,e[t]=hr[0],e[t+1]=hr[1],e[t+2]=hr[2],e[t+3]=hr[3]}function hh(r,e){return hr[0]=r[e],hr[1]=r[e+1],hr[2]=r[e+2],hr[3]=r[e+3],nc[0]}var oc=new Float64Array([-0]),De=new Uint8Array(oc.buffer);function dh(r,e,t){oc[0]=r,e[t]=De[0],e[t+1]=De[1],e[t+2]=De[2],e[t+3]=De[3],e[t+4]=De[4],e[t+5]=De[5],e[t+6]=De[6],e[t+7]=De[7]}function ph(r,e){return De[0]=r[e],De[1]=r[e+1],De[2]=r[e+2],De[3]=r[e+3],De[4]=r[e+4],De[5]=r[e+5],De[6]=r[e+6],De[7]=r[e+7],oc[0]}var gw=BigInt(Number.MAX_SAFE_INTEGER),yw=BigInt(Number.MIN_SAFE_INTEGER),ze=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return Fr;if(e<gw&&e>yw)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,o=e-(n<<32n);return t&&(n=~n|0n,o=~o|0n,++o>mh&&(o=0n,++n>mh&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(e){if(e===0)return Fr;let t=e<0;t&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return t&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):Fr}},Fr=new ze(0,0);Fr.toBigInt=function(){return 0n};Fr.zzEncode=Fr.zzDecode=function(){return this};Fr.length=function(){return 1};var mh=4294967296n;function gh(r){let e=0,t=0;for(let n=0;n<r.length;++n)t=r.charCodeAt(n),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function yh(r,e,t){if(t-e<1)return"";let o,s=[],i=0,a;for(;e<t;)a=r[e++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[e++]&63:a>239&&a<365?(a=((a&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function sc(r,e,t){let n=t,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?e[t++]=o:o<2048?(e[t++]=o>>6|192,e[t++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,e[t++]=o>>18|240,e[t++]=o>>12&63|128,e[t++]=o>>6&63|128,e[t++]=o&63|128):(e[t++]=o>>12|224,e[t++]=o>>6&63|128,e[t++]=o&63|128);return t-n}function pt(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function _s(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var ic=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,pt(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw pt(this,4);return _s(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw pt(this,4);return _s(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw pt(this,4);let e=hh(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw pt(this,4);let e=ph(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw pt(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return yh(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw pt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw pt(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new ze(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw pt(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw pt(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw pt(this,8);let e=_s(this.buf,this.pos+=4),t=_s(this.buf,this.pos+=4);return new ze(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 ac(r){return new ic(r instanceof Uint8Array?r:r.subarray())}function dr(r,e){let t=ac(r);return e.decode(t)}function cc(r){let e=r??8192,t=e>>>1,n,o=e;return function(i){if(i<1||i>t)return lt(i);o+i>e&&(n=lt(e),o=0);let a=n.subarray(o,o+=i);return o&7&&(o=(o|7)+1),a}}var $r=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function uc(){}var fc=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},bw=cc();function ww(r){return globalThis.Buffer!=null?lt(r):bw(r)}var go=class{len;head;tail;states;constructor(){this.len=0,this.head=new $r(uc,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new $r(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new hc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(po,10,ze.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=ze.fromBigInt(e);return this._push(po,t.length(),t)}uint64Number(e){let t=ze.fromNumber(e);return this._push(po,t.length(),t)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=ze.fromBigInt(e).zzEncode();return this._push(po,t.length(),t)}sint64Number(e){let t=ze.fromNumber(e).zzEncode();return this._push(po,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(lc,1,e?1:0)}fixed32(e){return this._push(mo,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=ze.fromBigInt(e);return this._push(mo,4,t.lo)._push(mo,4,t.hi)}fixed64Number(e){let t=ze.fromNumber(e);return this._push(mo,4,t.lo)._push(mo,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(fh,4,e)}double(e){return this._push(dh,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(lc,1,0):this.uint32(t)._push(vw,t,e)}string(e){let t=gh(e);return t!==0?this.uint32(t)._push(sc,t,e):this._push(lc,1,0)}fork(){return this.states=new fc(this),this.head=this.tail=new $r(uc,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 $r(uc,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=t,this.len+=n),this}finish(){let e=this.head.next,t=ww(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function lc(r,e,t){e[t]=r&255}function xw(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var hc=class extends $r{next;constructor(e,t){super(xw,e,t),this.next=void 0}};function po(r,e,t){for(;r.hi!==0;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}function mo(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function vw(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(go.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(Ew,e,r),this},go.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(Aw,e,r),this});function Ew(r,e,t){e.set(r,t)}function Aw(r,e,t){r.length<40?sc(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(ee(r),t)}function dc(){return new go}function pr(r,e){let t=dc();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var Bn;(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"})(Bn||(Bn={}));function Ds(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function yo(r){function e(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let t=function(s,i){let a=e(s);i.int32(a)},n=function(s){let i=s.int32();return e(i)};return Ds("enum",Bn.VARINT,t,n)}function mr(r,e){return Ds("message",Bn.LENGTH_DELIMITED,r,e)}var ce;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(ce||(ce={}));var pc;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(pc||(pc={}));(function(r){r.codec=()=>yo(pc)})(ce||(ce={}));var At;(function(r){let e;r.codec=()=>(e==null&&(e=mr((t,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),t.Type!=null&&(n.uint32(8),ce.codec().encode(t.Type,n)),t.Data!=null&&(n.uint32(18),n.bytes(t.Data)),o.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let o={},s=n==null?t.len:t.pos+n;for(;t.pos<s;){let i=t.uint32();switch(i>>>3){case 1:o.Type=ce.codec().decode(t);break;case 2:o.Data=t.bytes();break;default:t.skipType(i&7);break}}return o})),e),r.encode=t=>pr(t,r.codec()),r.decode=t=>dr(t,r.codec())})(At||(At={}));var Bt;(function(r){let e;r.codec=()=>(e==null&&(e=mr((t,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),t.Type!=null&&(n.uint32(8),ce.codec().encode(t.Type,n)),t.Data!=null&&(n.uint32(18),n.bytes(t.Data)),o.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let o={},s=n==null?t.len:t.pos+n;for(;t.pos<s;){let i=t.uint32();switch(i>>>3){case 1:o.Type=ce.codec().decode(t);break;case 2:o.Data=t.bytes();break;default:t.skipType(i&7);break}}return o})),e),r.encode=t=>pr(t,r.codec()),r.decode=t=>dr(t,r.codec())})(Bt||(Bt={}));var bo=class{_key;constructor(e){this._key=Sn(e,En)}verify(e,t){return ch(this._key,t,e)}marshal(){return this._key}get bytes(){return At.encode({Type:ce.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ce(this.bytes,e.bytes)}hash(){let e=Ie.digest(this.bytes);return ot(e)?e.then(({bytes:t})=>t):e.bytes}},Hr=class{_key;_publicKey;constructor(e,t){this._key=Sn(e,Ft),this._publicKey=Sn(t,En)}sign(e){return ah(this._key,e)}get public(){return new bo(this._publicKey)}marshal(){return this._key}get bytes(){return Bt.encode({Type:ce.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ce(this.bytes,e.bytes)}async hash(){let e=Ie.digest(this.bytes),t;return ot(e)?{bytes:t}=await e:t=e.bytes,t}async id(){let e=vt.digest(this.public.bytes);return Se.encode(e.bytes).substring(1)}async export(e,t="libp2p-key"){if(t==="libp2p-key")return An(this.bytes,e);throw new q(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Bw(r){if(r.length>Ft){r=Sn(r,Ft+En);let n=r.subarray(0,Ft),o=r.subarray(Ft,r.length);return new Hr(n,o)}r=Sn(r,Ft);let e=r.subarray(0,Ft),t=r.subarray(En);return new Hr(e,t)}function Sw(r){return r=Sn(r,En),new bo(r)}async function Iw(){let{privateKey:r,publicKey:e}=sh();return new Hr(r,e)}async function wh(r){let{privateKey:e,publicKey:t}=ih(r);return new Hr(e,t)}function Sn(r,e){if(r=Uint8Array.from(r??[]),r.length!==e)throw new q(`Key must be a Uint8Array of length ${e}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function ue(r,e="utf8"){let t=ws[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}var Sc={};M(Sc,{MAX_RSA_KEY_SIZE:()=>Ro,RsaPrivateKey:()=>Rn,RsaPublicKey:()=>ko,fromJwk:()=>Qw,generateKeyPair:()=>ex,unmarshalRsaPrivateKey:()=>Ac,unmarshalRsaPublicKey:()=>Xw});function Kr(r){if(isNaN(r)||r<=0)throw new q("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return bn(r)}var wr={};M(wr,{exportToPem:()=>jw,importFromPem:()=>Ww,jwkToPkcs1:()=>Kw,jwkToPkix:()=>qw,pkcs1ToJwk:()=>Hw,pkixToJwk:()=>zw});var Os=class extends gn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,xs(e);let n=ar(t);if(this.iHash=e.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,s=new Uint8Array(o);s.set(n.length>o?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(e){return mn(this),this.iHash.update(e),this}digestInto(e){mn(this),$a(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=i,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},wo=(r,e,t)=>new Os(r,e).update(t).digest();wo.create=(r,e)=>new Os(r,e);function Cw(r,e,t,n){xs(r);let o=Kf({dkLen:32,asyncTick:10},n),{c:s,dkLen:i,asyncTick:a}=o;if(pn(s),pn(i),pn(a),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=ar(e),f=ar(t),u=new Uint8Array(i),l=wo.create(r,c),p=l._cloneInto().update(f);return{c:s,dkLen:i,asyncTick:a,DK:u,PRF:l,PRFSalt:p}}function Tw(r,e,t,n,o){return r.destroy(),e.destroy(),n&&n.destroy(),o.fill(0),t}async function gc(r,e,t,n){let{c:o,dkLen:s,asyncTick:i,DK:a,PRF:c,PRFSalt:f}=Cw(r,e,t,n),u,l=new Uint8Array(4),p=yn(l),x=new Uint8Array(c.outputLen);for(let d=1,h=0;h<s;d++,h+=c.outputLen){let m=a.subarray(h,h+c.outputLen);p.setInt32(0,d,!1),(u=f._cloneInto(u)).update(l).digestInto(x),m.set(x.subarray(0,m.length)),await Hf(o-1,i,()=>{c._cloneInto(u).update(x).digestInto(x);for(let g=0;g<m.length;g++)m[g]^=x[g]})}return Tw(c,f,a,u,x)}var Z=_e(xh());function zr(r,e){let t=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)t+=r[r.length-1-n]*Math.pow(2,e*n);return t}function gr(r,e,t=-1){let n=t,o=r,s=0,i=Math.pow(2,e);for(let a=1;a<8;a++){if(r<i){let c;if(n<0)c=new ArrayBuffer(a),s=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),s=n}let f=new Uint8Array(c);for(let u=a-1;u>=0;u--){let l=Math.pow(2,u*e);f[s-u-1]=Math.floor(o/l),o-=f[s-u-1]*l}return c}i*=Math.pow(2,e)}return new ArrayBuffer(0)}function Ms(...r){let e=0,t=0;for(let s of r)e+=s.length;let n=new ArrayBuffer(e),o=new Uint8Array(n);for(let s of r)o.set(s,t),t+=s.length;return o}function bc(){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 e=new ArrayBuffer(this.valueHex.byteLength),t=new Uint8Array(e);for(let a=0;a<this.valueHex.byteLength;a++)t[a]=0;t[0]=r[0]&128;let n=zr(t,8),o=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(o);for(let a=0;a<this.valueHex.byteLength;a++)s[a]=r[a];return s[0]&=127,zr(s,8)-n}function vh(r){let e=r<0?r*-1:r,t=128;for(let n=1;n<8;n++){if(e<=t){if(r<0){let i=t-e,a=gr(i,8,n),c=new Uint8Array(a);return c[0]|=128,a}let o=gr(e,8,n),s=new Uint8Array(o);if(s[0]&128){let i=o.slice(0),a=new Uint8Array(i);o=new ArrayBuffer(o.byteLength+1),s=new Uint8Array(o);for(let c=0;c<i.byteLength;c++)s[c+1]=a[c];s[0]=0}return o}t*=Math.pow(2,8)}return new ArrayBuffer(0)}function Eh(r,e){if(r.byteLength!==e.byteLength)return!1;let t=new Uint8Array(r),n=new Uint8Array(e);for(let o=0;o<t.length;o++)if(t[o]!==n[o])return!1;return!0}function qe(r,e){let t=r.toString(10);if(e<t.length)return"";let n=e-t.length,o=new Array(n);for(let i=0;i<n;i++)o[i]="0";return o.join("").concat(t)}var AS=Math.log(2);function Fs(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function wc(r){let e=0,t=0;for(let o=0;o<r.length;o++){let s=r[o];e+=s.byteLength}let n=new Uint8Array(e);for(let o=0;o<r.length;o++){let s=r[o];n.set(new Uint8Array(s),t),t+=s.byteLength}return n.buffer}function qt(r,e,t,n){return e instanceof Uint8Array?e.byteLength?t<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-t-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 vo=class{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return wc(this.items)}},xo=[new Uint8Array([1])],Ah="0123456789";var Tn="",gt=new ArrayBuffer(0),xc=new Uint8Array(0),Eo="EndOfContent",Sh="OCTET STRING",Ih="BIT STRING";function Gt(r){var e;return e=class extends r{constructor(...n){var o;super(...n);let s=n[0]||{};this.isHexOnly=(o=s.isHexOnly)!==null&&o!==void 0?o:!1,this.valueHexView=s.valueHex?Z.BufferSourceConverter.toUint8Array(s.valueHex):xc}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,o,s){let i=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!qt(this,i,o,s))return-1;let a=o+s;return this.valueHexView=i.subarray(o,a),this.valueHexView.length?(this.blockLength=s,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",gt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Z.Convert.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}var Ht=class{constructor({blockLength:e=0,error:t=Tn,warnings:n=[],valueBeforeDecode:o=xc}={}){this.blockLength=e,this.error=t,this.warnings=n,this.valueBeforeDecodeView=Z.BufferSourceConverter.toUint8Array(o)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Z.Convert.ToHex(this.valueBeforeDecodeView)}}};Ht.NAME="baseBlock";var Le=class extends Ht{fromBER(e,t,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};Le.NAME="valueBlock";var $s=class extends Gt(Ht){constructor({idBlock:e={}}={}){var t,n,o,s;super(),e?(this.isHexOnly=(t=e.isHexOnly)!==null&&t!==void 0?t:!1,this.valueHexView=e.valueHex?Z.BufferSourceConverter.toUint8Array(e.valueHex):xc,this.tagClass=(n=e.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(o=e.tagNumber)!==null&&o!==void 0?o:-1,this.isConstructed=(s=e.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",gt}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){let o=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,t|=s,o[0]=t}return o.buffer}if(!this.isHexOnly){let o=gr(this.tagNumber,7),s=new Uint8Array(o),i=o.byteLength,a=new Uint8Array(i+1);if(a[0]=t|31,!e){for(let c=0;c<i-1;c++)a[c+1]=s[c]|128;a[i]=s[i-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=t|31,!e){let o=this.valueHexView;for(let s=0;s<o.length-1;s++)n[s+1]=o[s]|128;n[this.valueHexView.byteLength]=o[o.length-1]}return n.buffer}fromBER(e,t,n){let o=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,o,t,n))return-1;let s=o.subarray(t,t+n);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[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=(s[0]&32)===32,this.isHexOnly=!1;let a=s[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,f=this.valueHexView=new Uint8Array(255),u=255;for(;s[c]&128;){if(f[c-1]=s[c]&127,c++,c>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(c===u){u+=255;let p=new Uint8Array(u);for(let x=0;x<f.length;x++)p[x]=f[x];f=this.valueHexView=new Uint8Array(u)}}this.blockLength=c+1,f[c-1]=s[c]&127;let l=new Uint8Array(c);for(let p=0;p<c;p++)l[p]=f[p];f=this.valueHexView=new Uint8Array(c),f.set(l),this.blockLength<=9?this.tagNumber=zr(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 t+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};$s.NAME="identificationBlock";var Hs=class extends Ht{constructor({lenBlock:e={}}={}){var t,n,o;super(),this.isIndefiniteForm=(t=e.isIndefiniteForm)!==null&&t!==void 0?t:!1,this.longFormUsed=(n=e.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(o=e.length)!==null&&o!==void 0?o:0}fromBER(e,t,n){let o=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,o,t,n))return-1;let s=o.subarray(t,t+n);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,t+this.blockLength;let i=s[0]&127;if(i>8)return this.error="Too big integer",-1;if(i+1>s.length)return this.error="End of input reached before message was fully decoded",-1;let a=t+1,c=o.subarray(a,a+i);return c[i-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=zr(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=i+1,t+this.blockLength}toBER(e=!1){let t,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(n=new Uint8Array(t),n[0]=128),t;if(this.longFormUsed){let o=gr(this.length,8);if(o.byteLength>127)return this.error="Too big length",gt;if(t=new ArrayBuffer(o.byteLength+1),e)return t;let s=new Uint8Array(o);n=new Uint8Array(t),n[0]=o.byteLength|128;for(let i=0;i<o.byteLength;i++)n[i+1]=s[i];return t}return t=new ArrayBuffer(1),e===!1&&(n=new Uint8Array(t),n[0]=this.length),t}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};Hs.NAME="lengthBlock";var _={},Te=class extends Ht{constructor({name:e=Tn,optional:t=!1,primitiveSchema:n,...o}={},s){super(o),this.name=e,this.optional=t,n&&(this.primitiveSchema=n),this.idBlock=new $s(o),this.lenBlock=new Hs(o),this.valueBlock=s?new s(o):new Le(o)}fromBER(e,t,n){let o=this.valueBlock.fromBER(e,t,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(e,t){let n=t||new vo;t||Ch(this);let o=this.idBlock.toBER(e);if(n.write(o),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,n),n.write(new ArrayBuffer(2));else{let s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;let i=this.lenBlock.toBER(e);n.write(i),n.write(s)}return t?gt:n.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():Z.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${Z.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;let t=this.toBER(),n=e.toBER();return Eh(t,n)}};Te.NAME="BaseBlock";function Ch(r){if(r instanceof _.Constructed)for(let e of r.valueBlock.value)Ch(e)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var Ks=class extends Te{constructor({value:e=Tn,...t}={},n){super(t,n),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,t,n){let o=this.valueBlock.fromBER(e,t,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}'`}};Ks.NAME="BaseStringBlock";var zs=class extends Gt(Le){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e}};zs.NAME="PrimitiveValueBlock";var Th,qs=class extends Te{constructor(e={}){super(e,zs),this.idBlock.isConstructed=!1}};Th=qs;_.Primitive=Th;qs.NAME="PRIMITIVE";function Vw(r,e){if(r instanceof e)return r;let t=new e;return t.idBlock=r.idBlock,t.lenBlock=r.lenBlock,t.warnings=r.warnings,t.valueBeforeDecodeView=r.valueBeforeDecodeView,t}function Bi(r,e=0,t=r.length){let n=e,o=new Te({},Le),s=new Ht;if(!qt(s,r,e,t))return o.error=s.error,{offset:-1,result:o};if(!r.subarray(e,e+t).length)return o.error="Zero buffer length",{offset:-1,result:o};let a=o.idBlock.fromBER(r,e,t);if(o.idBlock.warnings.length&&o.warnings.concat(o.idBlock.warnings),a===-1)return o.error=o.idBlock.error,{offset:-1,result:o};if(e=a,t-=o.idBlock.blockLength,a=o.lenBlock.fromBER(r,e,t),o.lenBlock.warnings.length&&o.warnings.concat(o.lenBlock.warnings),a===-1)return o.error=o.lenBlock.error,{offset:-1,result:o};if(e=a,t-=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=Te;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=_.EndOfContent;break;case 1:c=_.Boolean;break;case 2:c=_.Integer;break;case 3:c=_.BitString;break;case 4:c=_.OctetString;break;case 5:c=_.Null;break;case 6:c=_.ObjectIdentifier;break;case 10:c=_.Enumerated;break;case 12:c=_.Utf8String;break;case 13:c=_.RelativeObjectIdentifier;break;case 14:c=_.TIME;break;case 15:return o.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:o};case 16:c=_.Sequence;break;case 17:c=_.Set;break;case 18:c=_.NumericString;break;case 19:c=_.PrintableString;break;case 20:c=_.TeletexString;break;case 21:c=_.VideotexString;break;case 22:c=_.IA5String;break;case 23:c=_.UTCTime;break;case 24:c=_.GeneralizedTime;break;case 25:c=_.GraphicString;break;case 26:c=_.VisibleString;break;case 27:c=_.GeneralString;break;case 28:c=_.UniversalString;break;case 29:c=_.CharacterString;break;case 30:c=_.BmpString;break;case 31:c=_.DATE;break;case 32:c=_.TimeOfDay;break;case 33:c=_.DateTime;break;case 34:c=_.Duration;break;default:{let f=o.idBlock.isConstructed?new _.Constructed:new _.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?_.Constructed:_.Primitive}return o=Vw(o,c),a=o.fromBER(r,e,o.lenBlock.isIndefiniteForm?t:o.lenBlock.length),o.valueBeforeDecodeView=r.subarray(n,n+o.blockLength),{offset:a,result:o}}function kn(r){if(!r.byteLength){let e=new Te({},Le);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Bi(Z.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function Pw(r,e){return r?1:e}var St=class extends Le{constructor({value:e=[],isIndefiniteForm:t=!1,...n}={}){super(n),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,n){let o=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,o,t,n))return-1;if(this.valueBeforeDecodeView=o.subarray(t,t+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let s=t;for(;Pw(this.isIndefiniteForm,n)>0;){let i=Bi(o,s,n);if(i.offset===-1)return this.error=i.result.error,this.warnings.concat(i.result.warnings),-1;if(s=i.offset,this.blockLength+=i.result.blockLength,n-=i.result.blockLength,this.value.push(i.result),this.isIndefiniteForm&&i.result.constructor.NAME===Eo)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Eo?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,t){let n=t||new vo;for(let o=0;o<this.value.length;o++)this.value[o].toBER(e,n);return t?gt:n.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let t of this.value)e.value.push(t.toJSON());return e}};St.NAME="ConstructedValueBlock";var kh,yr=class extends Te{constructor(e={}){super(e,St),this.idBlock.isConstructed=!0}fromBER(e,t,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let o=this.valueBlock.fromBER(e,t,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 e=[];for(let n of this.valueBlock.value)e.push(n.toString("ascii").split(`
|
|
4
|
+
`).map(o=>` ${o}`).join(`
|
|
5
|
+
`));let t=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${t} :
|
|
6
|
+
${e.join(`
|
|
7
|
+
`)}`:`${t} :`}};kh=yr;_.Constructed=kh;yr.NAME="CONSTRUCTED";var Gs=class extends Le{fromBER(e,t,n){return t}toBER(e){return gt}};Gs.override="EndOfContentValueBlock";var Rh,js=class extends Te{constructor(e={}){super(e,Gs),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};Rh=js;_.EndOfContent=Rh;js.NAME=Eo;var Nh,br=class extends Te{constructor(e={}){super(e,Le),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,t,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,t+n>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+n}toBER(e,t){let n=new ArrayBuffer(2);if(!e){let o=new Uint8Array(n);o[0]=5,o[1]=0}return t&&t.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};Nh=br;_.Null=Nh;br.NAME="NULL";var Ws=class extends Gt(Le){constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=Z.BufferSourceConverter.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}get value(){for(let e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}fromBER(e,t,n){let o=Z.BufferSourceConverter.toUint8Array(e);return qt(this,o,t,n)?(this.valueHexView=o.subarray(t,t+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,bc.call(this),this.blockLength=n,t+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Ws.NAME="BooleanValueBlock";var Uh,Ys=class extends Te{constructor(e={}){super(e,Ws),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Uh=Ys;_.Boolean=Uh;Ys.NAME="BOOLEAN";var Zs=class extends Gt(St){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e}fromBER(e,t,n){let o=0;if(this.isConstructed){if(this.isHexOnly=!1,o=St.prototype.fromBER.call(this,e,t,n),o===-1)return o;for(let s=0;s<this.value.length;s++){let i=this.value[s].constructor.NAME;if(i===Eo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(i!==Sh)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,o=super.fromBER(e,t,n),this.blockLength=n;return o}toBER(e,t){return this.isConstructed?St.prototype.toBER.call(this,e,t):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};Zs.NAME="OctetStringValueBlock";var _h,Kt=class r extends Te{constructor({idBlock:e={},lenBlock:t={},...n}={}){var o,s;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((s=n.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:n.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!n.isIndefiniteForm},...n},Zs),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,t,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),t;if(!this.valueBlock.isConstructed){let s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(t,t+n);try{if(s.byteLength){let i=Bi(s,0,s.byteLength);i.offset!==-1&&i.offset===n&&(this.valueBlock.value=[i.result])}}catch{}}return super.fromBER(e,t,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?yr.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${Z.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let e=[];for(let t of this.valueBlock.value)t instanceof r&&e.push(t.valueBlock.valueHexView);return Z.BufferSourceConverter.concat(e)}};_h=Kt;_.OctetString=_h;Kt.NAME=Sh;var Js=class extends Gt(St){constructor({unusedBits:e=0,isConstructed:t=!1,...n}={}){super(n),this.unusedBits=e,this.isConstructed=t,this.blockLength=this.valueHexView.byteLength}fromBER(e,t,n){if(!n)return t;let o=-1;if(this.isConstructed){if(o=St.prototype.fromBER.call(this,e,t,n),o===-1)return o;for(let a of this.value){let c=a.constructor.NAME;if(c===Eo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Ih)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 s=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,s,t,n))return-1;let i=s.subarray(t,t+n);if(this.unusedBits=i[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=i.subarray(1);try{if(a.byteLength){let c=Bi(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=i.subarray(1),this.blockLength=i.length,t+n}toBER(e,t){if(this.isConstructed)return St.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return gt;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}}};Js.NAME="BitStringValueBlock";var Dh,Cn=class extends Te{constructor({idBlock:e={},lenBlock:t={},...n}={}){var o,s;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((s=n.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:n.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!n.isIndefiniteForm},...n},Js),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,t,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return yr.prototype.onAsciiEncoding.call(this);{let e=[],t=this.valueBlock.valueHexView;for(let o of t)e.push(o.toString(2).padStart(8,"0"));let n=e.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};Dh=Cn;_.BitString=Dh;Cn.NAME=Ih;var Lh;function Mw(r,e){let t=new Uint8Array([0]),n=new Uint8Array(r),o=new Uint8Array(e),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,f=0,u=c<i?i:c,l=0;for(let p=u;p>=0;p--,l++){switch(!0){case l<a.length:f=s[i-l]+a[c-l]+t[0];break;default:f=s[i-l]+t[0]}switch(t[0]=f/10,!0){case l>=s.length:s=Ms(new Uint8Array([f%10]),s);break;default:s[i-l]=f%10}}return t[0]>0&&(s=Ms(t,s)),s}function Bh(r){if(r>=xo.length)for(let e=xo.length;e<=r;e++){let t=new Uint8Array([0]),n=xo[e-1].slice(0);for(let o=n.length-1;o>=0;o--){let s=new Uint8Array([(n[o]<<1)+t[0]]);t[0]=s[0]/10,n[o]=s[0]%10}t[0]>0&&(n=Ms(t,n)),xo.push(n)}return xo[r]}function Fw(r,e){let t=0,n=new Uint8Array(r),o=new Uint8Array(e),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,f,u=0;for(let l=c;l>=0;l--,u++)switch(f=s[i-u]-a[c-u]-t,!0){case f<0:t=1,s[i-u]=f+10;break;default:t=0,s[i-u]=f}if(t>0)for(let l=i-c+1;l>=0;l--,u++)if(f=s[i-u]-t,f<0)t=1,s[i-u]=f+10;else{t=0,s[i-u]=f;break}return s.slice()}var Ao=class extends Gt(Le){constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}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=bc.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(vh(e))}get valueDec(){return this._valueDec}fromDER(e,t,n,o=0){let s=this.fromBER(e,t,n);if(s===-1)return s;let i=this.valueHexView;return i[0]===0&&i[1]&128?this.valueHexView=i.subarray(1):o!==0&&i.length<o&&(o-i.length>1&&(o=i.length+1),this.valueHexView=i.subarray(o-i.length)),s}toDER(e=!1){let t=this.valueHexView;switch(!0){case(t[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(t,1),this.valueHexView=n}break;case(t[0]===0&&(t[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,t,n){let o=super.fromBER(e,t,n);return o===-1||this.setValueHex(),o}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,t=new Uint8Array(this.valueHexView.length*8/3),n=0,o,s=this.valueHexView,i="",a=!1;for(let c=s.byteLength-1;c>=0;c--){o=s[c];for(let f=0;f<8;f++){if((o&1)===1)switch(n){case e:t=Fw(Bh(n),t),i="-";break;default:t=Mw(t,Bh(n))}n++,o>>=1}}for(let c=0;c<t.length;c++)t[c]&&(a=!0),a&&(i+=Ah.charAt(t[c]));return a===!1&&(i+=Ah.charAt(0)),i}};Lh=Ao;Ao.NAME="IntegerValueBlock";Object.defineProperty(Lh.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Oh,be=class r extends Te{constructor(e={}){super(e,Ao),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Fs(),BigInt(this.valueBlock.toString())}static fromBigInt(e){Fs();let t=BigInt(e),n=new vo,o=t.toString(16).replace(/^-/,""),s=new Uint8Array(Z.Convert.FromHex(o));if(t<0){let a=new Uint8Array(s.length+(s[0]&128?1:0));a[0]|=128;let f=BigInt(`0x${Z.Convert.ToHex(a)}`)+t,u=Z.BufferSourceConverter.toUint8Array(Z.Convert.FromHex(f.toString(16)));u[0]|=128,n.write(u)}else s[0]&128&&n.write(new Uint8Array([0])),n.write(s);return new r({valueHex:n.final()})}convertToDER(){let e=new r({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}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()}`}};Oh=be;_.Integer=Oh;be.NAME="INTEGER";var Vh,Xs=class extends be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Vh=Xs;_.Enumerated=Vh;Xs.NAME="ENUMERATED";var Bo=class extends Gt(Le){constructor({valueDec:e=-1,isFirstSid:t=!1,...n}={}){super(n),this.valueDec=e,this.isFirstSid=t}fromBER(e,t,n){if(!n)return t;let o=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,o,t,n))return-1;let s=o.subarray(t,t+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=s[a]&127,this.blockLength++,!!(s[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,s[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=zr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}set valueBigInt(e){Fs();let t=BigInt(e).toString(2);for(;t.length%7;)t="0"+t;let n=new Uint8Array(t.length/7);for(let o=0;o<n.length;o++)n[o]=parseInt(t.slice(o*7,o*7+7),2)+(o+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,s=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)s[i]=o[i]|128;return s[this.blockLength-1]=o[this.blockLength-1],s.buffer}let t=gr(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",gt;let n=new Uint8Array(t.byteLength);if(!e){let o=new Uint8Array(t),s=t.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n}toString(){let e="";if(this.isHexOnly)e=Z.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let t=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",t-=40):(e="2.",t-=80),e+=t.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Bo.NAME="sidBlock";var Qs=class extends Le{constructor({value:e=Tn,...t}={}){super(t),this.value=[],e&&this.fromString(e)}fromBER(e,t,n){let o=t;for(;n>0;){let s=new Bo;if(o=s.fromBER(e,o,n),o===-1)return this.blockLength=0,this.error=s.error,o;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,n-=s.blockLength,this.value.push(s)}return o}toBER(e){let t=[];for(let n=0;n<this.value.length;n++){let o=this.value[n].toBER(e);if(o.byteLength===0)return this.error=this.value[n].error,gt;t.push(o)}return wc(t)}fromString(e){this.value=[];let t=0,n=0,o="",s=!1;do if(n=e.indexOf(".",t),n===-1?o=e.substring(t):o=e.substring(t,n),t=n+1,s){let i=this.value[0],a=0;switch(i.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;i.valueDec=c+a,s=!1}else{let i=new Bo;if(o>Number.MAX_SAFE_INTEGER){Fs();let a=BigInt(o);i.valueBigInt=a}else if(i.valueDec=parseInt(o,10),isNaN(i.valueDec))return;this.value.length||(i.isFirstSid=!0,s=!0),this.value.push(i)}while(n!==-1)}toString(){let e="",t=!1;for(let n=0;n<this.value.length;n++){t=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(e=`${e}.`),t?(o=`{${o}}`,this.value[n].isFirstSid?e=`2.{${o} - 80}`:e+=o):e+=o}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}};Qs.NAME="ObjectIdentifierValueBlock";var Ph,mt=class extends Te{constructor(e={}){super(e,Qs),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Ph=mt;_.ObjectIdentifier=Ph;mt.NAME="OBJECT IDENTIFIER";var So=class extends Gt(Ht){constructor({valueDec:e=0,...t}={}){super(t),this.valueDec=e}fromBER(e,t,n){if(n===0)return t;let o=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,o,t,n))return-1;let s=o.subarray(t,t+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=s[a]&127,this.blockLength++,!!(s[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,s[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=zr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,s=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)s[i]=o[i]|128;return s[this.blockLength-1]=o[this.blockLength-1],s.buffer}let t=gr(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",gt;let n=new Uint8Array(t.byteLength);if(!e){let o=new Uint8Array(t),s=t.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n.buffer}toString(){let e="";return this.isHexOnly?e=Z.Convert.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};So.NAME="relativeSidBlock";var ei=class extends Le{constructor({value:e=Tn,...t}={}){super(t),this.value=[],e&&this.fromString(e)}fromBER(e,t,n){let o=t;for(;n>0;){let s=new So;if(o=s.fromBER(e,o,n),o===-1)return this.blockLength=0,this.error=s.error,o;this.blockLength+=s.blockLength,n-=s.blockLength,this.value.push(s)}return o}toBER(e,t){let n=[];for(let o=0;o<this.value.length;o++){let s=this.value[o].toBER(e);if(s.byteLength===0)return this.error=this.value[o].error,gt;n.push(s)}return wc(n)}fromString(e){this.value=[];let t=0,n=0,o="";do{n=e.indexOf(".",t),n===-1?o=e.substring(t):o=e.substring(t,n),t=n+1;let s=new So;if(s.valueDec=parseInt(o,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(n!==-1);return!0}toString(){let e="",t=!1;for(let n=0;n<this.value.length;n++){t=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(e=`${e}.`),t&&(o=`{${o}}`),e+=o}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}};ei.NAME="RelativeObjectIdentifierValueBlock";var Mh,ti=class extends Te{constructor(e={}){super(e,ei),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Mh=ti;_.RelativeObjectIdentifier=Mh;ti.NAME="RelativeObjectIdentifier";var Fh,ve=class extends yr{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};Fh=ve;_.Sequence=Fh;ve.NAME="SEQUENCE";var $h,ri=class extends yr{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};$h=ri;_.Set=$h;ri.NAME="SET";var ni=class extends Gt(Le){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Tn}toJSON(){return{...super.toJSON(),value:this.value}}};ni.NAME="StringValueBlock";var oi=class extends ni{};oi.NAME="SimpleStringValueBlock";var Me=class extends Ks{constructor({...e}={}){super(e,oi)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,Z.BufferSourceConverter.toUint8Array(e))}fromString(e){let t=e.length,n=this.valueBlock.valueHexView=new Uint8Array(t);for(let o=0;o<t;o++)n[o]=e.charCodeAt(o);this.valueBlock.value=e}};Me.NAME="SIMPLE STRING";var si=class extends Me{fromBuffer(e){this.valueBlock.valueHexView=Z.BufferSourceConverter.toUint8Array(e);try{this.valueBlock.value=Z.Convert.ToUtf8String(e)}catch(t){this.warnings.push(`Error during "decodeURIComponent": ${t}, using raw string`),this.valueBlock.value=Z.Convert.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(Z.Convert.FromUtf8String(e)),this.valueBlock.value=e}};si.NAME="Utf8StringValueBlock";var Hh,zt=class extends si{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};Hh=zt;_.Utf8String=Hh;zt.NAME="UTF8String";var ii=class extends Me{fromBuffer(e){this.valueBlock.value=Z.Convert.ToUtf16String(e),this.valueBlock.valueHexView=Z.BufferSourceConverter.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(Z.Convert.FromUtf16String(e))}};ii.NAME="BmpStringValueBlock";var Kh,ai=class extends ii{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Kh=ai;_.BmpString=Kh;ai.NAME="BMPString";var ci=class extends Me{fromBuffer(e){let t=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),n=new Uint8Array(t);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(t))}fromString(e){let t=e.length,n=this.valueBlock.valueHexView=new Uint8Array(t*4);for(let o=0;o<t;o++){let s=gr(e.charCodeAt(o),8),i=new Uint8Array(s);if(i.length>4)continue;let a=4-i.length;for(let c=i.length-1;c>=0;c--)n[o*4+c+a]=i[c]}this.valueBlock.value=e}};ci.NAME="UniversalStringValueBlock";var zh,ui=class extends ci{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};zh=ui;_.UniversalString=zh;ui.NAME="UniversalString";var qh,li=class extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};qh=li;_.NumericString=qh;li.NAME="NumericString";var Gh,fi=class extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};Gh=fi;_.PrintableString=Gh;fi.NAME="PrintableString";var jh,hi=class extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};jh=hi;_.TeletexString=jh;hi.NAME="TeletexString";var Wh,di=class extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Wh=di;_.VideotexString=Wh;di.NAME="VideotexString";var Yh,pi=class extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};Yh=pi;_.IA5String=Yh;pi.NAME="IA5String";var Zh,mi=class extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};Zh=mi;_.GraphicString=Zh;mi.NAME="GraphicString";var Jh,Io=class extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Jh=Io;_.VisibleString=Jh;Io.NAME="VisibleString";var Xh,gi=class extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Xh=gi;_.GeneralString=Xh;gi.NAME="GeneralString";var Qh,yi=class extends Me{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Qh=yi;_.CharacterString=Qh;yi.NAME="CharacterString";var ed,Co=class extends Io{constructor({value:e,valueDate:t,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let o=0;o<e.length;o++)this.valueBlock.valueHexView[o]=e.charCodeAt(o)}t&&(this.fromDate(t),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,Z.BufferSourceConverter.toUint8Array(e)))}toBuffer(){let e=this.toString(),t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return t}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);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(e="iso"){if(e==="iso"){let t=new Array(7);return t[0]=qe(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=qe(this.month,2),t[2]=qe(this.day,2),t[3]=qe(this.hour,2),t[4]=qe(this.minute,2),t[5]=qe(this.second,2),t[6]="Z",t.join("")}return super.toString(e)}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}}};ed=Co;_.UTCTime=ed;Co.NAME="UTCTime";var td,bi=class extends Co{constructor(e={}){var t;super(e),(t=this.millisecond)!==null&&t!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(e){let t=!1,n="",o="",s=0,i,a=0,c=0;if(e[e.length-1]==="Z")n=e.substring(0,e.length-1),t=!0;else{let l=new Number(e[e.length-1]);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");n=e}if(t){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,p=n.indexOf("+"),x="";if(p===-1&&(p=n.indexOf("-"),l=-1),p!==-1){if(x=n.substring(p+1),n=n.substring(0,p),x.length!==2&&x.length!==4)throw new Error("Wrong input string for conversion");let d=parseInt(x.substring(0,2),10);if(isNaN(d.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*d,x.length===4){if(d=parseInt(x.substring(2,4),10),isNaN(d.valueOf()))throw new Error("Wrong input string for conversion");c=l*d}}}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");s=l.valueOf(),o=n.substring(0,f)}else o=n;switch(!0){case o.length===8:if(i=/(\d{4})(\d{2})(\d{2})/ig,f!==-1)throw new Error("Wrong input string for conversion");break;case o.length===10:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=60*s;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(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=60*s;this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===14:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=1e3*s;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let u=i.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(t===!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(e="iso"){if(e==="iso"){let t=[];return t.push(qe(this.year,4)),t.push(qe(this.month,2)),t.push(qe(this.day,2)),t.push(qe(this.hour,2)),t.push(qe(this.minute,2)),t.push(qe(this.second,2)),this.millisecond!==0&&(t.push("."),t.push(qe(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};td=bi;_.GeneralizedTime=td;bi.NAME="GeneralizedTime";var rd,wi=class extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};rd=wi;_.DATE=rd;wi.NAME="DATE";var nd,xi=class extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};nd=xi;_.TimeOfDay=nd;xi.NAME="TimeOfDay";var od,vi=class extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};od=vi;_.DateTime=od;vi.NAME="DateTime";var sd,Ei=class extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};sd=Ei;_.Duration=sd;Ei.NAME="Duration";var id,Ai=class extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};id=Ai;_.TIME=id;Ai.NAME="TIME";function Hw(r){let{result:e}=kn(r),t=e.valueBlock.value;return{n:ue(It(t[1].toBigInt()),"base64url"),e:ue(It(t[2].toBigInt()),"base64url"),d:ue(It(t[3].toBigInt()),"base64url"),p:ue(It(t[4].toBigInt()),"base64url"),q:ue(It(t[5].toBigInt()),"base64url"),dp:ue(It(t[6].toBigInt()),"base64url"),dq:ue(It(t[7].toBigInt()),"base64url"),qi:ue(It(t[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function Kw(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 q("JWK was missing components","ERR_INVALID_PARAMETERS");let t=new ve({value:[new be({value:0}),be.fromBigInt(Ct(ee(r.n,"base64url"))),be.fromBigInt(Ct(ee(r.e,"base64url"))),be.fromBigInt(Ct(ee(r.d,"base64url"))),be.fromBigInt(Ct(ee(r.p,"base64url"))),be.fromBigInt(Ct(ee(r.q,"base64url"))),be.fromBigInt(Ct(ee(r.dp,"base64url"))),be.fromBigInt(Ct(ee(r.dq,"base64url"))),be.fromBigInt(Ct(ee(r.qi,"base64url")))]}).toBER();return new Uint8Array(t,0,t.byteLength)}function zw(r){let{result:e}=kn(r),t=e.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:ue(It(t[0].toBigInt()),"base64url"),e:ue(It(t[1].toBigInt()),"base64url")}}function qw(r){if(r.n==null||r.e==null)throw new q("JWK was missing components","ERR_INVALID_PARAMETERS");let t=new ve({value:[new ve({value:[new mt({value:"1.2.840.113549.1.1.1"}),new br]}),new Cn({valueHex:new ve({value:[be.fromBigInt(Ct(ee(r.n,"base64url"))),be.fromBigInt(Ct(ee(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(t,0,t.byteLength)}function It(r){let e=r.toString(16);e.length%2>0&&(e=`0${e}`);let t=e.length/2,n=new Uint8Array(t),o=0,s=0;for(;o<t;)n[o]=parseInt(e.slice(s,s+2),16),o+=1,s+=2;return n}function Ct(r){let e=[];return r.forEach(function(t){let n=t.toString(16);n.length%2>0&&(n=`0${n}`),e.push(n)}),BigInt("0x"+e.join(""))}var Gw=16,vc=32,Ec=1e4;async function jw(r,e){let t=Pe.get(),o=new ve({value:[new be({value:0}),new ve({value:[new mt({value:"1.2.840.113549.1.1.1"}),new br]}),new Kt({valueHex:r.marshal()})]}).toBER(),s=new Uint8Array(o,0,o.byteLength),i=Kr(Gw),a=await gc(xn,e,i,{c:Ec,dkLen:vc}),c=Kr(16),f=await t.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),u=await t.subtle.encrypt({name:"AES-CBC",iv:c},f,s),l=new ve({value:[new Kt({valueHex:i}),new be({value:Ec}),new be({value:vc}),new ve({value:[new mt({value:"1.2.840.113549.2.11"}),new br]})]}),p=new ve({value:[new mt({value:"1.2.840.113549.1.5.13"}),new ve({value:[new ve({value:[new mt({value:"1.2.840.113549.1.5.12"}),l]}),new ve({value:[new mt({value:"2.16.840.1.101.3.4.1.42"}),new Kt({valueHex:c})]})]})]}),d=new ve({value:[p,new Kt({valueHex:u})]}).toBER(),h=new Uint8Array(d,0,d.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...ue(h,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
|
|
8
|
+
`)}async function Ww(r,e){let t=Pe.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let o=ee(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=kn(o),{iv:i,salt:a,iterations:c,keySize:f,cipherText:u}=Yw(s),l=await gc(xn,e,a,{c,dkLen:f}),p=await t.subtle.importKey("raw",l,"AES-CBC",!1,["decrypt"]),x=To(await t.subtle.decrypt({name:"AES-CBC",iv:i},p,u)),{result:d}=kn(x);n=ad(d)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let o=ee(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=kn(o);n=ad(s)}else throw new q("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return Ac(n)}function Yw(r){let e=r.valueBlock.value[0];if(e.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new q("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let n=e.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new q("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let s=n.valueBlock.value[1],i=To(s.valueBlock.value[0].getValue()),a=Ec,c=vc;if(s.valueBlock.value.length===3)a=Number(s.valueBlock.value[1].toBigInt()),c=Number(s.valueBlock.value[2].toBigInt());else if(s.valueBlock.value.length===2)throw new q("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let f=e.valueBlock.value[1].valueBlock.value[1],u=f.valueBlock.value[0].toString();if(u!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(u!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(u!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(u!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(u!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new q("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let l=To(f.valueBlock.value[1].getValue());return{cipherText:To(r.valueBlock.value[1].getValue()),salt:i,iterations:a,keySize:c,iv:l}}function ad(r){return To(r.valueBlock.value[2].getValue())}function To(r){return new Uint8Array(r,0,r.byteLength)}async function cd(r){let e=await Pe.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),t=await fd(e);return{privateKey:t[0],publicKey:t[1]}}async function Bc(r){let t=[await Pe.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Zw(r)],n=await fd({privateKey:t[0],publicKey:t[1]});return{privateKey:n[0],publicKey:n[1]}}async function ud(r,e){let t=await Pe.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Pe.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},t,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function ld(r,e,t){let n=await Pe.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Pe.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,t instanceof Uint8Array?t:t.subarray())}async function fd(r){if(r.privateKey==null||r.publicKey==null)throw new q("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Pe.get().subtle.exportKey("jwk",r.privateKey),Pe.get().subtle.exportKey("jwk",r.publicKey)])}async function Zw(r){return Pe.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Si(r){if(r.kty!=="RSA")throw new q("invalid key type","ERR_INVALID_KEY_TYPE");if(r.n==null)throw new q("invalid key modulus","ERR_INVALID_KEY_MODULUS");return ee(r.n,"base64url").length*8}var Ro=8192,ko=class{_key;constructor(e){this._key=e}verify(e,t){return ld(this._key,t,e)}marshal(){return wr.jwkToPkix(this._key)}get bytes(){return At.encode({Type:ce.RSA,Data:this.marshal()}).subarray()}equals(e){return Ce(this.bytes,e.bytes)}hash(){let e=Ie.digest(this.bytes);return ot(e)?e.then(({bytes:t})=>t):e.bytes}},Rn=class{_key;_publicKey;constructor(e,t){this._key=e,this._publicKey=t}genSecret(){return Kr(16)}sign(e){return ud(this._key,e)}get public(){if(this._publicKey==null)throw new q("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ko(this._publicKey)}marshal(){return wr.jwkToPkcs1(this._key)}get bytes(){return Bt.encode({Type:ce.RSA,Data:this.marshal()}).subarray()}equals(e){return Ce(this.bytes,e.bytes)}hash(){let e=Ie.digest(this.bytes);return ot(e)?e.then(({bytes:t})=>t):e.bytes}async id(){let e=await this.public.hash();return ue(e,"base58btc")}async export(e,t="pkcs-8"){if(t==="pkcs-8")return wr.exportToPem(this,e);if(t==="libp2p-key")return An(this.bytes,e);throw new q(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function Ac(r){let e=wr.pkcs1ToJwk(r);if(Si(e)>Ro)throw new q("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Bc(e);return new Rn(t.privateKey,t.publicKey)}function Xw(r){let e=wr.pkixToJwk(r);if(Si(e)>Ro)throw new q("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ko(e)}async function Qw(r){if(Si(r)>Ro)throw new q("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Bc(r);return new Rn(e.privateKey,e.publicKey)}async function ex(r){if(r>Ro)throw new q("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await cd(r);return new Rn(e.privateKey,e.publicKey)}var Rc={};M(Rc,{Secp256k1PrivateKey:()=>Uo,Secp256k1PublicKey:()=>No,generateKeyPair:()=>mx,unmarshalSecp256k1PrivateKey:()=>dx,unmarshalSecp256k1PublicKey:()=>px});var tx=(r,e,t)=>r&e^~r&t,rx=(r,e,t)=>r&e^r&t^e&t,nx=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]),xr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),vr=new Uint32Array(64),Ic=class extends wn{constructor(){super(64,32,8,!1),this.A=xr[0]|0,this.B=xr[1]|0,this.C=xr[2]|0,this.D=xr[3]|0,this.E=xr[4]|0,this.F=xr[5]|0,this.G=xr[6]|0,this.H=xr[7]|0}get(){let{A:e,B:t,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[e,t,n,o,s,i,a,c]}set(e,t,n,o,s,i,a,c){this.A=e|0,this.B=t|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(e,t){for(let l=0;l<16;l++,t+=4)vr[l]=e.getUint32(t,!1);for(let l=16;l<64;l++){let p=vr[l-15],x=vr[l-2],d=ft(p,7)^ft(p,18)^p>>>3,h=ft(x,17)^ft(x,19)^x>>>10;vr[l]=h+vr[l-7]+d+vr[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let p=ft(a,6)^ft(a,11)^ft(a,25),x=u+p+tx(a,c,f)+nx[l]+vr[l]|0,h=(ft(n,2)^ft(n,13)^ft(n,22))+rx(n,o,s)|0;u=f,f=c,c=a,a=i+x|0,i=s,s=o,o=n,n=x+h|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+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,s,i,a,c,f,u)}roundClean(){vr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var hd=As(()=>new Ic);function ox(r){let e=ho(r);Et(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:t,Fp:n,a:o}=e;if(t){if(!n.eql(o,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:sx,hexToBytes:ix}=Is,qr={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(r){let{Err:e}=qr;if(r.length<2||r[0]!==2)throw new e("Invalid signature integer tag");let t=r[1],n=r.subarray(2,t+2);if(!t||n.length!==t)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:sx(n),l:r.subarray(t+2)}},toSig(r){let{Err:e}=qr,t=typeof r=="string"?ix(r):r;if(!ht(t))throw new Error("ui8a expected");let n=t.length;if(n<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:o,l:s}=qr._parseInt(t.subarray(2)),{d:i,l:a}=qr._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:o,s:i}},hexFromSig(r){let e=f=>Number.parseInt(f[0],16)&8?"00"+f:f,t=f=>{let u=f.toString(16);return u.length&1?`0${u}`:u},n=e(t(r.s)),o=e(t(r.r)),s=n.length/2,i=o.length/2,a=t(s),c=t(i);return`30${t(i+s+4)}02${c}${o}02${a}${n}`}},jt=BigInt(0),it=BigInt(1),YS=BigInt(2),dd=BigInt(3),ZS=BigInt(4);function ax(r){let e=ox(r),{Fp:t}=e,n=e.toBytes||((d,h,m)=>{let g=h.toAffine();return Pt(Uint8Array.from([4]),t.toBytes(g.x),t.toBytes(g.y))}),o=e.fromBytes||(d=>{let h=d.subarray(1),m=t.fromBytes(h.subarray(0,t.BYTES)),g=t.fromBytes(h.subarray(t.BYTES,2*t.BYTES));return{x:m,y:g}});function s(d){let{a:h,b:m}=e,g=t.sqr(d),A=t.mul(g,d);return t.add(t.add(A,t.mul(d,h)),m)}if(!t.eql(t.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function i(d){return typeof d=="bigint"&&jt<d&&d<e.n}function a(d){if(!i(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:h,nByteLength:m,wrapPrivateKey:g,n:A}=e;if(h&&typeof d!="bigint"){if(ht(d)&&(d=Ot(d)),typeof d!="string"||!h.includes(d.length))throw new Error("Invalid key");d=d.padStart(m*2,"0")}let b;try{b=typeof d=="bigint"?d:Vt(de("private key",d,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof d}`)}return g&&(b=oe(b,A)),a(b),b}let f=new Map;function u(d){if(!(d instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(h,m,g){if(this.px=h,this.py=m,this.pz=g,h==null||!t.isValid(h))throw new Error("x required");if(m==null||!t.isValid(m))throw new Error("y required");if(g==null||!t.isValid(g))throw new Error("z required")}static fromAffine(h){let{x:m,y:g}=h||{};if(!h||!t.isValid(m)||!t.isValid(g))throw new Error("invalid affine point");if(h instanceof l)throw new Error("projective point not allowed");let A=b=>t.eql(b,t.ZERO);return A(m)&&A(g)?l.ZERO:new l(m,g,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let m=t.invertBatch(h.map(g=>g.pz));return h.map((g,A)=>g.toAffine(m[A])).map(l.fromAffine)}static fromHex(h){let m=l.fromAffine(o(de("pointHex",h)));return m.assertValidity(),m}static fromPrivateKey(h){return l.BASE.multiply(c(h))}_setWindowSize(h){this._WINDOW_SIZE=h,f.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:h,y:m}=this.toAffine();if(!t.isValid(h)||!t.isValid(m))throw new Error("bad point: x or y not FE");let g=t.sqr(m),A=s(h);if(!t.eql(g,A))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:h}=this.toAffine();if(t.isOdd)return!t.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){u(h);let{px:m,py:g,pz:A}=this,{px:b,py:S,pz:v}=h,I=t.eql(t.mul(m,v),t.mul(b,A)),C=t.eql(t.mul(g,v),t.mul(S,A));return I&&C}negate(){return new l(this.px,t.neg(this.py),this.pz)}double(){let{a:h,b:m}=e,g=t.mul(m,dd),{px:A,py:b,pz:S}=this,v=t.ZERO,I=t.ZERO,C=t.ZERO,y=t.mul(A,A),k=t.mul(b,b),O=t.mul(S,S),U=t.mul(A,b);return U=t.add(U,U),C=t.mul(A,S),C=t.add(C,C),v=t.mul(h,C),I=t.mul(g,O),I=t.add(v,I),v=t.sub(k,I),I=t.add(k,I),I=t.mul(v,I),v=t.mul(U,v),C=t.mul(g,C),O=t.mul(h,O),U=t.sub(y,O),U=t.mul(h,U),U=t.add(U,C),C=t.add(y,y),y=t.add(C,y),y=t.add(y,O),y=t.mul(y,U),I=t.add(I,y),O=t.mul(b,S),O=t.add(O,O),y=t.mul(O,U),v=t.sub(v,y),C=t.mul(O,k),C=t.add(C,C),C=t.add(C,C),new l(v,I,C)}add(h){u(h);let{px:m,py:g,pz:A}=this,{px:b,py:S,pz:v}=h,I=t.ZERO,C=t.ZERO,y=t.ZERO,k=e.a,O=t.mul(e.b,dd),U=t.mul(m,b),V=t.mul(g,S),H=t.mul(A,v),X=t.add(m,g),B=t.add(b,S);X=t.mul(X,B),B=t.add(U,V),X=t.sub(X,B),B=t.add(m,A);let R=t.add(b,v);return B=t.mul(B,R),R=t.add(U,H),B=t.sub(B,R),R=t.add(g,A),I=t.add(S,v),R=t.mul(R,I),I=t.add(V,H),R=t.sub(R,I),y=t.mul(k,B),I=t.mul(O,H),y=t.add(I,y),I=t.sub(V,y),y=t.add(V,y),C=t.mul(I,y),V=t.add(U,U),V=t.add(V,U),H=t.mul(k,H),B=t.mul(O,B),V=t.add(V,H),H=t.sub(U,H),H=t.mul(k,H),B=t.add(B,H),U=t.mul(V,B),C=t.add(C,U),U=t.mul(R,B),I=t.mul(X,I),I=t.sub(I,U),U=t.mul(X,V),y=t.mul(R,y),y=t.add(y,U),new l(I,C,y)}subtract(h){return this.add(h.negate())}is0(){return this.equals(l.ZERO)}wNAF(h){return x.wNAFCached(this,f,h,m=>{let g=t.invertBatch(m.map(A=>A.pz));return m.map((A,b)=>A.toAffine(g[b])).map(l.fromAffine)})}multiplyUnsafe(h){let m=l.ZERO;if(h===jt)return m;if(a(h),h===it)return this;let{endo:g}=e;if(!g)return x.unsafeLadder(this,h);let{k1neg:A,k1:b,k2neg:S,k2:v}=g.splitScalar(h),I=m,C=m,y=this;for(;b>jt||v>jt;)b&it&&(I=I.add(y)),v&it&&(C=C.add(y)),y=y.double(),b>>=it,v>>=it;return A&&(I=I.negate()),S&&(C=C.negate()),C=new l(t.mul(C.px,g.beta),C.py,C.pz),I.add(C)}multiply(h){a(h);let m=h,g,A,{endo:b}=e;if(b){let{k1neg:S,k1:v,k2neg:I,k2:C}=b.splitScalar(m),{p:y,f:k}=this.wNAF(v),{p:O,f:U}=this.wNAF(C);y=x.constTimeNegate(S,y),O=x.constTimeNegate(I,O),O=new l(t.mul(O.px,b.beta),O.py,O.pz),g=y.add(O),A=k.add(U)}else{let{p:S,f:v}=this.wNAF(m);g=S,A=v}return l.normalizeZ([g,A])[0]}multiplyAndAddUnsafe(h,m,g){let A=l.BASE,b=(v,I)=>I===jt||I===it||!v.equals(A)?v.multiplyUnsafe(I):v.multiply(I),S=b(this,m).add(b(h,g));return S.is0()?void 0:S}toAffine(h){let{px:m,py:g,pz:A}=this,b=this.is0();h==null&&(h=b?t.ONE:t.inv(A));let S=t.mul(m,h),v=t.mul(g,h),I=t.mul(A,h);if(b)return{x:t.ZERO,y:t.ZERO};if(!t.eql(I,t.ONE))throw new Error("invZ was invalid");return{x:S,y:v}}isTorsionFree(){let{h,isTorsionFree:m}=e;if(h===it)return!0;if(m)return m(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:m}=e;return h===it?this:m?m(l,this):this.multiplyUnsafe(e.h)}toRawBytes(h=!0){return this.assertValidity(),n(l,this,h)}toHex(h=!0){return Ot(this.toRawBytes(h))}}l.BASE=new l(e.Gx,e.Gy,t.ONE),l.ZERO=new l(t.ZERO,t.ONE,t.ZERO);let p=e.nBitLength,x=ks(l,e.endo?Math.ceil(p/2):p);return{CURVE:e,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:i}}function cx(r){let e=ho(r);return Et(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function pd(r){let e=cx(r),{Fp:t,n}=e,o=t.BYTES+1,s=2*t.BYTES+1;function i(B){return jt<B&&B<t.ORDER}function a(B){return oe(B,n)}function c(B){return Cs(B,n)}let{ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:p}=ax({...e,toBytes(B,R,$){let T=R.toAffine(),E=t.toBytes(T.x),L=Pt;return $?L(Uint8Array.from([R.hasEvenY()?2:3]),E):L(Uint8Array.from([4]),E,t.toBytes(T.y))},fromBytes(B){let R=B.length,$=B[0],T=B.subarray(1);if(R===o&&($===2||$===3)){let E=Vt(T);if(!i(E))throw new Error("Point is not on curve");let L=l(E),F=t.sqrt(L),z=(F&it)===it;return($&1)===1!==z&&(F=t.neg(F)),{x:E,y:F}}else if(R===s&&$===4){let E=t.fromBytes(T.subarray(0,t.BYTES)),L=t.fromBytes(T.subarray(t.BYTES,2*t.BYTES));return{x:E,y:L}}else throw new Error(`Point of length ${R} was invalid. Expected ${o} compressed bytes or ${s} uncompressed bytes`)}}),x=B=>Ot(fr(B,e.nByteLength));function d(B){let R=n>>it;return B>R}function h(B){return d(B)?a(-B):B}let m=(B,R,$)=>Vt(B.slice(R,$));class g{constructor(R,$,T){this.r=R,this.s=$,this.recovery=T,this.assertValidity()}static fromCompact(R){let $=e.nByteLength;return R=de("compactSignature",R,$*2),new g(m(R,0,$),m(R,$,2*$))}static fromDER(R){let{r:$,s:T}=qr.toSig(de("DER",R));return new g($,T)}assertValidity(){if(!p(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!p(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(R){return new g(this.r,this.s,R)}recoverPublicKey(R){let{r:$,s:T,recovery:E}=this,L=C(de("msgHash",R));if(E==null||![0,1,2,3].includes(E))throw new Error("recovery id invalid");let F=E===2||E===3?$+e.n:$;if(F>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let z=E&1?"03":"02",W=f.fromHex(z+x(F)),Y=c(F),ne=a(-L*Y),J=a(T*Y),Q=f.BASE.multiplyAndAddUnsafe(W,ne,J);if(!Q)throw new Error("point at infinify");return Q.assertValidity(),Q}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Vr(this.toDERHex())}toDERHex(){return qr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Vr(this.toCompactHex())}toCompactHex(){return x(this.r)+x(this.s)}}let A={isValidPrivateKey(B){try{return u(B),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let B=Ja(e.n);return eh(e.randomBytes(B),e.n)},precompute(B=8,R=f.BASE){return R._setWindowSize(B),R.multiply(BigInt(3)),R}};function b(B,R=!0){return f.fromPrivateKey(B).toRawBytes(R)}function S(B){let R=ht(B),$=typeof B=="string",T=(R||$)&&B.length;return R?T===o||T===s:$?T===2*o||T===2*s:B instanceof f}function v(B,R,$=!0){if(S(B))throw new Error("first arg must be private key");if(!S(R))throw new Error("second arg must be public key");return f.fromHex(R).multiply(u(B)).toRawBytes($)}let I=e.bits2int||function(B){let R=Vt(B),$=B.length*8-e.nBitLength;return $>0?R>>BigInt($):R},C=e.bits2int_modN||function(B){return a(I(B))},y=fo(e.nBitLength);function k(B){if(typeof B!="bigint")throw new Error("bigint expected");if(!(jt<=B&&B<y))throw new Error(`bigint expected < 2^${e.nBitLength}`);return fr(B,e.nByteLength)}function O(B,R,$=U){if(["recovered","canonical"].some(fe=>fe in $))throw new Error("sign() legacy options not supported");let{hash:T,randomBytes:E}=e,{lowS:L,prehash:F,extraEntropy:z}=$;L==null&&(L=!0),B=de("msgHash",B),F&&(B=de("prehashed msgHash",T(B)));let W=C(B),Y=u(R),ne=[k(Y),k(W)];if(z!=null){let fe=z===!0?E(t.BYTES):z;ne.push(de("extraEntropy",fe))}let J=Pt(...ne),Q=W;function ye(fe){let Ae=I(fe);if(!p(Ae))return;let Be=c(Ae),we=f.BASE.multiply(Ae).toAffine(),Ne=a(we.x);if(Ne===jt)return;let _t=a(Be*a(Q+Ne*Y));if(_t===jt)return;let Nr=(we.x===Ne?0:2)|Number(we.y&it),so=_t;return L&&d(_t)&&(so=h(_t),Nr^=1),new g(Ne,so,Nr)}return{seed:J,k2sig:ye}}let U={lowS:e.lowS,prehash:!1},V={lowS:e.lowS,prehash:!1};function H(B,R,$=U){let{seed:T,k2sig:E}=O(B,R,$),L=e;return ja(L.hash.outputLen,L.nByteLength,L.hmac)(T,E)}f.BASE._setWindowSize(8);function X(B,R,$,T=V){let E=B;if(R=de("msgHash",R),$=de("publicKey",$),"strict"in T)throw new Error("options.strict was renamed to lowS");let{lowS:L,prehash:F}=T,z,W;try{if(typeof E=="string"||ht(E))try{z=g.fromDER(E)}catch(we){if(!(we instanceof qr.Err))throw we;z=g.fromCompact(E)}else if(typeof E=="object"&&typeof E.r=="bigint"&&typeof E.s=="bigint"){let{r:we,s:Ne}=E;z=new g(we,Ne)}else throw new Error("PARSE");W=f.fromHex($)}catch(we){if(we.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(L&&z.hasHighS())return!1;F&&(R=e.hash(R));let{r:Y,s:ne}=z,J=C(R),Q=c(ne),ye=a(J*Q),fe=a(Y*Q),Ae=f.BASE.multiplyAndAddUnsafe(W,ye,fe)?.toAffine();return Ae?a(Ae.x)===Y:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:v,sign:H,verify:X,ProjectivePoint:f,Signature:g,utils:A}}function ux(r){return{hash:r,hmac:(e,...t)=>wo(r,e,Es(...t)),randomBytes:bn}}function md(r,e){let t=n=>pd({...r,...ux(n)});return Object.freeze({...t(e),create:t})}var bd=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),gd=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),lx=BigInt(1),Cc=BigInt(2),yd=(r,e)=>(r+e/Cc)/e;function fx(r){let e=bd,t=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),f=r*r*r%e,u=f*f*r%e,l=ae(u,t,e)*u%e,p=ae(l,t,e)*u%e,x=ae(p,Cc,e)*f%e,d=ae(x,o,e)*x%e,h=ae(d,s,e)*d%e,m=ae(h,a,e)*h%e,g=ae(m,c,e)*m%e,A=ae(g,a,e)*h%e,b=ae(A,t,e)*u%e,S=ae(b,i,e)*d%e,v=ae(S,n,e)*f%e,I=ae(v,Cc,e);if(!Tc.eql(Tc.sqr(I),r))throw new Error("Cannot find square root");return I}var Tc=Ts(bd,void 0,void 0,{sqrt:fx}),yt=md({a:BigInt(0),b:BigInt(7),Fp:Tc,n:gd,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let e=gd,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-lx*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=t,i=BigInt("0x100000000000000000000000000000000"),a=yd(s*r,e),c=yd(-n*r,e),f=oe(r-a*t-c*o,e),u=oe(-a*n-c*s,e),l=f>i,p=u>i;if(l&&(f=e-f),p&&(u=e-u),f>i||u>i)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:f,k2neg:p,k2:u}}}},hd),s3=BigInt(0);var i3=yt.ProjectivePoint;function wd(){return yt.utils.randomPrivateKey()}function xd(r,e){let t=Ie.digest(e instanceof Uint8Array?e:e.subarray());if(ot(t))return t.then(({digest:n})=>yt.sign(n,r).toDERRawBytes()).catch(n=>{throw new q(String(n),"ERR_INVALID_INPUT")});try{return yt.sign(t.digest,r).toDERRawBytes()}catch(n){throw new q(String(n),"ERR_INVALID_INPUT")}}function vd(r,e,t){let n=Ie.digest(t instanceof Uint8Array?t:t.subarray());if(ot(n))return n.then(({digest:o})=>yt.verify(e,o,r)).catch(o=>{throw new q(String(o),"ERR_INVALID_INPUT")});try{return yt.verify(e,n.digest,r)}catch(o){throw new q(String(o),"ERR_INVALID_INPUT")}}function Ed(r){return yt.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Ad(r){try{yt.getPublicKey(r,!0)}catch(e){throw new q(String(e),"ERR_INVALID_PRIVATE_KEY")}}function kc(r){try{yt.ProjectivePoint.fromHex(r)}catch(e){throw new q(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Bd(r){try{return yt.getPublicKey(r,!0)}catch(e){throw new q(String(e),"ERR_INVALID_PRIVATE_KEY")}}var No=class{_key;constructor(e){kc(e),this._key=e}verify(e,t){return vd(this._key,t,e)}marshal(){return Ed(this._key)}get bytes(){return At.encode({Type:ce.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ce(this.bytes,e.bytes)}async hash(){let e=Ie.digest(this.bytes),t;return ot(e)?{bytes:t}=await e:t=e.bytes,t}},Uo=class{_key;_publicKey;constructor(e,t){this._key=e,this._publicKey=t??Bd(e),Ad(this._key),kc(this._publicKey)}sign(e){return xd(this._key,e)}get public(){return new No(this._publicKey)}marshal(){return this._key}get bytes(){return Bt.encode({Type:ce.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ce(this.bytes,e.bytes)}hash(){let e=Ie.digest(this.bytes);return ot(e)?e.then(({bytes:t})=>t):e.bytes}async id(){let e=await this.public.hash();return ue(e,"base58btc")}async export(e,t="libp2p-key"){if(t==="libp2p-key")return An(this.bytes,e);throw new q(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function dx(r){return new Uo(r)}function px(r){return new No(r)}async function mx(){let r=wd();return new Uo(r)}var Gr={rsa:Sc,ed25519:mc,secp256k1:Rc};function Sd(r){let e=Object.keys(Gr).join(" / ");return new q(`invalid or unsupported key type ${r}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Nc(r){let e=At.decode(r),t=e.Data??new Uint8Array;switch(e.Type){case ce.RSA:return Gr.rsa.unmarshalRsaPublicKey(t);case ce.Ed25519:return Gr.ed25519.unmarshalEd25519PublicKey(t);case ce.Secp256k1:return Gr.secp256k1.unmarshalSecp256k1PublicKey(t);default:throw Sd(e.Type??"unknown")}}async function Id(r){let e=Bt.decode(r),t=e.Data??new Uint8Array;switch(e.Type){case ce.RSA:return Gr.rsa.unmarshalRsaPrivateKey(t);case ce.Ed25519:return Gr.ed25519.unmarshalEd25519PrivateKey(t);case ce.Secp256k1:return Gr.secp256k1.unmarshalSecp256k1PrivateKey(t);default:throw Sd(e.Type??"RSA")}}var Yc=_e(_o(),1);var Wt="/",kd=new TextEncoder().encode(Wt),Ii=kd[0],Nn=class r{_buf;constructor(e,t){if(typeof e=="string")this._buf=ee(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(t==null&&(t=!0),t&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Ii)throw new Error("Invalid key")}toString(e="utf8"){return ue(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new r(e.join(Wt))}static random(){return new r(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new r(e):typeof e.uint8Array=="function"?new r(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=kd),this._buf[0]!==Ii){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Ii,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ii;)this._buf=this._buf.subarray(0,-1)}less(e){let t=this.list(),n=e.list();for(let o=0;o<t.length;o++){if(n.length<o+1)return!1;let s=t[o],i=n[o];if(s<i)return!0;if(s>i)return!1}return t.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Wt).slice(1)}type(){return yx(this.baseNamespace())}name(){return bx(this.baseNamespace())}instance(e){return new r(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Wt)||(e+=Wt),e+=this.type(),new r(e)}parent(){let e=this.list();return e.length===1?new r(Wt):new r(e.slice(0,-1).join(Wt))}child(e){return this.toString()===Wt?e:e.toString()===Wt?this:new r(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return r.withNamespaces([...this.namespaces(),...wx(e.map(t=>t.namespaces()))])}};function yx(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function bx(r){let e=r.split(":");return e[e.length-1]}function wx(r){return[].concat(...r)}var Zp=_e(_c(),1);var Rd="ERR_IPNS_EXPIRED_RECORD",Do="ERR_UNRECOGNIZED_VALIDITY",Nd="ERR_SIGNATURE_CREATION",Yt="ERR_SIGNATURE_VERIFICATION",Ud="ERR_UNRECOGNIZED_FORMAT";var Dc="ERR_UNDEFINED_PARAMETER",_d="ERR_INVALID_RECORD_DATA",Dd="ERR_INVALID_VALUE",Ld="ERR_INVALID_EMBEDDED_KEY",Od="ERR_MISSING_PRIVATE_KEY",Vd="ERR_RECORD_TOO_LARGE";var Ge;(function(r){let e;(function(o){o.EOL="EOL"})(e=r.ValidityType||(r.ValidityType={}));let t;(function(o){o[o.EOL=0]="EOL"})(t||(t={})),function(o){o.codec=()=>yo(t)}(e=r.ValidityType||(r.ValidityType={}));let n;r.codec=()=>(n==null&&(n=mr((o,s,i={})=>{i.lengthDelimited!==!1&&s.fork(),o.value!=null&&(s.uint32(10),s.bytes(o.value)),o.signatureV1!=null&&(s.uint32(18),s.bytes(o.signatureV1)),o.validityType!=null&&(s.uint32(24),r.ValidityType.codec().encode(o.validityType,s)),o.validity!=null&&(s.uint32(34),s.bytes(o.validity)),o.sequence!=null&&(s.uint32(40),s.uint64(o.sequence)),o.ttl!=null&&(s.uint32(48),s.uint64(o.ttl)),o.pubKey!=null&&(s.uint32(58),s.bytes(o.pubKey)),o.signatureV2!=null&&(s.uint32(66),s.bytes(o.signatureV2)),o.data!=null&&(s.uint32(74),s.bytes(o.data)),i.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let i={},a=s==null?o.len:o.pos+s;for(;o.pos<a;){let c=o.uint32();switch(c>>>3){case 1:i.value=o.bytes();break;case 2:i.signatureV1=o.bytes();break;case 3:i.validityType=r.ValidityType.codec().decode(o);break;case 4:i.validity=o.bytes();break;case 5:i.sequence=o.uint64();break;case 6:i.ttl=o.uint64();break;case 7:i.pubKey=o.bytes();break;case 8:i.signatureV2=o.bytes();break;case 9:i.data=o.bytes();break;default:o.skipType(c&7);break}}return i})),n),r.encode=o=>pr(o,r.codec()),r.decode=o=>dr(o,r.codec())})(Ge||(Ge={}));var xx=["string","number","bigint","symbol"],vx=["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 Pd(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let e=typeof r;if(xx.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(r))return"Array";if(Ex(r))return"Buffer";let t=Ax(r);return t||"Object"}function Ex(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function Ax(r){let e=Object.prototype.toString.call(r).slice(8,-1);if(vx.includes(e))return e}var w=class{constructor(e,t,n){this.major=e,this.majorEncoded=e<<5,this.name=t,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};w.uint=new w(0,"uint",!0);w.negint=new w(1,"negint",!0);w.bytes=new w(2,"bytes",!0);w.string=new w(3,"string",!0);w.array=new w(4,"array",!1);w.map=new w(5,"map",!1);w.tag=new w(6,"tag",!1);w.float=new w(7,"float",!0);w.false=new w(7,"false",!0);w.true=new w(7,"true",!0);w.null=new w(7,"null",!0);w.undefined=new w(7,"undefined",!0);w.break=new w(7,"break",!0);var D=class{constructor(e,t,n){this.type=e,this.value=t,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Un=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Bx=new TextDecoder,Sx=new TextEncoder;function Ci(r){return Un&&globalThis.Buffer.isBuffer(r)}function Oc(r){return r instanceof Uint8Array?Ci(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Hd=Un?(r,e,t)=>t-e>64?globalThis.Buffer.from(r.subarray(e,t)).toString("utf8"):Fd(r,e,t):(r,e,t)=>t-e>64?Bx.decode(r.subarray(e,t)):Fd(r,e,t),Kd=Un?r=>r.length>64?globalThis.Buffer.from(r):Md(r):r=>r.length>64?Sx.encode(r):Md(r),Tt=r=>Uint8Array.from(r),_n=Un?(r,e,t)=>Ci(r)?new Uint8Array(r.subarray(e,t)):r.slice(e,t):(r,e,t)=>r.slice(e,t),zd=Un?(r,e)=>(r=r.map(t=>t instanceof Uint8Array?t:globalThis.Buffer.from(t)),Oc(globalThis.Buffer.concat(r,e))):(r,e)=>{let t=new Uint8Array(e),n=0;for(let o of r)n+o.length>t.length&&(o=o.subarray(0,t.length-n)),t.set(o,n),n+=o.length;return t},qd=Un?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function Gd(r,e){if(Ci(r)&&Ci(e))return r.compare(e);for(let t=0;t<r.length;t++)if(r[t]!==e[t])return r[t]<e[t]?-1:1;return 0}function Md(r){let e=[],t=0;for(let n=0;n<r.length;n++){let o=r.charCodeAt(n);o<128?e[t++]=o:o<2048?(e[t++]=o>>6|192,e[t++]=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),e[t++]=o>>18|240,e[t++]=o>>12&63|128,e[t++]=o>>6&63|128,e[t++]=o&63|128):(e[t++]=o>>12|224,e[t++]=o>>6&63|128,e[t++]=o&63|128)}return e}function Fd(r,e,t){let n=[];for(;e<t;){let o=r[e],s=null,i=o>239?4:o>223?3:o>191?2:1;if(e+i<=t){let a,c,f,u;switch(i){case 1:o<128&&(s=o);break;case 2:a=r[e+1],(a&192)===128&&(u=(o&31)<<6|a&63,u>127&&(s=u));break;case 3:a=r[e+1],c=r[e+2],(a&192)===128&&(c&192)===128&&(u=(o&15)<<12|(a&63)<<6|c&63,u>2047&&(u<55296||u>57343)&&(s=u));break;case 4:a=r[e+1],c=r[e+2],f=r[e+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&&(s=u))}}s===null?(s=65533,i=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),e+=i}return Ix(n)}var $d=4096;function Ix(r){let e=r.length;if(e<=$d)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=$d));return t}var Cx=256,Lo=class{constructor(e=Cx){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let t=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=t.length-(this.maxCursor-this.cursor)-1;t.set(e,o)}else{if(t){let o=t.length-(this.maxCursor-this.cursor)-1;o<t.length&&(this.chunks[this.chunks.length-1]=t.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(t=qd(this.chunkSize),this.chunks.push(t),this.maxCursor+=t.length,this._initReuseChunk===null&&(this._initReuseChunk=t),t.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let t;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(t=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):t=_n(n,0,this.cursor)}else t=zd(this.chunks,this.cursor);return e&&this.reset(),t}};var K="CBOR decode error:",Vc="CBOR encode error:",Oo=[];Oo[23]=1;Oo[24]=2;Oo[25]=3;Oo[26]=5;Oo[27]=9;function Zt(r,e,t){if(r.length-e<t)throw new Error(`${K} not enough data for type`)}var Ee=[24,256,65536,4294967296,BigInt("18446744073709551616")];function et(r,e,t){Zt(r,e,1);let n=r[e];if(t.strict===!0&&n<Ee[0])throw new Error(`${K} integer encoded in more bytes than necessary (strict decode)`);return n}function tt(r,e,t){Zt(r,e,2);let n=r[e]<<8|r[e+1];if(t.strict===!0&&n<Ee[1])throw new Error(`${K} integer encoded in more bytes than necessary (strict decode)`);return n}function rt(r,e,t){Zt(r,e,4);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];if(t.strict===!0&&n<Ee[2])throw new Error(`${K} integer encoded in more bytes than necessary (strict decode)`);return n}function nt(r,e,t){Zt(r,e,8);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3],o=r[e+4]*16777216+(r[e+5]<<16)+(r[e+6]<<8)+r[e+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(t.strict===!0&&s<Ee[3])throw new Error(`${K} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(t.allowBigInt===!0)return s;throw new Error(`${K} integers outside of the safe integer range are not supported`)}function jd(r,e,t,n){return new D(w.uint,et(r,e+1,n),2)}function Wd(r,e,t,n){return new D(w.uint,tt(r,e+1,n),3)}function Yd(r,e,t,n){return new D(w.uint,rt(r,e+1,n),5)}function Zd(r,e,t,n){return new D(w.uint,nt(r,e+1,n),9)}function at(r,e){return ke(r,0,e.value)}function ke(r,e,t){if(t<Ee[0]){let n=Number(t);r.push([e|n])}else if(t<Ee[1]){let n=Number(t);r.push([e|24,n])}else if(t<Ee[2]){let n=Number(t);r.push([e|25,n>>>8,n&255])}else if(t<Ee[3]){let n=Number(t);r.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(t);if(n<Ee[4]){let o=[e|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,r.push(o)}else throw new Error(`${K} encountered BigInt larger than allowable range`)}}at.encodedSize=function(e){return ke.encodedSize(e.value)};ke.encodedSize=function(e){return e<Ee[0]?1:e<Ee[1]?2:e<Ee[2]?3:e<Ee[3]?5:9};at.compareTokens=function(e,t){return e.value<t.value?-1:e.value>t.value?1:0};function Jd(r,e,t,n){return new D(w.negint,-1-et(r,e+1,n),2)}function Xd(r,e,t,n){return new D(w.negint,-1-tt(r,e+1,n),3)}function Qd(r,e,t,n){return new D(w.negint,-1-rt(r,e+1,n),5)}var Pc=BigInt(-1),ep=BigInt(1);function tp(r,e,t,n){let o=nt(r,e+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new D(w.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${K} integers outside of the safe integer range are not supported`);return new D(w.negint,Pc-BigInt(o),9)}function Ti(r,e){let t=e.value,n=typeof t=="bigint"?t*Pc-ep:t*-1-1;ke(r,e.type.majorEncoded,n)}Ti.encodedSize=function(e){let t=e.value,n=typeof t=="bigint"?t*Pc-ep:t*-1-1;return n<Ee[0]?1:n<Ee[1]?2:n<Ee[2]?3:n<Ee[3]?5:9};Ti.compareTokens=function(e,t){return e.value<t.value?1:e.value>t.value?-1:0};function Vo(r,e,t,n){Zt(r,e,t+n);let o=_n(r,e+t,e+t+n);return new D(w.bytes,o,t+n)}function rp(r,e,t,n){return Vo(r,e,1,t)}function np(r,e,t,n){return Vo(r,e,2,et(r,e+1,n))}function op(r,e,t,n){return Vo(r,e,3,tt(r,e+1,n))}function sp(r,e,t,n){return Vo(r,e,5,rt(r,e+1,n))}function ip(r,e,t,n){let o=nt(r,e+1,n);if(typeof o=="bigint")throw new Error(`${K} 64-bit integer bytes lengths not supported`);return Vo(r,e,9,o)}function ki(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===w.string?Kd(r.value):r.value),r.encodedBytes}function Dn(r,e){let t=ki(e);ke(r,e.type.majorEncoded,t.length),r.push(t)}Dn.encodedSize=function(e){let t=ki(e);return ke.encodedSize(t.length)+t.length};Dn.compareTokens=function(e,t){return kx(ki(e),ki(t))};function kx(r,e){return r.length<e.length?-1:r.length>e.length?1:Gd(r,e)}function Po(r,e,t,n,o){let s=t+n;Zt(r,e,s);let i=new D(w.string,Hd(r,e+t,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=_n(r,e+t,e+s)),i}function ap(r,e,t,n){return Po(r,e,1,t,n)}function cp(r,e,t,n){return Po(r,e,2,et(r,e+1,n),n)}function up(r,e,t,n){return Po(r,e,3,tt(r,e+1,n),n)}function lp(r,e,t,n){return Po(r,e,5,rt(r,e+1,n),n)}function fp(r,e,t,n){let o=nt(r,e+1,n);if(typeof o=="bigint")throw new Error(`${K} 64-bit integer string lengths not supported`);return Po(r,e,9,o,n)}var hp=Dn;function Ln(r,e,t,n){return new D(w.array,n,t)}function dp(r,e,t,n){return Ln(r,e,1,t)}function pp(r,e,t,n){return Ln(r,e,2,et(r,e+1,n))}function mp(r,e,t,n){return Ln(r,e,3,tt(r,e+1,n))}function gp(r,e,t,n){return Ln(r,e,5,rt(r,e+1,n))}function yp(r,e,t,n){let o=nt(r,e+1,n);if(typeof o=="bigint")throw new Error(`${K} 64-bit integer array lengths not supported`);return Ln(r,e,9,o)}function bp(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${K} indefinite length items not allowed`);return Ln(r,e,1,1/0)}function Ri(r,e){ke(r,w.array.majorEncoded,e.value)}Ri.compareTokens=at.compareTokens;Ri.encodedSize=function(e){return ke.encodedSize(e.value)};function On(r,e,t,n){return new D(w.map,n,t)}function wp(r,e,t,n){return On(r,e,1,t)}function xp(r,e,t,n){return On(r,e,2,et(r,e+1,n))}function vp(r,e,t,n){return On(r,e,3,tt(r,e+1,n))}function Ep(r,e,t,n){return On(r,e,5,rt(r,e+1,n))}function Ap(r,e,t,n){let o=nt(r,e+1,n);if(typeof o=="bigint")throw new Error(`${K} 64-bit integer map lengths not supported`);return On(r,e,9,o)}function Bp(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${K} indefinite length items not allowed`);return On(r,e,1,1/0)}function Ni(r,e){ke(r,w.map.majorEncoded,e.value)}Ni.compareTokens=at.compareTokens;Ni.encodedSize=function(e){return ke.encodedSize(e.value)};function Sp(r,e,t,n){return new D(w.tag,t,1)}function Ip(r,e,t,n){return new D(w.tag,et(r,e+1,n),2)}function Cp(r,e,t,n){return new D(w.tag,tt(r,e+1,n),3)}function Tp(r,e,t,n){return new D(w.tag,rt(r,e+1,n),5)}function kp(r,e,t,n){return new D(w.tag,nt(r,e+1,n),9)}function Ui(r,e){ke(r,w.tag.majorEncoded,e.value)}Ui.compareTokens=at.compareTokens;Ui.encodedSize=function(e){return ke.encodedSize(e.value)};var Lx=20,Ox=21,Vx=22,Px=23;function Rp(r,e,t,n){if(n.allowUndefined===!1)throw new Error(`${K} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new D(w.null,null,1):new D(w.undefined,void 0,1)}function Np(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${K} indefinite length items not allowed`);return new D(w.break,void 0,1)}function Mc(r,e,t){if(t){if(t.allowNaN===!1&&Number.isNaN(r))throw new Error(`${K} NaN values are not supported`);if(t.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${K} Infinity values are not supported`)}return new D(w.float,r,e)}function Up(r,e,t,n){return Mc(Fc(r,e+1),3,n)}function _p(r,e,t,n){return Mc($c(r,e+1),5,n)}function Dp(r,e,t,n){return Mc(Pp(r,e+1),9,n)}function _i(r,e,t){let n=e.value;if(n===!1)r.push([w.float.majorEncoded|Lx]);else if(n===!0)r.push([w.float.majorEncoded|Ox]);else if(n===null)r.push([w.float.majorEncoded|Vx]);else if(n===void 0)r.push([w.float.majorEncoded|Px]);else{let o,s=!1;(!t||t.float64!==!0)&&(Op(n),o=Fc(bt,1),n===o||Number.isNaN(n)?(bt[0]=249,r.push(bt.slice(0,3)),s=!0):(Vp(n),o=$c(bt,1),n===o&&(bt[0]=250,r.push(bt.slice(0,5)),s=!0))),s||(Mx(n),o=Pp(bt,1),bt[0]=251,r.push(bt.slice(0,9)))}}_i.encodedSize=function(e,t){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!t||t.float64!==!0){Op(n);let o=Fc(bt,1);if(n===o||Number.isNaN(n))return 3;if(Vp(n),o=$c(bt,1),n===o)return 5}return 9};var Lp=new ArrayBuffer(9),ct=new DataView(Lp,1),bt=new Uint8Array(Lp,0);function Op(r){if(r===1/0)ct.setUint16(0,31744,!1);else if(r===-1/0)ct.setUint16(0,64512,!1);else if(Number.isNaN(r))ct.setUint16(0,32256,!1);else{ct.setFloat32(0,r);let e=ct.getUint32(0),t=(e&2139095040)>>23,n=e&8388607;if(t===255)ct.setUint16(0,31744,!1);else if(t===0)ct.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let o=t-127;o<-24?ct.setUint16(0,0):o<-14?ct.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):ct.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Fc(r,e){if(r.length-e<2)throw new Error(`${K} not enough data for float16`);let t=(r[e]<<8)+r[e+1];if(t===31744)return 1/0;if(t===64512)return-1/0;if(t===32256)return NaN;let n=t>>10&31,o=t&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,t&32768?-s:s}function Vp(r){ct.setFloat32(0,r,!1)}function $c(r,e){if(r.length-e<4)throw new Error(`${K} not enough data for float32`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,4).getFloat32(0,!1)}function Mx(r){ct.setFloat64(0,r,!1)}function Pp(r,e){if(r.length-e<8)throw new Error(`${K} not enough data for float64`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,8).getFloat64(0,!1)}_i.compareTokens=at.compareTokens;function te(r,e,t){throw new Error(`${K} encountered invalid minor (${t}) for major ${r[e]>>>5}`)}function Di(r){return()=>{throw new Error(`${K} ${r}`)}}var N=[];for(let r=0;r<=23;r++)N[r]=te;N[24]=jd;N[25]=Wd;N[26]=Yd;N[27]=Zd;N[28]=te;N[29]=te;N[30]=te;N[31]=te;for(let r=32;r<=55;r++)N[r]=te;N[56]=Jd;N[57]=Xd;N[58]=Qd;N[59]=tp;N[60]=te;N[61]=te;N[62]=te;N[63]=te;for(let r=64;r<=87;r++)N[r]=rp;N[88]=np;N[89]=op;N[90]=sp;N[91]=ip;N[92]=te;N[93]=te;N[94]=te;N[95]=Di("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)N[r]=ap;N[120]=cp;N[121]=up;N[122]=lp;N[123]=fp;N[124]=te;N[125]=te;N[126]=te;N[127]=Di("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)N[r]=dp;N[152]=pp;N[153]=mp;N[154]=gp;N[155]=yp;N[156]=te;N[157]=te;N[158]=te;N[159]=bp;for(let r=160;r<=183;r++)N[r]=wp;N[184]=xp;N[185]=vp;N[186]=Ep;N[187]=Ap;N[188]=te;N[189]=te;N[190]=te;N[191]=Bp;for(let r=192;r<=215;r++)N[r]=Sp;N[216]=Ip;N[217]=Cp;N[218]=Tp;N[219]=kp;N[220]=te;N[221]=te;N[222]=te;N[223]=te;for(let r=224;r<=243;r++)N[r]=Di("simple values are not supported");N[244]=te;N[245]=te;N[246]=te;N[247]=Rp;N[248]=Di("simple values are not supported");N[249]=Up;N[250]=_p;N[251]=Dp;N[252]=te;N[253]=te;N[254]=te;N[255]=Np;var wt=[];for(let r=0;r<24;r++)wt[r]=new D(w.uint,r,1);for(let r=-1;r>=-24;r--)wt[31-r]=new D(w.negint,r,1);wt[64]=new D(w.bytes,new Uint8Array(0),1);wt[96]=new D(w.string,"",1);wt[128]=new D(w.array,0,1);wt[160]=new D(w.map,0,1);wt[244]=new D(w.false,!1,1);wt[245]=new D(w.true,!0,1);wt[246]=new D(w.null,null,1);function Mp(r){switch(r.type){case w.false:return Tt([244]);case w.true:return Tt([245]);case w.null:return Tt([246]);case w.bytes:return r.value.length?void 0:Tt([64]);case w.string:return r.value===""?Tt([96]):void 0;case w.array:return r.value===0?Tt([128]):void 0;case w.map:return r.value===0?Tt([160]):void 0;case w.uint:return r.value<24?Tt([Number(r.value)]):void 0;case w.negint:if(r.value>=-24)return Tt([31-Number(r.value)])}}var $x={float64:!1,mapSorter:zx,quickEncodeToken:Mp};function Hx(){let r=[];return r[w.uint.major]=at,r[w.negint.major]=Ti,r[w.bytes.major]=Dn,r[w.string.major]=hp,r[w.array.major]=Ri,r[w.map.major]=Ni,r[w.tag.major]=Ui,r[w.float.major]=_i,r}var Fp=Hx(),Hc=new Lo,Oi=class r{constructor(e,t){this.obj=e,this.parent=t}includes(e){let t=this;do if(t.obj===e)return!0;while(t=t.parent);return!1}static createCheck(e,t){if(e&&e.includes(t))throw new Error(`${Vc} object contains circular references`);return new r(t,e)}},Er={null:new D(w.null,null),undefined:new D(w.undefined,void 0),true:new D(w.true,!0),false:new D(w.false,!1),emptyArray:new D(w.array,0),emptyMap:new D(w.map,0)},Ar={number(r,e,t,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new D(w.float,r):r>=0?new D(w.uint,r):new D(w.negint,r)},bigint(r,e,t,n){return r>=BigInt(0)?new D(w.uint,r):new D(w.negint,r)},Uint8Array(r,e,t,n){return new D(w.bytes,r)},string(r,e,t,n){return new D(w.string,r)},boolean(r,e,t,n){return r?Er.true:Er.false},null(r,e,t,n){return Er.null},undefined(r,e,t,n){return Er.undefined},ArrayBuffer(r,e,t,n){return new D(w.bytes,new Uint8Array(r))},DataView(r,e,t,n){return new D(w.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,e,t,n){if(!r.length)return t.addBreakTokens===!0?[Er.emptyArray,new D(w.break)]:Er.emptyArray;n=Oi.createCheck(n,r);let o=[],s=0;for(let i of r)o[s++]=Li(i,t,n);return t.addBreakTokens?[new D(w.array,r.length),o,new D(w.break)]:[new D(w.array,r.length),o]},Object(r,e,t,n){let o=e!=="Object",s=o?r.keys():Object.keys(r),i=o?r.size:s.length;if(!i)return t.addBreakTokens===!0?[Er.emptyMap,new D(w.break)]:Er.emptyMap;n=Oi.createCheck(n,r);let a=[],c=0;for(let f of s)a[c++]=[Li(f,t,n),Li(o?r.get(f):r[f],t,n)];return Kx(a,t),t.addBreakTokens?[new D(w.map,i),a,new D(w.break)]:[new D(w.map,i),a]}};Ar.Map=Ar.Object;Ar.Buffer=Ar.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Ar[`${r}Array`]=Ar.DataView;function Li(r,e={},t){let n=Pd(r),o=e&&e.typeEncoders&&e.typeEncoders[n]||Ar[n];if(typeof o=="function"){let i=o(r,n,e,t);if(i!=null)return i}let s=Ar[n];if(!s)throw new Error(`${Vc} unsupported type: ${n}`);return s(r,n,e,t)}function Kx(r,e){e.mapSorter&&r.sort(e.mapSorter)}function zx(r,e){let t=Array.isArray(r[0])?r[0][0]:r[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(t.type!==n.type)return t.type.compare(n.type);let o=t.type.major,s=Fp[o].compareTokens(t,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function $p(r,e,t,n){if(Array.isArray(e))for(let o of e)$p(r,o,t,n);else t[e.type.major](r,e,n)}function qx(r,e,t){let n=Li(r,t);if(!Array.isArray(n)&&t.quickEncodeToken){let o=t.quickEncodeToken(n);if(o)return o;let s=e[n.type.major];if(s.encodedSize){let i=s.encodedSize(n,t),a=new Lo(i);if(s(a,n,t),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Oc(a.chunks[0])}}return Hc.reset(),$p(Hc,n,e,t),Hc.toBytes(!0)}function Kc(r,e){return e=Object.assign({},$x,e),qx(r,Fp,e)}var Gx={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},zc=class{constructor(e,t={}){this._pos=0,this.data=e,this.options=t}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],t=wt[e];if(t===void 0){let n=N[e];if(!n)throw new Error(`${K} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;t=n(this.data,this._pos,o,this.options)}return this._pos+=t.encodedLength,t}},Mo=Symbol.for("DONE"),Vi=Symbol.for("BREAK");function jx(r,e,t){let n=[];for(let o=0;o<r.value;o++){let s=Fo(e,t);if(s===Vi){if(r.value===1/0)break;throw new Error(`${K} got unexpected break to lengthed array`)}if(s===Mo)throw new Error(`${K} found array but not enough entries (got ${o}, expected ${r.value})`);n[o]=s}return n}function Wx(r,e,t){let n=t.useMaps===!0,o=n?void 0:{},s=n?new Map:void 0;for(let i=0;i<r.value;i++){let a=Fo(e,t);if(a===Vi){if(r.value===1/0)break;throw new Error(`${K} got unexpected break to lengthed map`)}if(a===Mo)throw new Error(`${K} found map but not enough entries (got ${i} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${K} non-string keys not supported (got ${typeof a})`);if(t.rejectDuplicateMapKeys===!0&&(n&&s.has(a)||!n&&a in o))throw new Error(`${K} found repeat map key "${a}"`);let c=Fo(e,t);if(c===Mo)throw new Error(`${K} found map but not enough entries (got ${i} [no value], expected ${r.value})`);n?s.set(a,c):o[a]=c}return n?s:o}function Fo(r,e){if(r.done())return Mo;let t=r.next();if(t.type===w.break)return Vi;if(t.type.terminal)return t.value;if(t.type===w.array)return jx(t,r,e);if(t.type===w.map)return Wx(t,r,e);if(t.type===w.tag){if(e.tags&&typeof e.tags[t.value]=="function"){let n=Fo(r,e);return e.tags[t.value](n)}throw new Error(`${K} tag not supported (${t.value})`)}throw new Error("unsupported")}function Hp(r,e){if(!(r instanceof Uint8Array))throw new Error(`${K} data to decode must be a Uint8Array`);e=Object.assign({},Gx,e);let t=e.tokenizer||new zc(r,e),n=Fo(t,e);if(n===Mo)throw new Error(`${K} did not find any content to decode`);if(n===Vi)throw new Error(`${K} got unexpected break`);return[n,r.subarray(t.pos())]}function qc(r,e){let[t,n]=Hp(r,e);if(n.length>0)throw new Error(`${K} too many terminals, data makes no sense`);return t}var Fe=_e(_o(),1);var Kp=_e(_c(),1);var Gc=ir("ipns:utils"),zp=ee("/ipns/"),Zx=114;function Jx(r){let e=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),t=String(r).trim().match(e);if(t==null)throw new Error("Invalid format");let n=parseInt(t[1],10),o=parseInt(t[2],10)-1,s=parseInt(t[3],10),i=parseInt(t[4],10),a=parseInt(t[5],10),c=parseInt(t[6],10),f=parseInt(t[7].padEnd(6,"0").slice(0,3),10);return new Date(Date.UTC(n,o,s,i,a,c,f))}var qp=async(r,e)=>{if(e==null||r==null){let n=new Error("one or more of the provided parameters are not defined");throw Gc.error(n),(0,Fe.default)(n,Dc)}let t;if(e.pubKey!=null){try{t=Nc(e.pubKey)}catch(o){throw Gc.error(o),o}if(!(await Vf(e.pubKey)).equals(r))throw(0,Fe.default)(new Error("Embedded public key did not match PeerID"),Ld)}else r.publicKey!=null&&(t=Nc(r.publicKey));if(t!=null)return t;throw(0,Fe.default)(new Error("no public key is available"),Dc)},Gp=(r,e,t)=>{let n=ee(e);return Or([r,t,n])},Pi=r=>{let e=ee("ipns-signature:");return Or([e,r])},jc=r=>"signatureV1"in r?Ge.encode({value:ee(r.value),signatureV1:r.signatureV1,validityType:r.validityType,validity:ee(r.validity.toString()),sequence:r.sequence,ttl:r.ttl,pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data}):Ge.encode({pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data});function Jt(r){let e=Ge.decode(r);if(e.sequence!=null&&(e.sequence=BigInt(e.sequence)),e.ttl!=null&&(e.ttl=BigInt(e.ttl)),e.signatureV2==null||e.data==null)throw(0,Fe.default)(new Error("missing data or signatureV2"),Yt);let t=Yp(e.data),n=Wc(t.Value),o;try{o=Kp.default.fromDate(Jx(ue(t.Validity)))}catch{throw Gc.error("unrecognized validity format (not an rfc3339 format)"),(0,Fe.default)(new Error("unrecognized validity format (not an rfc3339 format)"),Ud)}if(e.value!=null&&e.signatureV1!=null)return Xx(e),{value:n,validityType:Ge.ValidityType.EOL,validity:o,sequence:t.Sequence,ttl:t.TTL,pubKey:e.pubKey,signatureV1:e.signatureV1,signatureV2:e.signatureV2,data:e.data};if(e.signatureV2!=null)return{value:n,validityType:Ge.ValidityType.EOL,validity:o,sequence:t.Sequence,ttl:t.TTL,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}var Mi=r=>Or([zp,r.toBytes()]),jp=r=>Ma(r.slice(zp.length)),Wp=(r,e,t,n,o)=>{let s;if(t===Ge.ValidityType.EOL)s=0;else throw(0,Fe.default)(new Error("Unknown validity type"),Do);return Kc({Value:r,Validity:e,ValidityType:s,Sequence:n,TTL:o})},Yp=r=>{let e=qc(r);if(e.ValidityType===0)e.ValidityType=Ge.ValidityType.EOL;else throw(0,Fe.default)(new Error("Unknown validity type"),Do);return Number.isInteger(e.Sequence)&&(e.Sequence=BigInt(e.Sequence)),Number.isInteger(e.TTL)&&(e.TTL=BigInt(e.TTL)),e},Wc=r=>{if(r!=null){if(hf(r))return`/ipns/${r.toCID().toString(ys)}`;if(r instanceof Uint8Array){let n=ue(r);n.startsWith("/")&&(r=n)}let e=r.toString().trim();if(e.startsWith("/")&&e.length>1)return e;let t=Xe.asCID(r);if(t!=null)return t.code===Zx?`/ipns/${t.toString(ys)}`:`/ipfs/${t.toV1().toString()}`;try{return r instanceof Uint8Array?`/ipfs/${Xe.decode(r).toV1().toString()}`:`/ipfs/${Xe.parse(e).toV1().toString()}`}catch{}}throw(0,Fe.default)(new Error("Value must be a valid content path starting with /"),Dd)},Xx=r=>{if(r.data==null)throw(0,Fe.default)(new Error("Record data is missing"),_d);let e=Yp(r.data);if(!Ce(e.Value,r.value??new Uint8Array(0)))throw(0,Fe.default)(new Error('Field "value" did not match between protobuf and CBOR'),Yt);if(!Ce(e.Validity,r.validity??new Uint8Array(0)))throw(0,Fe.default)(new Error('Field "validity" did not match between protobuf and CBOR'),Yt);if(e.ValidityType!==r.validityType)throw(0,Fe.default)(new Error('Field "validityType" did not match between protobuf and CBOR'),Yt);if(e.Sequence!==r.sequence)throw(0,Fe.default)(new Error('Field "sequence" did not match between protobuf and CBOR'),Yt);if(e.TTL!==r.ttl)throw(0,Fe.default)(new Error('Field "ttl" did not match between protobuf and CBOR'),Yt)};var Qx=ir("ipns"),e1=vt.code,t1="/ipns/",G4=t1.length,Jp={v1Compatible:!0};async function Xp(r,e,t,n,o=Jp){let s=new Zp.default(Date.now()+Number(n)),i=Ge.ValidityType.EOL,[a,c]=n.toString().split("."),f=BigInt(a)*BigInt(1e5)+BigInt(c??"0");return r1(r,e,t,i,s,f,o)}var r1=async(r,e,t,n,o,s,i=Jp)=>{t=BigInt(t);let a=ee(o.toString()),c=Wc(e),f=ee(c);if(r.privateKey==null)throw(0,Yc.default)(new Error("Missing private key"),Od);let u=await Id(r.privateKey),l=Wp(f,a,n,t,s),p=Pi(l),x=await u.sign(p),d;if(r.publicKey!=null){let h=_r(r.toBytes());(h.code!==e1||!Ce(r.publicKey,h.digest))&&(d=r.publicKey)}if(i.v1Compatible===!0){let h=await n1(u,f,n,a),m={value:c,signatureV1:h,validity:o,validityType:n,sequence:t,ttl:s,signatureV2:x,data:l};return d!=null&&(m.pubKey=d),m}else{let h={value:c,validity:o,validityType:n,sequence:t,ttl:s,signatureV2:x,data:l};return d!=null&&(h.pubKey=d),h}};var n1=async(r,e,t,n)=>{try{let o=Gp(e,t,n);return await r.sign(o)}catch(o){throw Qx.error("record signature creation failed",o),(0,Yc.default)(new Error("record signature creation failed"),Nd)}};function Fi(r,e){let t=e.map((n,o)=>({record:Jt(n),index:o}));return t.sort((n,o)=>{let s=n.record.sequence,i=o.record.sequence;if(s>i)return-1;if(s<i)return 1;let a=n.record.validity.toDate(),c=o.record.validity.toDate();return a.getTime()>c.getTime()?-1:a.getTime()<c.getTime()?1:0}),t[0].index}var $o=_e(_o(),1);var $i=ir("ipns:validator"),o1=1024*10,s1=async(r,e)=>{let t=Jt(e),n;try{let o=Pi(t.data);n=await r.verify(o,t.signatureV2)}catch{n=!1}if(!n)throw $i.error("record signature verification failed"),(0,$o.default)(new Error("record signature verification failed"),Yt);if(t.validityType===Ge.ValidityType.EOL){if(t.validity.toDate().getTime()<Date.now())throw $i.error("record has expired"),(0,$o.default)(new Error("record has expired"),Rd)}else if(t.validityType!=null)throw $i.error("unrecognized validity type"),(0,$o.default)(new Error("unrecognized validity type"),Do);$i("ipns record for %b is valid",t.value)};async function Zc(r,e){if(e.byteLength>o1)throw(0,$o.default)(new Error("record too large"),Vd);let t=jp(r),n=Jt(e),o=await qp(t,n);await s1(o,e)}var je=class extends Event{constructor(e,t){super(e),this.detail=t}};var tu={};M(tu,{base58btc:()=>$e,base58flickr:()=>f1});function i1(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var h=0,m=0,g=0,A=d.length;g!==A&&d[g]===0;)g++,h++;for(var b=(A-g)*u+1>>>0,S=new Uint8Array(b);g!==A;){for(var v=d[g],I=0,C=b-1;(v!==0||I<m)&&C!==-1;C--,I++)v+=256*S[C]>>>0,S[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=I,g++}for(var y=b-m;y!==b&&S[y]===0;)y++;for(var k=c.repeat(h);y<b;++y)k+=r.charAt(S[y]);return k}function p(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var h=0;if(d[h]!==" "){for(var m=0,g=0;d[h]===c;)m++,h++;for(var A=(d.length-h)*f+1>>>0,b=new Uint8Array(A);d[h];){var S=t[d.charCodeAt(h)];if(S===255)return;for(var v=0,I=A-1;(S!==0||v<g)&&I!==-1;I--,v++)S+=a*b[I]>>>0,b[I]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=v,h++}if(d[h]!==" "){for(var C=A-g;C!==A&&b[C]===0;)C++;for(var y=new Uint8Array(m+(A-C)),k=m;C!==A;)y[k++]=b[C++];return y}}}function x(d){var h=p(d);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:x}}var a1=i1,c1=a1,Qp=c1;var sI=new Uint8Array(0);var e0=(r,e)=>{if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0},Xt=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var t0=r=>new TextEncoder().encode(r),r0=r=>new TextDecoder().decode(r);var Jc=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Xc=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return o0(this,e)}},Qc=class{constructor(e){this.decoders=e}or(e){return o0(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},o0=(r,e)=>new Qc({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),eu=class{constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new Jc(e,t,n),this.decoder=new Xc(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Vn=({name:r,prefix:e,encode:t,decode:n})=>new eu(r,e,t,n),Br=({prefix:r,name:e,alphabet:t})=>{let{encode:n,decode:o}=Qp(t,e);return Vn({prefix:r,name:e,encode:n,decode:s=>Xt(o(s))})},u1=(r,e,t,n)=>{let o={};for(let u=0;u<e.length;++u)o[e[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*t/8|0),a=0,c=0,f=0;for(let u=0;u<s;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|l,a+=t,a>=8&&(a-=8,i[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i},l1=(r,e,t)=>{let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i&&(s+=e[o&a<<t-i]),n)for(;s.length*t&7;)s+="=";return s},pe=({name:r,prefix:e,bitsPerChar:t,alphabet:n})=>Vn({prefix:e,name:r,encode(o){return l1(o,n,t)},decode(o){return u1(o,n,t,r)}});var $e=Br({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),f1=Br({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ru={};M(ru,{base32:()=>kt,base32hex:()=>m1,base32hexpad:()=>y1,base32hexpadupper:()=>b1,base32hexupper:()=>g1,base32pad:()=>d1,base32padupper:()=>p1,base32upper:()=>h1,base32z:()=>w1});var kt=pe({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),h1=pe({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),d1=pe({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),p1=pe({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),m1=pe({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),g1=pe({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),y1=pe({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),b1=pe({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),w1=pe({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var x1=a0,s0=128,v1=127,E1=~v1,A1=Math.pow(2,31);function a0(r,e,t){e=e||[],t=t||0;for(var n=t;r>=A1;)e[t++]=r&255|s0,r/=128;for(;r&E1;)e[t++]=r&255|s0,r>>>=7;return e[t]=r|0,a0.bytes=t-n+1,e}var B1=nu,S1=128,i0=127;function nu(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw nu.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&i0)<<o:(i&i0)*Math.pow(2,o),o+=7}while(i>=S1);return nu.bytes=s-n,t}var I1=Math.pow(2,7),C1=Math.pow(2,14),T1=Math.pow(2,21),k1=Math.pow(2,28),R1=Math.pow(2,35),N1=Math.pow(2,42),U1=Math.pow(2,49),_1=Math.pow(2,56),D1=Math.pow(2,63),L1=function(r){return r<I1?1:r<C1?2:r<T1?3:r<k1?4:r<R1?5:r<N1?6:r<U1?7:r<_1?8:r<D1?9:10},O1={encode:x1,decode:B1,encodingLength:L1},V1=O1,Ho=V1;var Ko=(r,e=0)=>[Ho.decode(r,e),Ho.decode.bytes],Pn=(r,e,t=0)=>(Ho.encode(r,e,t),e),Mn=r=>Ho.encodingLength(r);var Wr=(r,e)=>{let t=e.byteLength,n=Mn(r),o=n+Mn(t),s=new Uint8Array(o+t);return Pn(r,s,0),Pn(t,s,n),s.set(e,o),new Fn(r,t,e,s)},zo=r=>{let e=Xt(r),[t,n]=Ko(e),[o,s]=Ko(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Fn(t,o,i,e)},c0=(r,e)=>{if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&e0(r.bytes,t.bytes)}},Fn=class{constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var Ki=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let t=this.index,n=e();return n===void 0&&(this.index=t),n}parseWith(e){let t=e();if(this.index===this.input.length)return t}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(e){return this.readAtomically(()=>{let t=this.readChar();if(t===e)return t})}readSeparator(e,t,n){return this.readAtomically(()=>{if(!(t>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,t,n,o){return this.readAtomically(()=>{let s=0,i=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 p=Number.parseInt(l,e);if(!Number.isNaN(p))return p});if(u===void 0)break;if(s*=e,s+=u,s>f||(i+=1,t!==void 0&&i>t))return}if(i!==0)return!n&&c&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let t=0;t<e.length;t++){let n=this.readSeparator(".",t,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[t]=n}return e})}readIPv6Addr(){let e=t=>{for(let n=0;n<t.length/2;n++){let o=n*2;if(n<t.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return t[o]=i[0],t[o+1]=i[1],t[o+2]=i[2],t[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];t[o]=s>>8,t[o+1]=s&255}return[t.length,!1]};return this.readAtomically(()=>{let t=new Uint8Array(16),[n,o]=e(t);if(n===16)return t;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=e(s.subarray(0,i));return t.set(s.subarray(0,a),16-a),t})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var u0=45,P1=15,$n=new Ki;function ou(r){if(!(r.length>P1))return $n.new(r).parseWith(()=>$n.readIPv4Addr())}function su(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>u0))return $n.new(r).parseWith(()=>$n.readIPv6Addr())}function zi(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>u0))return $n.new(r).parseWith(()=>$n.readIPAddr())}function qi(r){return!!ou(r)}function Gi(r){return!!su(r)}function Sr(r){return!!zi(r)}var lu={};M(lu,{base10:()=>z1});function M1(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var h=0,m=0,g=0,A=d.length;g!==A&&d[g]===0;)g++,h++;for(var b=(A-g)*u+1>>>0,S=new Uint8Array(b);g!==A;){for(var v=d[g],I=0,C=b-1;(v!==0||I<m)&&C!==-1;C--,I++)v+=256*S[C]>>>0,S[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=I,g++}for(var y=b-m;y!==b&&S[y]===0;)y++;for(var k=c.repeat(h);y<b;++y)k+=r.charAt(S[y]);return k}function p(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var h=0;if(d[h]!==" "){for(var m=0,g=0;d[h]===c;)m++,h++;for(var A=(d.length-h)*f+1>>>0,b=new Uint8Array(A);d[h];){var S=t[d.charCodeAt(h)];if(S===255)return;for(var v=0,I=A-1;(S!==0||v<g)&&I!==-1;I--,v++)S+=a*b[I]>>>0,b[I]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=v,h++}if(d[h]!==" "){for(var C=A-g;C!==A&&b[C]===0;)C++;for(var y=new Uint8Array(m+(A-C)),k=m;C!==A;)y[k++]=b[C++];return y}}}function x(d){var h=p(d);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:x}}var F1=M1,$1=F1,l0=$1;var xI=new Uint8Array(0);var f0=(r,e)=>{if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0},Qt=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var h0=r=>new TextEncoder().encode(r),d0=r=>new TextDecoder().decode(r);var iu=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},au=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return m0(this,e)}},cu=class{constructor(e){this.decoders=e}or(e){return m0(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},m0=(r,e)=>new cu({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),uu=class{constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new iu(e,t,n),this.decoder=new au(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Hn=({name:r,prefix:e,encode:t,decode:n})=>new uu(r,e,t,n),Ir=({prefix:r,name:e,alphabet:t})=>{let{encode:n,decode:o}=l0(t,e);return Hn({prefix:r,name:e,encode:n,decode:s=>Qt(o(s))})},H1=(r,e,t,n)=>{let o={};for(let u=0;u<e.length;++u)o[e[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*t/8|0),a=0,c=0,f=0;for(let u=0;u<s;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|l,a+=t,a>=8&&(a-=8,i[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i},K1=(r,e,t)=>{let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i&&(s+=e[o&a<<t-i]),n)for(;s.length*t&7;)s+="=";return s},me=({name:r,prefix:e,bitsPerChar:t,alphabet:n})=>Hn({prefix:e,name:r,encode(o){return K1(o,n,t)},decode(o){return H1(o,n,t,r)}});var z1=Ir({prefix:"9",name:"base10",alphabet:"0123456789"});var fu={};M(fu,{base16:()=>q1,base16upper:()=>G1});var q1=me({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),G1=me({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var hu={};M(hu,{base2:()=>j1});var j1=me({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var du={};M(du,{base256emoji:()=>X1});var g0=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}"),W1=g0.reduce((r,e,t)=>(r[t]=e,r),[]),Y1=g0.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Z1(r){return r.reduce((e,t)=>(e+=W1[t],e),"")}function J1(r){let e=[];for(let t of r){let n=Y1[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var X1=Hn({prefix:"\u{1F680}",name:"base256emoji",encode:Z1,decode:J1});var pu={};M(pu,{base32:()=>Kn,base32hex:()=>rv,base32hexpad:()=>ov,base32hexpadupper:()=>sv,base32hexupper:()=>nv,base32pad:()=>ev,base32padupper:()=>tv,base32upper:()=>Q1,base32z:()=>iv});var Kn=me({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Q1=me({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ev=me({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),tv=me({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),rv=me({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),nv=me({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ov=me({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),sv=me({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),iv=me({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var mu={};M(mu,{base36:()=>av,base36upper:()=>cv});var av=Ir({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),cv=Ir({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var gu={};M(gu,{base58btc:()=>Rt,base58flickr:()=>uv});var Rt=Ir({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),uv=Ir({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var yu={};M(yu,{base64:()=>lv,base64pad:()=>fv,base64url:()=>hv,base64urlpad:()=>dv});var lv=me({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),fv=me({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),hv=me({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),dv=me({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var bu={};M(bu,{base8:()=>pv});var pv=me({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var wu={};M(wu,{identity:()=>mv});var mv=Hn({prefix:"\0",name:"identity",encode:r=>d0(r),decode:r=>h0(r)});var LI=new TextEncoder,OI=new TextDecoder;var vu={};M(vu,{identity:()=>Pv});var bv=w0,y0=128,wv=127,xv=~wv,vv=Math.pow(2,31);function w0(r,e,t){e=e||[],t=t||0;for(var n=t;r>=vv;)e[t++]=r&255|y0,r/=128;for(;r&xv;)e[t++]=r&255|y0,r>>>=7;return e[t]=r|0,w0.bytes=t-n+1,e}var Ev=xu,Av=128,b0=127;function xu(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw xu.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&b0)<<o:(i&b0)*Math.pow(2,o),o+=7}while(i>=Av);return xu.bytes=s-n,t}var Bv=Math.pow(2,7),Sv=Math.pow(2,14),Iv=Math.pow(2,21),Cv=Math.pow(2,28),Tv=Math.pow(2,35),kv=Math.pow(2,42),Rv=Math.pow(2,49),Nv=Math.pow(2,56),Uv=Math.pow(2,63),_v=function(r){return r<Bv?1:r<Sv?2:r<Iv?3:r<Cv?4:r<Tv?5:r<kv?6:r<Rv?7:r<Nv?8:r<Uv?9:10},Dv={encode:bv,decode:Ev,encodingLength:_v},Lv=Dv,qo=Lv;var Go=(r,e=0)=>[qo.decode(r,e),qo.decode.bytes],zn=(r,e,t=0)=>(qo.encode(r,e,t),e),qn=r=>qo.encodingLength(r);var Zr=(r,e)=>{let t=e.byteLength,n=qn(r),o=n+qn(t),s=new Uint8Array(o+t);return zn(r,s,0),zn(t,s,n),s.set(e,o),new Gn(r,t,e,s)},x0=r=>{let e=Qt(r),[t,n]=Go(e),[o,s]=Go(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Gn(t,o,i,e)},v0=(r,e)=>{if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&f0(r.bytes,t.bytes)}},Gn=class{constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var E0=0,Ov="identity",A0=Qt,Vv=r=>Zr(E0,A0(r)),Pv={code:E0,name:Ov,encode:A0,digest:Vv};var Bu={};M(Bu,{sha256:()=>Mv,sha512:()=>Fv});var Au=({name:r,code:e,encode:t})=>new Eu(r,e,t),Eu=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Zr(this.code,t):t.then(n=>Zr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var S0=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Mv=Au({name:"sha2-256",code:18,encode:S0("SHA-256")}),Fv=Au({name:"sha2-512",code:19,encode:S0("SHA-512")});var I0=(r,e)=>{let{bytes:t,version:n}=r;switch(n){case 0:return Hv(t,Su(r),e||Rt.encoder);default:return Kv(t,Su(r),e||Kn.encoder)}};var C0=new WeakMap,Su=r=>{let e=C0.get(r);if(e==null){let t=new Map;return C0.set(r,t),t}return e},Wi=class r{constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==Wo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==zv)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=Zr(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n&&e.code===n.code&&e.version===n.version&&v0(e.multihash,n.multihash)}toString(e){return I0(this,e)}toJSON(){return{"/":I0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i||T0(n,o,s.bytes))}else if(t[qv]===!0){let{version:n,multihash:o,code:s}=t,i=x0(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Wo)throw new Error(`Version 0 CID must use dag-pb (code: ${Wo}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=T0(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Wo,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=Qt(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new Gn(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,p]=Go(e.subarray(t));return t+=p,l},o=n(),s=Wo;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),f=t+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,t){let[n,o]=$v(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Su(s).set(n,e),s}},$v=(r,e)=>{switch(r[0]){case"Q":{let t=e||Rt;return[Rt.prefix,t.decode(`${Rt.prefix}${r}`)]}case Rt.prefix:{let t=e||Rt;return[Rt.prefix,t.decode(r)]}case Kn.prefix:{let t=e||Kn;return[Kn.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},Hv=(r,e,t)=>{let{prefix:n}=t;if(n!==Rt.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o},Kv=(r,e,t)=>{let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o},Wo=112,zv=18,T0=(r,e,t)=>{let n=qn(r),o=n+qn(e),s=new Uint8Array(o+t.byteLength);return zn(r,s,0),zn(e,s,n),s.set(t,o),s},qv=Symbol.for("@ipld/js-cid/CID");var Iu={...wu,...hu,...bu,...lu,...fu,...pu,...mu,...gu,...yu,...du},XI={...Bu,...vu};function jn(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Yi(r=0){return globalThis.Buffer?.allocUnsafe!=null?jn(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function R0(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var k0=R0("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Cu=R0("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=Yi(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Gv={utf8:k0,"utf-8":k0,hex:Iu.base16,latin1:Cu,ascii:Cu,binary:Cu,...Iu},Zi=Gv;function He(r,e="utf8"){let t=Zi[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}var N0=qi,jv=Gi,Tu=function(r){let e=0;if(r=r.toString().trim(),N0(r)){let t=new Uint8Array(e+4);return r.split(/\./g).forEach(n=>{t[e++]=parseInt(n,10)&255}),t}if(jv(r)){let t=r.split(":",8),n;for(n=0;n<t.length;n++){let s=N0(t[n]),i;s&&(i=Tu(t[n]),t[n]=He(i.slice(0,2),"base16")),i!=null&&++n<8&&t.splice(n,0,He(i.slice(2,4),"base16"))}if(t[0]==="")for(;t.length<8;)t.unshift("0");else if(t[t.length-1]==="")for(;t.length<8;)t.push("0");else if(t.length<8){for(n=0;n<t.length&&t[n]!=="";n++);let s=[n,1];for(n=9-t.length;n>0;n--)s.push("0");t.splice.apply(t,s)}let o=new Uint8Array(e+16);for(n=0;n<t.length;n++){let s=parseInt(t[n],16);o[e++]=s>>8&255,o[e++]=s&255}return o}throw new Error("invalid ip address")},U0=function(r,e=0,t){e=~~e,t=t??r.length-e;let n=new DataView(r.buffer);if(t===4){let o=[];for(let s=0;s<t;s++)o.push(r[e+s]);return o.join(".")}if(t===16){let o=[];for(let s=0;s<t;s+=2)o.push(n.getUint16(e+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Yo={},ku={},Yv=[[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"],[281,0,"webrtc-w3c"],[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"],[777,-1,"memory"]];Yv.forEach(r=>{let e=Zv(...r);ku[e.code]=e,Yo[e.name]=e});function Zv(r,e,t,n,o){return{code:r,size:e,name:t,resolvable:!!n,path:!!o}}function le(r){if(typeof r=="number"){if(ku[r]!=null)return ku[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Yo[r]!=null)return Yo[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var _0=(r,e)=>{let{bytes:t,version:n}=r;switch(n){case 0:return Xv(t,Ru(r),e||$e.encoder);default:return Qv(t,Ru(r),e||kt.encoder)}};var D0=new WeakMap,Ru=r=>{let e=D0.get(r);if(e==null){let t=new Map;return D0.set(r,t),t}return e},ut=class r{constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==Zo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==e2)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=Wr(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n&&e.code===n.code&&e.version===n.version&&c0(e.multihash,n.multihash)}toString(e){return _0(this,e)}toJSON(){return{"/":_0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i||L0(n,o,s.bytes))}else if(t[t2]===!0){let{version:n,multihash:o,code:s}=t,i=zo(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Zo)throw new Error(`Version 0 CID must use dag-pb (code: ${Zo}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=L0(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Zo,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=Xt(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new Fn(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,p]=Ko(e.subarray(t));return t+=p,l},o=n(),s=Zo;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),f=t+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,t){let[n,o]=Jv(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ru(s).set(n,e),s}},Jv=(r,e)=>{switch(r[0]){case"Q":{let t=e||$e;return[$e.prefix,t.decode(`${$e.prefix}${r}`)]}case $e.prefix:{let t=e||$e;return[$e.prefix,t.decode(r)]}case kt.prefix:{let t=e||kt;return[kt.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},Xv=(r,e,t)=>{let{prefix:n}=t;if(n!==$e.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o},Qv=(r,e,t)=>{let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o},Zo=112,e2=18,L0=(r,e,t)=>{let n=Mn(r),o=n+Mn(e),s=new Uint8Array(o+t.byteLength);return Pn(r,s,0),Pn(e,s,n),s.set(t,o),s},t2=Symbol.for("@ipld/js-cid/CID");var Nu={};M(Nu,{identity:()=>r2});var r2=Vn({prefix:"\0",name:"identity",encode:r=>r0(r),decode:r=>t0(r)});var Uu={};M(Uu,{base2:()=>n2});var n2=pe({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var _u={};M(_u,{base8:()=>o2});var o2=pe({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Du={};M(Du,{base10:()=>s2});var s2=Br({prefix:"9",name:"base10",alphabet:"0123456789"});var Lu={};M(Lu,{base16:()=>i2,base16upper:()=>a2});var i2=pe({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),a2=pe({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ou={};M(Ou,{base36:()=>c2,base36upper:()=>u2});var c2=Br({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),u2=Br({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Vu={};M(Vu,{base64:()=>l2,base64pad:()=>f2,base64url:()=>h2,base64urlpad:()=>d2});var l2=pe({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),f2=pe({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),h2=pe({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),d2=pe({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Pu={};M(Pu,{base256emoji:()=>b2});var O0=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}"),p2=O0.reduce((r,e,t)=>(r[t]=e,r),[]),m2=O0.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function g2(r){return r.reduce((e,t)=>(e+=p2[t],e),"")}function y2(r){let e=[];for(let t of r){let n=m2[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var b2=Vn({prefix:"\u{1F680}",name:"base256emoji",encode:g2,decode:y2});var $u={};M($u,{sha256:()=>w2,sha512:()=>x2});var Fu=({name:r,code:e,encode:t})=>new Mu(r,e,t),Mu=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Wr(this.code,t):t.then(n=>Wr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var P0=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),w2=Fu({name:"sha2-256",code:18,encode:P0("SHA-256")}),x2=Fu({name:"sha2-512",code:19,encode:P0("SHA-512")});var Hu={};M(Hu,{identity:()=>A2});var M0=0,v2="identity",F0=Xt,E2=r=>Wr(M0,F0(r)),A2={code:M0,name:v2,encode:F0,digest:E2};var kC=new TextEncoder,RC=new TextDecoder;var $0={...Nu,...Uu,..._u,...Du,...Lu,...ru,...Ou,...tu,...Vu,...Pu},LC={...$u,...Hu};var Nt=_e(Ji(),1);function qu(r,e="utf8"){let t=Zi[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?jn(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}function er(r,e){e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=Yi(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return jn(t)}function tm(r,e){switch(le(r).code){case 4:case 41:return F2(e);case 42:return Q0(e);case 6:case 273:case 33:case 132:return nm(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Q0(e);case 421:return z2(e);case 444:return em(e);case 445:return em(e);case 466:return K2(e);default:return He(e,"base16")}}function rm(r,e){switch(le(r).code){case 4:return J0(e);case 41:return J0(e);case 42:return X0(e);case 6:case 273:case 33:case 132:return ju(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return X0(e);case 421:return $2(e);case 444:return q2(e);case 445:return G2(e);case 466:return H2(e);default:return qu(e,"base16")}}var Gu=Object.values($0).map(r=>r.decoder),M2=function(){let r=Gu[0].or(Gu[1]);return Gu.slice(2).forEach(e=>r=r.or(e)),r}();function J0(r){if(!Sr(r))throw new Error("invalid ip address");return Tu(r)}function F2(r){let e=U0(r,0,r.length);if(e==null)throw new Error("ipBuff is required");if(!Sr(e))throw new Error("invalid ip address");return e}function ju(r){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,r),new Uint8Array(e)}function nm(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function X0(r){let e=qu(r),t=Uint8Array.from(Nt.default.encode(e.length));return er([t,e],t.length+e.length)}function Q0(r){let e=Nt.default.decode(r);if(r=r.slice(Nt.default.decode.bytes),r.length!==e)throw new Error("inconsistent lengths");return He(r)}function $2(r){let e;r[0]==="Q"||r[0]==="1"?e=zo($e.decode(`z${r}`)).bytes:e=ut.parse(r).multihash.bytes;let t=Uint8Array.from(Nt.default.encode(e.length));return er([t,e],t.length+e.length)}function H2(r){let e=M2.decode(r),t=Uint8Array.from(Nt.default.encode(e.length));return er([t,e],t.length+e.length)}function K2(r){let e=Nt.default.decode(r),t=r.slice(Nt.default.decode.bytes);if(t.length!==e)throw new Error("inconsistent lengths");return"u"+He(t,"base64url")}function z2(r){let e=Nt.default.decode(r),t=r.slice(Nt.default.decode.bytes);if(t.length!==e)throw new Error("inconsistent lengths");return He(t,"base58btc")}function q2(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let t=kt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ju(n);return er([t,o],t.length+o.length)}function G2(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let t=kt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ju(n);return er([t,o],t.length+o.length)}function em(r){let e=r.slice(0,r.length-2),t=r.slice(r.length-2),n=He(e,"base32"),o=nm(t);return`${n}:${o}`}var Wn=_e(Ji(),1);function j2(r){let e=[],t=r.split("/").slice(1);if(t.length===1&&t[0]==="")return[];for(let n=0;n<t.length;n++){let o=t[n],s=le(o);if(s.size===0){e.push([o]);continue}if(n++,n>=t.length)throw sm("invalid address: "+r);if(s.path===!0){e.push([o,Xu(t.slice(n).join("/"))]);break}e.push([o,t[n]])}return e}function W2(r){let e=[];return r.map(t=>{let n=ea(t);return e.push(n.name),t.length>1&&t[1]!=null&&e.push(t[1]),null}),Xu(e.join("/"))}function Y2(r){return r.map(e=>{Array.isArray(e)||(e=[e]);let t=ea(e);return e.length>1?[t.code,rm(t.code,e[1])]:[t.code]})}function Wu(r){return r.map(e=>{let t=ea(e);return e[1]!=null?[t.code,tm(t.code,e[1])]:[t.code]})}function Yu(r){return Qi(er(r.map(e=>{let t=ea(e),n=Uint8Array.from(Wn.default.encode(t.code));return e.length>1&&e[1]!=null&&(n=er([n,e[1]])),n})))}function Zu(r,e){return r.size>0?r.size/8:r.size===0?0:Wn.default.decode(e)+(Wn.default.decode.bytes??0)}function Xi(r){let e=[],t=0;for(;t<r.length;){let n=Wn.default.decode(r,t),o=Wn.default.decode.bytes??0,s=le(n),i=Zu(s,r.slice(t+o));if(i===0){e.push([n]),t+=o;continue}let a=r.slice(t+o,t+o+i);if(t+=i+o,t>r.length)throw sm("Invalid address Uint8Array: "+He(r,"base16"));e.push([n,a])}return e}function Ju(r){let e=Xi(r),t=Wu(e);return W2(t)}function Z2(r){r=Xu(r);let e=j2(r),t=Y2(e);return Yu(t)}function om(r){return Z2(r)}function Qi(r){let e=J2(r);if(e!=null)throw e;return Uint8Array.from(r)}function J2(r){try{Xi(r)}catch(e){return e}}function Xu(r){return"/"+r.trim().split("/").filter(e=>e).join("/")}function sm(r){return new Error("Error parsing address: "+r)}function ea(r){return le(r[0])}var el=_e(Ji(),1);var um=_e(_o(),1);function im(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var Yn=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Qu=function(r,e,t,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!o:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(r,t):o?o.value=t:e.set(r,t),t},Jo,Xo,Qo,am,Q2=Symbol.for("nodejs.util.inspect.custom"),eE=[le("dns").code,le("dns4").code,le("dns6").code,le("dnsaddr").code],tE=new Map,lm=Symbol.for("@multiformats/js-multiaddr/multiaddr");function rE(r){return!!r?.[lm]}var cm=class r{constructor(e){if(Jo.set(this,void 0),Xo.set(this,void 0),Qo.set(this,void 0),this[am]=!0,e==null&&(e=""),e instanceof Uint8Array)this.bytes=Qi(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=om(e)}else if(rE(e))this.bytes=Qi(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Yn(this,Jo,"f")==null&&Qu(this,Jo,Ju(this.bytes),"f"),Yn(this,Jo,"f")}toJSON(){return this.toString()}toOptions(){let e,t,n,o,s="",i=le("tcp"),a=le("udp"),c=le("ip4"),f=le("ip6"),u=le("dns6"),l=le("ip6zone");for(let[x,d]of this.stringTuples())x===l.code&&(s=`%${d??""}`),eE.includes(x)&&(t=i.name,o=443,n=`${d??""}${s}`,e=x===u.code?6:4),(x===i.code||x===a.code)&&(t=le(x).name,o=parseInt(d??"")),(x===c.code||x===f.code)&&(t=le(x).name,n=`${d??""}${s}`,e=x===f.code?6:4);if(e==null||t==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:e,host:n,transport:t,port:o}}protos(){return this.protoCodes().map(e=>Object.assign({},le(e)))}protoCodes(){let e=[],t=this.bytes,n=0;for(;n<t.length;){let o=el.default.decode(t,n),s=el.default.decode.bytes??0,i=le(o),a=Zu(i,t.slice(n+s));n+=a+s,e.push(o)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return Yn(this,Xo,"f")==null&&Qu(this,Xo,Xi(this.bytes),"f"),Yn(this,Xo,"f")}stringTuples(){return Yn(this,Qo,"f")==null&&Qu(this,Qo,Wu(this.tuples()),"f"),Yn(this,Qo,"f")}encapsulate(e){return e=new r(e),new r(this.toString()+e.toString())}decapsulate(e){let t=e.toString(),n=this.toString(),o=n.lastIndexOf(t);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new r(n.slice(0,o))}decapsulateCode(e){let t=this.tuples();for(let n=t.length-1;n>=0;n--)if(t[n][0]===e)return new r(Yu(t.slice(0,n)));return this}getPeerId(){try{let t=this.stringTuples().filter(n=>n[0]===Yo.ipfs.code).pop();if(t?.[1]!=null){let n=t[1];return n[0]==="Q"||n[0]==="1"?He($e.decode(`z${n}`),"base58btc"):He(ut.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let e=null;try{e=this.stringTuples().filter(t=>le(t[0]).path===!0)[0][1],e==null&&(e=null)}catch{e=null}return e}equals(e){return im(this.bytes,e.bytes)}async resolve(e){let t=this.protos().find(s=>s.resolvable);if(t==null)return[this];let n=tE.get(t.name);if(n==null)throw(0,um.default)(new Error(`no available resolver for ${t.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new r(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let t=(e??this).protos();return!(t.length!==2||t[0].code!==4&&t[0].code!==41||t[1].code!==6&&t[1].code!==273)}[(Jo=new WeakMap,Xo=new WeakMap,Qo=new WeakMap,am=lm,Q2)](){return`Multiaddr(${Ju(this.bytes)})`}};var sl={};M(sl,{base58btc:()=>We,base58flickr:()=>cE});var dT=new Uint8Array(0);function fm(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function tr(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 hm(r){return new TextEncoder().encode(r)}function dm(r){return new TextDecoder().decode(r)}function nE(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var h=0,m=0,g=0,A=d.length;g!==A&&d[g]===0;)g++,h++;for(var b=(A-g)*u+1>>>0,S=new Uint8Array(b);g!==A;){for(var v=d[g],I=0,C=b-1;(v!==0||I<m)&&C!==-1;C--,I++)v+=256*S[C]>>>0,S[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=I,g++}for(var y=b-m;y!==b&&S[y]===0;)y++;for(var k=c.repeat(h);y<b;++y)k+=r.charAt(S[y]);return k}function p(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var h=0;if(d[h]!==" "){for(var m=0,g=0;d[h]===c;)m++,h++;for(var A=(d.length-h)*f+1>>>0,b=new Uint8Array(A);d[h];){var S=t[d.charCodeAt(h)];if(S===255)return;for(var v=0,I=A-1;(S!==0||v<g)&&I!==-1;I--,v++)S+=a*b[I]>>>0,b[I]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=v,h++}if(d[h]!==" "){for(var C=A-g;C!==A&&b[C]===0;)C++;for(var y=new Uint8Array(m+(A-C)),k=m;C!==A;)y[k++]=b[C++];return y}}}function x(d){var h=p(d);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:x}}var oE=nE,sE=oE,mm=sE;var tl=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},rl=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return gm(this,e)}},nl=class{decoders;constructor(e){this.decoders=e}or(e){return gm(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function gm(r,e){return new nl({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var ol=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new tl(e,t,n),this.decoder=new rl(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Zn({name:r,prefix:e,encode:t,decode:n}){return new ol(r,e,t,n)}function Cr({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=mm(t,r);return Zn({prefix:e,name:r,encode:n,decode:s=>tr(o(s))})}function iE(r,e,t,n){let o={};for(let u=0;u<e.length;++u)o[e[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*t/8|0),a=0,c=0,f=0;for(let u=0;u<s;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|l,a+=t,a>=8&&(a-=8,i[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i}function aE(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;s.length*t&7;)s+="=";return s}function ge({name:r,prefix:e,bitsPerChar:t,alphabet:n}){return Zn({prefix:e,name:r,encode(o){return aE(o,n,t)},decode(o){return iE(o,n,t,r)}})}var We=Cr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),cE=Cr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var il={};M(il,{base32:()=>rr,base32hex:()=>hE,base32hexpad:()=>pE,base32hexpadupper:()=>mE,base32hexupper:()=>dE,base32pad:()=>lE,base32padupper:()=>fE,base32upper:()=>uE,base32z:()=>gE});var rr=ge({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),uE=ge({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),lE=ge({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),fE=ge({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),hE=ge({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),dE=ge({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),pE=ge({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),mE=ge({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),gE=ge({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var yE=wm,ym=128,bE=127,wE=~bE,xE=Math.pow(2,31);function wm(r,e,t){e=e||[],t=t||0;for(var n=t;r>=xE;)e[t++]=r&255|ym,r/=128;for(;r&wE;)e[t++]=r&255|ym,r>>>=7;return e[t]=r|0,wm.bytes=t-n+1,e}var vE=al,EE=128,bm=127;function al(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw al.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&bm)<<o:(i&bm)*Math.pow(2,o),o+=7}while(i>=EE);return al.bytes=s-n,t}var AE=Math.pow(2,7),BE=Math.pow(2,14),SE=Math.pow(2,21),IE=Math.pow(2,28),CE=Math.pow(2,35),TE=Math.pow(2,42),kE=Math.pow(2,49),RE=Math.pow(2,56),NE=Math.pow(2,63),UE=function(r){return r<AE?1:r<BE?2:r<SE?3:r<IE?4:r<CE?5:r<TE?6:r<kE?7:r<RE?8:r<NE?9:10},_E={encode:yE,decode:vE,encodingLength:UE},DE=_E,es=DE;function ts(r,e=0){return[es.decode(r,e),es.decode.bytes]}function Jn(r,e,t=0){return es.encode(r,e,t),e}function Xn(r){return es.encodingLength(r)}function Jr(r,e){let t=e.byteLength,n=Xn(r),o=n+Xn(t),s=new Uint8Array(o+t);return Jn(r,s,0),Jn(t,s,n),s.set(e,o),new Qn(r,t,e,s)}function ra(r){let e=tr(r),[t,n]=ts(e),[o,s]=ts(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Qn(t,o,i,e)}function xm(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&fm(r.bytes,t.bytes)}}var Qn=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};function vm(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return OE(t,cl(r),e??We.encoder);default:return VE(t,cl(r),e??rr.encoder)}}var Em=new WeakMap;function cl(r){let e=Em.get(r);if(e==null){let t=new Map;return Em.set(r,t),t}return e}var Tr=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==rs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==PE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=Jr(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&xm(e.multihash,n.multihash)}toString(e){return vm(this,e)}toJSON(){return{"/":vm(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??Am(n,o,s.bytes))}else if(t[ME]===!0){let{version:n,multihash:o,code:s}=t,i=ra(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==rs)throw new Error(`Version 0 CID must use dag-pb (code: ${rs}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Am(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,rs,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=tr(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new Qn(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,p]=ts(e.subarray(t));return t+=p,l},o=n(),s=rs;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),f=t+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,t){let[n,o]=LE(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return cl(s).set(n,e),s}};function LE(r,e){switch(r[0]){case"Q":{let t=e??We;return[We.prefix,t.decode(`${We.prefix}${r}`)]}case We.prefix:{let t=e??We;return[We.prefix,t.decode(r)]}case rr.prefix:{let t=e??rr;return[rr.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function OE(r,e,t){let{prefix:n}=t;if(n!==We.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function VE(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var rs=112,PE=18;function Am(r,e,t){let n=Xn(r),o=n+Xn(e),s=new Uint8Array(o+t.byteLength);return Jn(r,s,0),Jn(e,s,n),s.set(t,o),s}var ME=Symbol.for("@ipld/js-cid/CID");function Bm(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var ul={};M(ul,{base10:()=>FE});var FE=Cr({prefix:"9",name:"base10",alphabet:"0123456789"});var ll={};M(ll,{base16:()=>$E,base16upper:()=>HE});var $E=ge({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),HE=ge({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var fl={};M(fl,{base2:()=>KE});var KE=ge({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hl={};M(hl,{base256emoji:()=>WE});var Sm=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}"),zE=Sm.reduce((r,e,t)=>(r[t]=e,r),[]),qE=Sm.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function GE(r){return r.reduce((e,t)=>(e+=zE[t],e),"")}function jE(r){let e=[];for(let t of r){let n=qE[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var WE=Zn({prefix:"\u{1F680}",name:"base256emoji",encode:GE,decode:jE});var dl={};M(dl,{base36:()=>YE,base36upper:()=>ZE});var YE=Cr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ZE=Cr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var pl={};M(pl,{base64:()=>JE,base64pad:()=>XE,base64url:()=>QE,base64urlpad:()=>e8});var JE=ge({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),XE=ge({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),QE=ge({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),e8=ge({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ml={};M(ml,{base8:()=>t8});var t8=ge({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var gl={};M(gl,{identity:()=>r8});var r8=Zn({prefix:"\0",name:"identity",encode:r=>dm(r),decode:r=>hm(r)});var PT=new TextEncoder,MT=new TextDecoder;var yl={};M(yl,{identity:()=>a8});var Im=0,s8="identity",Cm=tr;function i8(r){return Jr(Im,Cm(r))}var a8={code:Im,name:s8,encode:Cm,digest:i8};var xl={};M(xl,{sha256:()=>c8,sha512:()=>u8});function wl({name:r,code:e,encode:t}){return new bl(r,e,t)}var bl=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Jr(this.code,t):t.then(n=>Jr(this.code,n))}else throw Error("Unknown type, must be binary type")}};function km(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var c8=wl({name:"sha2-256",code:18,encode:km("SHA-256")}),u8=wl({name:"sha2-512",code:19,encode:km("SHA-512")});var ns={...gl,...fl,...ml,...ul,...ll,...il,...dl,...sl,...pl,...hl},XT={...xl,...yl};function Xr(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function na(r=0){return globalThis.Buffer?.allocUnsafe!=null?Xr(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Nm(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Rm=Nm("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),vl=Nm("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=na(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),l8={utf8:Rm,"utf-8":Rm,hex:ns.base16,latin1:vl,ascii:vl,binary:vl,...ns},oa=l8;function Ye(r,e="utf8"){let t=oa[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}var f8=Math.pow(2,7),h8=Math.pow(2,14),d8=Math.pow(2,21),El=Math.pow(2,28),Al=Math.pow(2,35),Bl=Math.pow(2,42),Sl=Math.pow(2,49),re=128,Oe=127;function Ut(r){if(r<f8)return 1;if(r<h8)return 2;if(r<d8)return 3;if(r<El)return 4;if(r<Al)return 5;if(r<Bl)return 6;if(r<Sl)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function p8(r,e,t=0){switch(Ut(r)){case 8:e[t++]=r&255|re,r/=128;case 7:e[t++]=r&255|re,r/=128;case 6:e[t++]=r&255|re,r/=128;case 5:e[t++]=r&255|re,r/=128;case 4:e[t++]=r&255|re,r>>>=7;case 3:e[t++]=r&255|re,r>>>=7;case 2:e[t++]=r&255|re,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function m8(r,e,t=0){switch(Ut(r)){case 8:e.set(t++,r&255|re),r/=128;case 7:e.set(t++,r&255|re),r/=128;case 6:e.set(t++,r&255|re),r/=128;case 5:e.set(t++,r&255|re),r/=128;case 4:e.set(t++,r&255|re),r>>>=7;case 3:e.set(t++,r&255|re),r>>>=7;case 2:e.set(t++,r&255|re),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function g8(r,e){let t=r[e],n=0;if(n+=t&Oe,t<re||(t=r[e+1],n+=(t&Oe)<<7,t<re)||(t=r[e+2],n+=(t&Oe)<<14,t<re)||(t=r[e+3],n+=(t&Oe)<<21,t<re)||(t=r[e+4],n+=(t&Oe)*El,t<re)||(t=r[e+5],n+=(t&Oe)*Al,t<re)||(t=r[e+6],n+=(t&Oe)*Bl,t<re)||(t=r[e+7],n+=(t&Oe)*Sl,t<re))return n;throw new RangeError("Could not decode varint")}function y8(r,e){let t=r.get(e),n=0;if(n+=t&Oe,t<re||(t=r.get(e+1),n+=(t&Oe)<<7,t<re)||(t=r.get(e+2),n+=(t&Oe)<<14,t<re)||(t=r.get(e+3),n+=(t&Oe)<<21,t<re)||(t=r.get(e+4),n+=(t&Oe)*El,t<re)||(t=r.get(e+5),n+=(t&Oe)*Al,t<re)||(t=r.get(e+6),n+=(t&Oe)*Bl,t<re)||(t=r.get(e+7),n+=(t&Oe)*Sl,t<re))return n;throw new RangeError("Could not decode varint")}function to(r,e,t=0){return e==null&&(e=lt(Ut(r))),e instanceof Uint8Array?p8(r,e,t):m8(r,e,t)}function Qr(r,e=0){return r instanceof Uint8Array?g8(r,e):y8(r,e)}function nr(r,e){if(globalThis.Buffer!=null)return Xr(globalThis.Buffer.concat(r,e));e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=na(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return Xr(t)}var b5=parseInt("0xFFFF",16),w5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Il(r,e="utf8"){let t=oa[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Xr(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}var Lm=qi,E8=Gi,Cl=function(r){let e=0;if(r=r.toString().trim(),Lm(r)){let t=new Uint8Array(e+4);return r.split(/\./g).forEach(n=>{t[e++]=parseInt(n,10)&255}),t}if(E8(r)){let t=r.split(":",8),n;for(n=0;n<t.length;n++){let s=Lm(t[n]),i;s&&(i=Cl(t[n]),t[n]=Ye(i.slice(0,2),"base16")),i!=null&&++n<8&&t.splice(n,0,Ye(i.slice(2,4),"base16"))}if(t[0]==="")for(;t.length<8;)t.unshift("0");else if(t[t.length-1]==="")for(;t.length<8;)t.push("0");else if(t.length<8){for(n=0;n<t.length&&t[n]!=="";n++);let s=[n,1];for(n=9-t.length;n>0;n--)s.push("0");t.splice.apply(t,s)}let o=new Uint8Array(e+16);for(n=0;n<t.length;n++){let s=parseInt(t[n],16);o[e++]=s>>8&255,o[e++]=s&255}return o}throw new Error("invalid ip address")},Om=function(r,e=0,t){e=~~e,t=t??r.length-e;let n=new DataView(r.buffer);if(t===4){let o=[];for(let s=0;s<t;s++)o.push(r[e+s]);return o.join(".")}if(t===16){let o=[];for(let s=0;s<t;s+=2)o.push(n.getUint16(e+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ro={},Tl={},B8=[[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"],[777,-1,"memory"]];B8.forEach(r=>{let e=S8(...r);Tl[e.code]=e,ro[e.name]=e});function S8(r,e,t,n,o){return{code:r,size:e,name:t,resolvable:!!n,path:!!o}}function se(r){if(typeof r=="number"){if(Tl[r]!=null)return Tl[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(ro[r]!=null)return ro[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var nk=se("ip4"),ok=se("ip6"),sk=se("ipcidr");function Rl(r,e){switch(se(r).code){case 4:case 41:return C8(e);case 42:return Mm(e);case 6:case 273:case 33:case 132:return $m(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Mm(e);case 421:return N8(e);case 444:return Fm(e);case 445:return Fm(e);case 466:return R8(e);default:return Ye(e,"base16")}}function Nl(r,e){switch(se(r).code){case 4:return Vm(e);case 41:return Vm(e);case 42:return Pm(e);case 6:case 273:case 33:case 132:return Ul(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Pm(e);case 421:return T8(e);case 444:return U8(e);case 445:return _8(e);case 466:return k8(e);default:return Il(e,"base16")}}var kl=Object.values(ns).map(r=>r.decoder),I8=function(){let r=kl[0].or(kl[1]);return kl.slice(2).forEach(e=>r=r.or(e)),r}();function Vm(r){if(!Sr(r))throw new Error("invalid ip address");return Cl(r)}function C8(r){let e=Om(r,0,r.length);if(e==null)throw new Error("ipBuff is required");if(!Sr(e))throw new Error("invalid ip address");return e}function Ul(r){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,r),new Uint8Array(e)}function $m(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Pm(r){let e=Il(r),t=Uint8Array.from(to(e.length));return nr([t,e],t.length+e.length)}function Mm(r){let e=Qr(r);if(r=r.slice(Ut(e)),r.length!==e)throw new Error("inconsistent lengths");return Ye(r)}function T8(r){let e;r[0]==="Q"||r[0]==="1"?e=ra(We.decode(`z${r}`)).bytes:e=Tr.parse(r).multihash.bytes;let t=Uint8Array.from(to(e.length));return nr([t,e],t.length+e.length)}function k8(r){let e=I8.decode(r),t=Uint8Array.from(to(e.length));return nr([t,e],t.length+e.length)}function R8(r){let e=Qr(r),t=r.slice(Ut(e));if(t.length!==e)throw new Error("inconsistent lengths");return"u"+Ye(t,"base64url")}function N8(r){let e=Qr(r),t=r.slice(Ut(e));if(t.length!==e)throw new Error("inconsistent lengths");return Ye(t,"base58btc")}function U8(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let t=rr.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ul(n);return nr([t,o],t.length+o.length)}function _8(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let t=rr.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ul(n);return nr([t,o],t.length+o.length)}function Fm(r){let e=r.slice(0,r.length-2),t=r.slice(r.length-2),n=Ye(e,"base32"),o=$m(t);return`${n}:${o}`}function Hm(r){r=_l(r);let e=[],t=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],a=se(i);if(a.size===0){e.push([a.code]),t.push([a.code]);continue}if(s++,s>=o.length)throw zm("invalid address: "+r);if(a.path===!0){n=_l(o.slice(s).join("/")),e.push([a.code,Nl(a.code,n)]),t.push([a.code,n]);break}let c=Nl(a.code,o[s]);e.push([a.code,c]),t.push([a.code,Rl(a.code,c)])}return{string:Km(t),bytes:Ll(e),tuples:e,stringTuples:t,path:n}}function Dl(r){let e=[],t=[],n=null,o=0;for(;o<r.length;){let s=Qr(r,o),i=Ut(s),a=se(s),c=D8(a,r.slice(o+i));if(c===0){e.push([s]),t.push([s]),o+=i;continue}let f=r.slice(o+i,o+i+c);if(o+=c+i,o>r.length)throw zm("Invalid address Uint8Array: "+Ye(r,"base16"));e.push([s,f]);let u=Rl(s,f);if(t.push([s,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(r),string:Km(t),tuples:e,stringTuples:t,path:n}}function Km(r){let e=[];return r.map(t=>{let n=se(t[0]);return e.push(n.name),t.length>1&&t[1]!=null&&e.push(t[1]),null}),_l(e.join("/"))}function Ll(r){return nr(r.map(e=>{let t=se(e[0]),n=Uint8Array.from(to(t.code));return e.length>1&&e[1]!=null&&(n=nr([n,e[1]])),n}))}function D8(r,e){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let t=Qr(e instanceof Uint8Array?e:Uint8Array.from(e));return t+Ut(t)}}function _l(r){return"/"+r.trim().split("/").filter(e=>e).join("/")}function zm(r){return new Error("Error parsing address: "+r)}var L8=Symbol.for("nodejs.util.inspect.custom"),Ol=Symbol.for("@multiformats/js-multiaddr/multiaddr"),O8=[se("dns").code,se("dns4").code,se("dns6").code,se("dnsaddr").code],sa=class r{bytes;#e;#t;#s;#a;[Ol]=!0;constructor(e){e==null&&(e="");let t;if(e instanceof Uint8Array)t=Dl(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);t=Hm(e)}else if(Gm(e))t=Dl(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=t.bytes,this.#e=t.string,this.#t=t.tuples,this.#s=t.stringTuples,this.#a=t.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,t,n,o,s="",i=se("tcp"),a=se("udp"),c=se("ip4"),f=se("ip6"),u=se("dns6"),l=se("ip6zone");for(let[x,d]of this.stringTuples())x===l.code&&(s=`%${d??""}`),O8.includes(x)&&(t=i.name,o=443,n=`${d??""}${s}`,e=x===u.code?6:4),(x===i.code||x===a.code)&&(t=se(x).name,o=parseInt(d??"")),(x===c.code||x===f.code)&&(t=se(x).name,n=`${d??""}${s}`,e=x===f.code?6:4);if(e==null||t==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:e,host:n,transport:t,port:o}}protos(){return this.#t.map(([e])=>Object.assign({},se(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>se(e).name)}tuples(){return this.#t}stringTuples(){return this.#s}encapsulate(e){return e=new r(e),new r(this.toString()+e.toString())}decapsulate(e){let t=e.toString(),n=this.toString(),o=n.lastIndexOf(t);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new r(n.slice(0,o))}decapsulateCode(e){let t=this.tuples();for(let n=t.length-1;n>=0;n--)if(t[n][0]===e)return new r(Ll(t.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,o])=>{n===ro.p2p.code&&e.push([n,o]),n===ro["p2p-circuit"].code&&(e=[])});let t=e.pop();if(t?.[1]!=null){let n=t[1];return n[0]==="Q"||n[0]==="1"?Ye(We.decode(`z${n}`),"base58btc"):Ye(Tr.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(e){return Bm(this.bytes,e.bytes)}async resolve(e){let t=this.protos().find(s=>s.resolvable);if(t==null)return[this];let n=qm.get(t.name);if(n==null)throw new q(`no available resolver for ${t.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new r(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let t=(e??this).protos();return!(t.length!==2||t[0].code!==4&&t[0].code!==41||t[1].code!==6&&t[1].code!==273)}[L8](){return`Multiaddr(${this.#e})`}};var qm=new Map;function Gm(r){return!!r?.[Ol]}function ia(r){return new sa(r)}var V8=P("dns4"),P8=P("dns6"),M8=P("dnsaddr"),en=Re(P("dns"),M8,V8,P8),aa=Re(P("ip4"),P("ip6")),no=Re(G(aa,P("tcp")),G(en,P("tcp"))),Ml=G(aa,P("udp")),F8=G(Ml,P("utp")),$8=G(Ml,P("quic")),ss=Re(G(no,P("ws")),G(en,P("ws"))),is=Re(G(no,P("wss")),G(en,P("wss")),G(no,P("tls"),P("ws")),G(en,P("tls"),P("ws"))),Vl=Re(G(no,P("http")),G(aa,P("http")),G(en,P("http"))),Pl=Re(G(no,P("https")),G(aa,P("https")),G(en,P("https"))),jm=G(Ml,P("webrtc"),P("certhash")),Ym=Re(G(jm,P("p2p")),jm),Zm=Re(G(ss,P("p2p-webrtc-star"),P("p2p")),G(is,P("p2p-webrtc-star"),P("p2p")),G(ss,P("p2p-webrtc-star")),G(is,P("p2p-webrtc-star"))),Nk=Re(G(ss,P("p2p-websocket-star"),P("p2p")),G(is,P("p2p-websocket-star"),P("p2p")),G(ss,P("p2p-websocket-star")),G(is,P("p2p-websocket-star"))),Jm=Re(G(Vl,P("p2p-webrtc-direct"),P("p2p")),G(Pl,P("p2p-webrtc-direct"),P("p2p")),G(Vl,P("p2p-webrtc-direct")),G(Pl,P("p2p-webrtc-direct"))),as=Re(ss,is,Vl,Pl,Zm,Jm,no,F8,$8,en,Ym),Uk=Re(G(as,P("p2p-stardust"),P("p2p")),G(as,P("p2p-stardust"))),kr=Re(G(as,P("p2p")),Zm,Jm,Ym,P("p2p")),Wm=Re(G(kr,P("p2p-circuit"),kr),G(kr,P("p2p-circuit")),G(P("p2p-circuit"),kr),G(as,P("p2p-circuit")),G(P("p2p-circuit"),as),P("p2p-circuit")),Xm=()=>Re(G(Wm,Xm),Wm),os=Xm(),H8=Re(G(os,kr,os),G(kr,os),G(os,kr),os,kr);function Qm(r){function e(t){let n;try{n=ia(t)}catch{return!1}let o=r(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return e}function G(...r){function e(t){if(t.length<r.length)return null;let n=t;return r.some(o=>(n=typeof o=="function"?o().partialMatch(t):o.partialMatch(t),Array.isArray(n)&&(t=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Qm(e),partialMatch:e}}function Re(...r){function e(n){let o=null;return r.some(s=>{let i=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return i!=null?(o=i,!0):!1}),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Qm(e),partialMatch:e}}function P(r){let e=r;function t(o){let s;try{s=ia(o)}catch{return!1}let i=s.protoNames();return i.length===1&&i[0]===e}function n(o){return o.length===0?null:o[0]===e?o.slice(1):null}return{toString:function(){return e},matches:t,partialMatch:n}}var Q8=_e(ig(),1);function ag(r){try{return eA(r)?!!ut.parse(r):r instanceof Uint8Array?!!ut.decode(r):!!ut.asCID(r)}catch{return!1}}function eA(r){return typeof r=="string"}var cg=32,Hl=async(r,e,t,n={})=>{if(e===0)throw new Error("recursion limit exceeded");let o;try{o=await t(r,n)}catch(c){if(c.code!=="ENOTFOUND"&&c.code!=="ERR_DNSLINK_NOT_FOUND"&&c.code!=="ENODATA")throw c;r.startsWith("_dnslink.")?r=r.replace("_dnslink.",""):r=`_dnslink.${r}`,o=await t(r,n)}let s=o.replace("dnslink=",""),i=s.split("/")[2];return ag(i)?s:Hl(i,e-1,t,n)},rA=/^dnslink=.+$/,ug=async(r,e)=>{let o=(await r.resolveTxt(e)).flat().filter(s=>rA.test(s))[0];if(o==null)throw new q(`No dnslink records found for domain: ${e}`,"ERR_DNSLINK_NOT_FOUND");return o};var zl=_e(ma(),1),ql=_e(hg(),1);function ca(r,e,t){return`${r}?name=${e}&type=${t}`}async function dg(r,e){return await(await fetch(r,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function tn(r,e){return`${e}_${r}`}var Kl=Object.assign((0,zl.default)("dns-over-http-resolver"),{error:(0,zl.default)("dns-over-http-resolver:error")}),Gl=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new ql.default({max:e?.maxCache??100}),this._TXTcache=new ql.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??dg,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>{e.abort()})}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let t=e.length-1;t>0;t--){let n=Math.floor(Math.random()*t),o=e[t];e[t]=e[n],e[n]=o}return e}setServers(e){this._servers=e}async resolve(e,t="A"){switch(t){case"A":return this.resolve4(e);case"AAAA":return this.resolve6(e);case"TXT":return this.resolveTxt(e);default:throw new Error(`${t} is not supported`)}}async resolve4(e){let t="A",n=this._cache.get(tn(e,t));if(n!=null)return n;let o=!1;for(let s of this._getShuffledServers()){let i=new AbortController;this._abortControllers.push(i);try{let a=await this._request(ca(s,e,t),i.signal),c=a.Answer.map(u=>u.data),f=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(tn(e,t),c,{ttl:f}),c}catch{i.signal.aborted&&(o=!0),Kl.error(`${s} could not resolve ${e} record ${t}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==i)}}throw o?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${t}`)}async resolve6(e){let t="AAAA",n=this._cache.get(tn(e,t));if(n!=null)return n;let o=!1;for(let s of this._getShuffledServers()){let i=new AbortController;this._abortControllers.push(i);try{let a=await this._request(ca(s,e,t),i.signal),c=a.Answer.map(u=>u.data),f=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(tn(e,t),c,{ttl:f}),c}catch{i.signal.aborted&&(o=!0),Kl.error(`${s} could not resolve ${e} record ${t}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==i)}}throw o?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${t}`)}async resolveTxt(e){let t="TXT",n=this._TXTcache.get(tn(e,t));if(n!=null)return n;let o=!1;for(let s of this._getShuffledServers()){let i=new AbortController;this._abortControllers.push(i);try{let a=await this._request(ca(s,e,t),i.signal),c=a.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),f=Math.min(...a.Answer.map(u=>u.TTL));return this._TXTcache.set(tn(e,t),c,{ttl:f}),c}catch{i.signal.aborted&&(o=!0),Kl.error(`${s} could not resolve ${e} record ${t}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==i)}}throw o?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${t}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},pg=Gl;var Wl=_e(gg(),1);var ls=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Yl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},yg=r=>globalThis.DOMException===void 0?new Yl(r):new DOMException(r),bg=r=>{let e=r.reason===void 0?yg("This operation was aborted."):r.reason;return e instanceof Error?e:yg(e)};function Zl(r,e){let{milliseconds:t,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout}}=e,i,c=new Promise((f,u)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(e.signal){let{signal:p}=e;p.aborted&&u(bg(p)),p.addEventListener("abort",()=>{u(bg(p))})}if(t===Number.POSITIVE_INFINITY){r.then(f,u);return}let l=new ls;i=s.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(p){u(p)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?f():o instanceof Error?u(o):(l.message=o??`Promise timed out after ${t} milliseconds`,u(l))},t),(async()=>{try{f(await r)}catch(p){u(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,i),i=void 0},c}function Jl(r,e,t){let n=0,o=r.length;for(;o>0;){let s=Math.trunc(o/2),i=n+s;t(r[i],e)<=0?(n=++i,o-=s+1):o=s}return n}var fs=class{#e=[];enqueue(e,t){t={priority:0,...t};let n={priority:t.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=t.priority){this.#e.push(n);return}let o=Jl(this.#e,n,(s,i)=>i.priority-s.priority);this.#e.splice(o,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return this.#e.length}};var hs=class extends Wl.default{#e;#t;#s=0;#a;#c;#p=0;#n;#u;#r;#m;#o=0;#l;#i;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:fs,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#t=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#r=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#i=e.autoStart===!1}get#w(){return this.#t||this.#s<this.#a}get#x(){return this.#o<this.#l}#v(){this.#o--,this.#f(),this.emit("next")}#E(){this.#b(),this.#y(),this.#u=void 0}get#A(){let e=Date.now();if(this.#n===void 0){let t=this.#p-e;if(t<0)this.#s=this.#e?this.#o:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},t)),!0}return!1}#f(){if(this.#r.size===0)return this.#n&&clearInterval(this.#n),this.#n=void 0,this.emit("empty"),this.#o===0&&this.emit("idle"),!1;if(!this.#i){let e=!this.#A;if(this.#w&&this.#x){let t=this.#r.dequeue();return t?(this.emit("active"),t(),e&&this.#y(),!0):!1}}return!1}#y(){this.#t||this.#n!==void 0||(this.#n=setInterval(()=>{this.#b()},this.#c),this.#p=Date.now()+this.#c)}#b(){this.#s===0&&this.#o===0&&this.#n&&(clearInterval(this.#n),this.#n=void 0),this.#s=this.#e?this.#o:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#l=e,this.#h()}async#B(e){return new Promise((t,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:this.#g,...t},new Promise((n,o)=>{this.#r.enqueue(async()=>{this.#o++,this.#s++;try{t.signal?.throwIfAborted();let s=e({signal:t.signal});t.timeout&&(s=Zl(Promise.resolve(s),{milliseconds:t.timeout})),t.signal&&(s=Promise.race([s,this.#B(t.signal)]));let i=await s;n(i),this.emit("completed",i)}catch(s){if(s instanceof ls&&!t.throwOnTimeout){n();return}o(s),this.emit("error",s)}finally{this.#v()}},t),this.emit("add"),this.#f()})}async addAll(e,t){return Promise.all(e.map(async n=>this.add(n,t)))}start(){return this.#i?(this.#i=!1,this.#h(),this):this}pause(){this.#i=!0}clear(){this.#r=new this.#m}async onEmpty(){this.#r.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#r.size<e||await this.#d("next",()=>this.#r.size<e)}async onIdle(){this.#o===0&&this.#r.size===0||await this.#d("idle")}async#d(e,t){return new Promise(n=>{let o=()=>{t&&!t()||(this.off(e,o),n())};this.on(e,o)})}get size(){return this.#r.size}sizeBy(e){return this.#r.filter(e).length}get pending(){return this.#o}get isPaused(){return this.#i}};var vg=_e(xg(),1),la=class{lru;constructor(e){this.lru=(0,vg.default)(e)}get(e){let t=this.lru.get(e);if(t!=null){if(t.expire!=null&&t.expire<Date.now()){this.lru.remove(e);return}return t.value}}set(e,t,n){this.lru.set(e,{value:t,expire:Date.now()+n})}has(e){return this.get(e)!=null}remove(e){this.lru.remove(e)}clear(){this.lru.clear()}};var Xl=new la(1e3),uA=60*1e3,lA=new hs({concurrency:4}),fA=async function(e,t={}){let n=new pg({maxCache:0});if(t.nocache!==!0&&Xl.has(e)){let s=Xl.get(e);if(s!=null)return t?.onProgress?.(new je("dnslink:cache",{detail:s})),s}t.onProgress?.(new je("dnslink:query",{detail:e}));let o=await lA.add(async()=>{let s=await ug(n,e);return t.onProgress?.(new je("dnslink:answer",{detail:s})),Xl.set(e,s,uA),s},{signal:t?.signal});if(o==null)throw new Error("No DNS response received");return o},Eg=fA;function Ag(){return async(r,e={})=>Hl(r,cg,Eg,e)}var ds;(function(r){let e;r.codec=()=>(e==null&&(e=mr((t,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),t.key!=null&&t.key.byteLength>0&&(n.uint32(10),n.bytes(t.key)),t.value!=null&&t.value.byteLength>0&&(n.uint32(18),n.bytes(t.value)),t.timeReceived!=null&&t.timeReceived!==""&&(n.uint32(42),n.string(t.timeReceived)),o.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let o={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},s=n==null?t.len:t.pos+n;for(;t.pos<s;){let i=t.uint32();switch(i>>>3){case 1:o.key=t.bytes();break;case 2:o.value=t.bytes();break;case 5:o.timeReceived=t.string();break;default:t.skipType(i&7);break}}return o})),e),r.encode=t=>pr(t,r.codec()),r.decode=t=>dr(t,r.codec())})(ds||(ds={}));function Bg(r){let e=r.getUTCFullYear(),t=String(r.getUTCMonth()+1).padStart(2,"0"),n=String(r.getUTCDate()).padStart(2,"0"),o=String(r.getUTCHours()).padStart(2,"0"),s=String(r.getUTCMinutes()).padStart(2,"0"),i=String(r.getUTCSeconds()).padStart(2,"0"),a=r.getUTCMilliseconds(),c=String(a*1e3*1e3).padStart(9,"0");return`${e}-${t}-${n}T${o}:${s}:${i}.${c}Z`}function Sg(r){let e=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),t=String(r).trim().match(e);if(t==null)throw new Error("Invalid format");let n=parseInt(t[1],10),o=parseInt(t[2],10)-1,s=parseInt(t[3],10),i=parseInt(t[4],10),a=parseInt(t[5],10),c=parseInt(t[6],10),f=parseInt(t[7].slice(0,-6),10);return new Date(Date.UTC(n,o,s,i,a,c,f))}var oo=class r{key;value;timeReceived;constructor(e,t,n){if(!(e instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(t instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=e,this.value=t,this.timeReceived=n}serialize(){return ds.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:Bg(this.timeReceived)}}static deserialize(e){let t=ds.decode(e);return new r(t.key,t.value,new Date(t.timeReceived))}static fromDeserialized(e){let t=Sg(e.timeReceived);if(e.key==null)throw new Error("key missing from deserialized object");if(e.value==null)throw new Error("value missing from deserialized object");return new r(e.key,e.value,t)}};var Ig;(function(r){r[r.SEND_QUERY=0]="SEND_QUERY",r[r.PEER_RESPONSE=1]="PEER_RESPONSE",r[r.FINAL_PEER=2]="FINAL_PEER",r[r.QUERY_ERROR=3]="QUERY_ERROR",r[r.PROVIDER=4]="PROVIDER",r[r.VALUE=5]="VALUE",r[r.ADD_PEER=6]="ADD_PEER",r[r.DIAL_PEER=7]="DIAL_PEER"})(Ig||(Ig={}));var Cg;(function(r){r[r.PUT_VALUE=0]="PUT_VALUE",r[r.GET_VALUE=1]="GET_VALUE",r[r.ADD_PROVIDER=2]="ADD_PROVIDER",r[r.GET_PROVIDERS=3]="GET_PROVIDERS",r[r.FIND_NODE=4]="FIND_NODE",r[r.PING=5]="PING"})(Cg||(Cg={}));function Ql(r){return new Nn("/dht/record/"+ue(r,"base32"),!1)}function Tg(r){return{async put(e,t,n={}){try{let o=Ql(e),s=new oo(e,t,new Date);n.onProgress?.(new je("ipns:routing:datastore:put")),await r.put(o,s.serialize(),n)}catch(o){throw n.onProgress?.(new je("ipns:routing:datastore:error",o)),o}},async get(e,t={}){try{let n=Ql(e);t.onProgress?.(new je("ipns:routing:datastore:get"));let o=await r.get(n,t);return oo.deserialize(o).value}catch(n){throw t.onProgress?.(new je("ipns:routing:datastore:error",n)),n}},async has(e,t={}){let n=Ql(e);return r.has(n,t)}}}var fa=ir("helia:ipns"),dA=60*1e3,kg=60*dA,pA=24*kg,ef=23*kg,tf=class{routers;localStore;timeout;defaultResolvers;constructor(e,t=[],n=[]){this.routers=t,this.localStore=Tg(e.datastore),this.defaultResolvers=n.length>0?n:[Ag()]}async publish(e,t,n={}){try{let o=1n,s=Mi(e);if(await this.localStore.has(s,n)){let c=await this.localStore.get(s,n);o=Jt(c).sequence+1n}let i=await Xp(e,t,o,n.lifetime??pA,n),a=jc(i);return await this.localStore.put(s,a,n),n.offline!==!0&&await Promise.all(this.routers.map(async c=>{await c.put(s,a,n)})),i}catch(o){throw n.onProgress?.(new je("ipns:publish:error",o)),o}}async resolve(e,t={}){let n=Mi(e),o=await this.#t(n,t);return this.#e(o.value,t)}async resolveDns(e,t={}){let n=t.resolvers??this.defaultResolvers,o=await Promise.any(n.map(async s=>s(e,t)));return this.#e(o,t)}republish(e={}){if(this.timeout!=null)throw new Error("Republish is already running");e.signal?.addEventListener("abort",()=>{clearTimeout(this.timeout)});async function t(){let n=Date.now();e.onProgress?.(new je("ipns:republish:start"));let s=Date.now()-n,i=ef-s;i<0&&(i=e.interval??ef),setTimeout(()=>{t().catch(a=>{fa.error("error republishing",a)})},i)}this.timeout=setTimeout(()=>{t().catch(n=>{fa.error("error republishing",n)})},e.interval??ef)}async#e(e,t={}){let n=e.split("/");if(n.length===3){let o=n[1];if(o==="ipns")return this.resolve(Pa(n[2]),t);if(o==="ipfs")return Xe.parse(n[2])}throw fa.error("invalid ipfs path %s",e),new Error("Invalid value")}async#t(e,t={}){let n=[this.localStore,...this.routers];t.offline===!0&&(n=[this.localStore]);let o=[];if(await Promise.all(n.map(async i=>{try{let a=await i.get(e,t);await Zc(e,a),o.push(a)}catch(a){fa.error("error finding IPNS record",a)}})),o.length===0)throw new q("Could not find record for routing key","ERR_NOT_FOUND");let s=o[Fi(e,o)];return await this.localStore.put(e,s,t),Jt(s)}};function mA(r,{routers:e=[],resolvers:t=[]}){return new tf(r,e,t)}return Kg(gA);})();
|
|
28
9
|
/*! Bundled license information:
|
|
29
10
|
|
|
11
|
+
pvtsutils/build/index.js:
|
|
12
|
+
(*!
|
|
13
|
+
* MIT License
|
|
14
|
+
*
|
|
15
|
+
* Copyright (c) 2017-2022 Peculiar Ventures, LLC
|
|
16
|
+
*
|
|
17
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
18
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
19
|
+
* in the Software without restriction, including without limitation the rights
|
|
20
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
21
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
22
|
+
* furnished to do so, subject to the following conditions:
|
|
23
|
+
*
|
|
24
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
25
|
+
* copies or substantial portions of the Software.
|
|
26
|
+
*
|
|
27
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
28
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
29
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
30
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
31
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
32
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
33
|
+
* SOFTWARE.
|
|
34
|
+
*
|
|
35
|
+
*)
|
|
36
|
+
|
|
30
37
|
@noble/hashes/esm/utils.js:
|
|
31
38
|
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
32
39
|
|
|
@@ -45,6 +52,46 @@
|
|
|
45
52
|
@noble/curves/esm/ed25519.js:
|
|
46
53
|
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
47
54
|
|
|
55
|
+
pvutils/build/utils.es.js:
|
|
56
|
+
(*!
|
|
57
|
+
Copyright (c) Peculiar Ventures, LLC
|
|
58
|
+
*)
|
|
59
|
+
|
|
60
|
+
asn1js/build/index.es.js:
|
|
61
|
+
(*!
|
|
62
|
+
* Copyright (c) 2014, GMO GlobalSign
|
|
63
|
+
* Copyright (c) 2015-2022, Peculiar Ventures
|
|
64
|
+
* All rights reserved.
|
|
65
|
+
*
|
|
66
|
+
* Author 2014-2019, Yury Strozhevsky
|
|
67
|
+
*
|
|
68
|
+
* Redistribution and use in source and binary forms, with or without modification,
|
|
69
|
+
* are permitted provided that the following conditions are met:
|
|
70
|
+
*
|
|
71
|
+
* * Redistributions of source code must retain the above copyright notice, this
|
|
72
|
+
* list of conditions and the following disclaimer.
|
|
73
|
+
*
|
|
74
|
+
* * Redistributions in binary form must reproduce the above copyright notice, this
|
|
75
|
+
* list of conditions and the following disclaimer in the documentation and/or
|
|
76
|
+
* other materials provided with the distribution.
|
|
77
|
+
*
|
|
78
|
+
* * Neither the name of the copyright holder nor the names of its
|
|
79
|
+
* contributors may be used to endorse or promote products derived from
|
|
80
|
+
* this software without specific prior written permission.
|
|
81
|
+
*
|
|
82
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
83
|
+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
84
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
85
|
+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
86
|
+
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
87
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
88
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
89
|
+
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
90
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
91
|
+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
92
|
+
*
|
|
93
|
+
*)
|
|
94
|
+
|
|
48
95
|
@noble/curves/esm/abstract/weierstrass.js:
|
|
49
96
|
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
50
97
|
|