libp2p 1.0.11 → 1.0.12-4e0135c7d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,28 +1,28 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2P=(()=>{var Um=Object.create;var ji=Object.defineProperty;var Fm=Object.getOwnPropertyDescriptor;var Km=Object.getOwnPropertyNames;var qm=Object.getPrototypeOf,Vm=Object.prototype.hasOwnProperty;var q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Me=(t,e)=>{for(var r in e)ji(t,r,{get:e[r],enumerable:!0})},Pl=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Km(e))!Vm.call(t,i)&&i!==r&&ji(t,i,{get:()=>e[i],enumerable:!(n=Fm(e,i))||n.enumerable});return t};var we=(t,e,r)=>(r=t!=null?Um(qm(t)):{},Pl(e||!t||!t.__esModule?ji(r,"default",{value:t,enumerable:!0}):r,t)),$m=t=>Pl(ji({},"__esModule",{value:!0}),t);var fe=q((cv,Nl)=>{Nl.exports={options:{usePureJavaScript:!1}}});var Ml=q((uv,Ol)=>{var ea={};Ol.exports=ea;var kl={};ea.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=zm(t,e);else{var i=0,s=e.length,o=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%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
3
- `)}return n};ea.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=kl[e];if(!r){r=kl[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[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<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function zm(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.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=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var Te=q((lv,ql)=>{var Ul=fe(),Fl=Ml(),w=ql.exports=Ul.util=Ul.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(l){l()})}};var o=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 s=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(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 ai(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=ta;function ta(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 ta||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=ta;var Hm=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Hm&&(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){ai(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){ai(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 Gm(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=Gm;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 s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(s),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){ai(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 ai(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){ai(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="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,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 mr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",gr=[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],Kl="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=mr.charAt(i>>2),r+=mr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=mr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":mr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
- `,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=gr[t.charCodeAt(o++)-43],n=gr[t.charCodeAt(o++)-43],i=gr[t.charCodeAt(o++)-43],s=gr[t.charCodeAt(o++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(e+=String.fromCharCode((i&3)<<6|s)));return e};w.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};w.decodeUtf8=function(t){return decodeURIComponent(escape(t))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Fl.encode,decode:Fl.decode}};w.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};w.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,s=r;for(t.length&1&&(i=1,n[s++]=parseInt(t[0],16));i<t.length;i+=2)n[s++]=parseInt(t.substr(i,2),16);return e?s-r:n};w.binary.base64.encode=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.byteLength;)i=t[a++],s=t[a++],o=t[a++],r+=mr.charAt(i>>2),r+=mr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=mr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":mr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
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,s,o,a,c=0,u=r;c<t.length;)i=gr[t.charCodeAt(c++)-43],s=gr[t.charCodeAt(c++)-43],o=gr[t.charCodeAt(c++)-43],a=gr[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,Kl,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,Kl,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,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);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 s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-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 ra=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}},na=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},Wm=function(t,e,r,n){var i=na(t,e);i===null&&(i={}),i[r]=n,ra(t,e,i)},Ym=function(t,e,r){var n=na(t,e);return n!==null&&(n=r in n?n[r]:null),n},Qm=function(t,e,r){var n=na(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),ra(t,e,n)}},Xm=function(t,e){ra(t,e,null)},Ji=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,s=!1,o=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),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};w.setItem=function(t,e,r,n,i){Ji(Wm,arguments,i)};w.getItem=function(t,e,r,n){return Ji(Ym,arguments,n)};w.removeItem=function(t,e,r,n){Ji(Qm,arguments,n)};w.clearItems=function(t,e,r){Ji(Xm,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,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};w.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).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(o){return o.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 s=w.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}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 s=w.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}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(o){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(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(d){if(u.push(d.data),u.length===o){for(var p=0;p<o;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],d=0;d<o;++d)if(u!==d){var p=a[d];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(d)}return c.reduce(function(h,m){return Math.max(h,m.length)},0)}}});var es=q((fv,Vl)=>{var ci=fe();ci.pki=ci.pki||{};var ia=Vl.exports=ci.pki.oids=ci.oids=ci.oids||{};function B(t,e){ia[t]=e,ia[e]=t}function se(t,e){ia[t]=e}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");se("2.5.29.1","authorityKeyIdentifier");se("2.5.29.2","keyAttributes");se("2.5.29.3","certificatePolicies");se("2.5.29.4","keyUsageRestriction");se("2.5.29.5","policyMapping");se("2.5.29.6","subtreesConstraint");se("2.5.29.7","subjectAltName");se("2.5.29.8","issuerAltName");se("2.5.29.9","subjectDirectoryAttributes");se("2.5.29.10","basicConstraints");se("2.5.29.11","nameConstraints");se("2.5.29.12","policyConstraints");se("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");se("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");se("2.5.29.20","cRLNumber");se("2.5.29.21","cRLReason");se("2.5.29.22","expirationDate");se("2.5.29.23","instructionCode");se("2.5.29.24","invalidityDate");se("2.5.29.25","cRLDistributionPoints");se("2.5.29.26","issuingDistributionPoint");se("2.5.29.27","deltaCRLIndicator");se("2.5.29.28","issuingDistributionPoint");se("2.5.29.29","certificateIssuer");se("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");se("2.5.29.33","policyMappings");se("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");se("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");se("2.5.29.46","freshestCRL");se("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var li=q((hv,zl)=>{var pe=fe();Te();es();var O=zl.exports=pe.asn1=pe.asn1||{};O.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};O.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};O.create=function(t,e,r,n,i){if(pe.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:t,type:e,constructed:r,composed:r||pe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=O.copy(a)),a};O.copy=function(t,e){var r;if(pe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(O.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:O.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};O.equals=function(t,e,r){if(pe.util.isArray(t)){if(!pe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!O.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&&O.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};O.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 ui(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 Zm=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;ui(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};O.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=pe.util.createBuffer(t));var r=t.length(),n=ts(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 ts(t,e,r,n){var i;ui(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=Zm(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 l,f,d=(s&32)===32;if(d)if(l=[],c===void 0)for(;;){if(ui(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),l.push(ts(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(ts(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&c>1){var p=t.read,h=e,m=0;if(a===O.Type.BITSTRING&&(ui(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var g={strict:!0,decodeBitStrings:!0},y=ts(t,e,r+1,g),x=i-t.length();e-=x,a==O.Type.BITSTRING&&x++;var b=y.tagClass;x===c&&(b===O.Class.UNIVERSAL||b===O.Class.CONTEXT_SPECIFIC)&&(l=[y])}catch{}l===void 0&&(t.read=p,e=h)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===O.Type.BMPSTRING)for(l="";c>0;c-=2)ui(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var I=f===void 0?null:{bitStringContents:f};return O.create(o,a,d,l,I)}O.toDer=function(t){var e=pe.util.createBuffer(),r=t.tagClass|t.type,n=pe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=O.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(O.toDer(t.value[s]))}else if(t.type===O.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===O.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 o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};O.oidToDer=function(t){var e=t.split("."),r=pe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};O.derToOid=function(t){var e;typeof t=="string"&&(t=pe.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};O.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),s=parseInt(t.substr(6,2),10),o=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(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),d=l*60+f;d*=6e4,c==="+"?e.setTime(+e-d):e.setTime(+e+d)}return e};O.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),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,d=t.charAt(f);if(d==="+"||d==="-"){var p=parseInt(t.substr(f+1,2),10),h=parseInt(t.substr(f+4,2),10);u=p*60+h,u*=6e4,d==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};O.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};O.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};O.integerToDer=function(t){var e=pe.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};O.derToInteger=function(t){typeof t=="string"&&(t=pe.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)};O.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&&pe.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=O.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].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 $l=/[^\\u0000-\\u00ff]/;O.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
- `);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case O.Class.UNIVERSAL:n+="Universal:";break;case O.Class.APPLICATION:n+="Application:";break;case O.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case O.Class.PRIVATE:n+="Private:";break}if(t.tagClass===O.Class.UNIVERSAL)switch(n+=t.type,t.type){case O.Type.NONE:n+=" (None)";break;case O.Type.BOOLEAN:n+=" (Boolean)";break;case O.Type.INTEGER:n+=" (Integer)";break;case O.Type.BITSTRING:n+=" (Bit string)";break;case O.Type.OCTETSTRING:n+=" (Octet string)";break;case O.Type.NULL:n+=" (Null)";break;case O.Type.OID:n+=" (Object Identifier)";break;case O.Type.ODESC:n+=" (Object Descriptor)";break;case O.Type.EXTERNAL:n+=" (External or Instance of)";break;case O.Type.REAL:n+=" (Real)";break;case O.Type.ENUMERATED:n+=" (Enumerated)";break;case O.Type.EMBEDDED:n+=" (Embedded PDV)";break;case O.Type.UTF8:n+=" (UTF8)";break;case O.Type.ROID:n+=" (Relative Object Identifier)";break;case O.Type.SEQUENCE:n+=" (Sequence)";break;case O.Type.SET:n+=" (Set)";break;case O.Type.PRINTABLESTRING:n+=" (Printable String)";break;case O.Type.IA5String:n+=" (IA5String (ASCII))";break;case O.Type.UTCTIME:n+=" (UTC time)";break;case O.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case O.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
2
+ "use strict";var Libp2P=(()=>{var GE=Object.create;var fa=Object.defineProperty;var WE=Object.getOwnPropertyDescriptor;var YE=Object.getOwnPropertyNames;var QE=Object.getPrototypeOf,XE=Object.prototype.hasOwnProperty;var z=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),R=(t,e)=>{for(var r in e)fa(t,r,{get:e[r],enumerable:!0})},Lm=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of YE(e))!XE.call(t,i)&&i!==r&&fa(t,i,{get:()=>e[i],enumerable:!(n=WE(e,i))||n.enumerable});return t};var we=(t,e,r)=>(r=t!=null?GE(QE(t)):{},Lm(e||!t||!t.__esModule?fa(r,"default",{value:t,enumerable:!0}):r,t)),jE=t=>Lm(fa({},"__esModule",{value:!0}),t);var le=z((LO,Nm)=>{Nm.exports={options:{usePureJavaScript:!1}}});var km=z((NO,Om)=>{var ku={};Om.exports=ku;var Pm={};ku.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=JE(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};ku.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=Pm[e];if(!r){r=Pm[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 JE(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 ke=z((PO,Km)=>{var Um=le(),Mm=km(),S=Km.exports=Um.util=Um.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){S.nextTick=process.nextTick,typeof setImmediate=="function"?S.setImmediate=setImmediate:S.setImmediate=S.nextTick;return}if(typeof setImmediate=="function"){S.setImmediate=function(){return setImmediate.apply(void 0,arguments)},S.nextTick=function(a){return setImmediate(a)};return}if(S.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=[];S.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=S.setImmediate;S.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}S.nextTick=S.setImmediate})();S.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;S.globalScope=function(){return S.isNodejs?globalThis:typeof self>"u"?window:self}();S.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};S.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};S.isArrayBufferView=function(t){return t&&S.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ko(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}S.ByteBuffer=Uu;function Uu(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(S.isArrayBuffer(t)||S.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 Uu||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}S.ByteStringBuffer=Uu;var ZE=4096;S.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>ZE&&(this.data.substr(0,1),this._constructedStringLength=0)};S.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};S.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};S.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};S.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};S.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};S.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(S.encodeUtf8(t))};S.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};S.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};S.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))};S.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};S.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};S.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))};S.ByteStringBuffer.prototype.putInt=function(t,e){Ko(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};S.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};S.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};S.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};S.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};S.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};S.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};S.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};S.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};S.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};S.ByteStringBuffer.prototype.getInt=function(t){Ko(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};S.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};S.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};S.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};S.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};S.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};S.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};S.ByteStringBuffer.prototype.copy=function(){var t=S.createBuffer(this.data);return t.read=this.read,t};S.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};S.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};S.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};S.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};S.ByteStringBuffer.prototype.toString=function(){return S.decodeUtf8(this.bytes())};function eA(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=S.isArrayBuffer(t),n=S.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)}S.DataBuffer=eA;S.DataBuffer.prototype.length=function(){return this.write-this.read};S.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};S.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};S.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};S.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};S.DataBuffer.prototype.putBytes=function(t,e){if(S.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(S.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 S.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&S.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 S.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+=S.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+=S.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=S.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=S.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=S.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};S.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};S.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};S.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};S.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};S.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};S.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};S.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};S.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};S.DataBuffer.prototype.putInt=function(t,e){Ko(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};S.DataBuffer.prototype.putSignedInt=function(t,e){return Ko(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};S.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};S.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};S.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};S.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};S.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};S.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};S.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};S.DataBuffer.prototype.getInt=function(t){Ko(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};S.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};S.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};S.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};S.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};S.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};S.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};S.DataBuffer.prototype.copy=function(){return new S.DataBuffer(this)};S.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};S.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};S.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};S.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};S.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return S.binary.raw.encode(e);if(t==="hex")return S.binary.hex.encode(e);if(t==="base64")return S.binary.base64.encode(e);if(t==="utf8")return S.text.utf8.decode(e);if(t==="utf16")return S.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};S.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=S.encodeUtf8(t)),new S.ByteBuffer(t)};S.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};S.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};S.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};S.bytesToHex=function(t){return S.createBuffer(t).toHex()};S.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Kr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Vr=[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],Fm="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";S.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+=Kr.charAt(i>>2),r+=Kr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Kr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Kr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
+ `,r=r.substr(e));return n+=r,n};S.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=Vr[t.charCodeAt(s++)-43],n=Vr[t.charCodeAt(s++)-43],i=Vr[t.charCodeAt(s++)-43],o=Vr[t.charCodeAt(s++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(e+=String.fromCharCode((i&3)<<6|o)));return e};S.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};S.decodeUtf8=function(t){return decodeURIComponent(escape(t))};S.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Mm.encode,decode:Mm.decode}};S.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};S.binary.raw.decode=function(t,e,r){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};S.binary.hex.encode=S.bytesToHex;S.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,o=r;for(t.length&1&&(i=1,n[o++]=parseInt(t[0],16));i<t.length;i+=2)n[o++]=parseInt(t.substr(i,2),16);return e?o-r:n};S.binary.base64.encode=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.byteLength;)i=t[a++],o=t[a++],s=t[a++],r+=Kr.charAt(i>>2),r+=Kr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Kr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Kr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
+ `,r=r.substr(e));return n+=r,n};S.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=Vr[t.charCodeAt(c++)-43],o=Vr[t.charCodeAt(c++)-43],s=Vr[t.charCodeAt(c++)-43],a=Vr[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)};S.binary.base58.encode=function(t,e){return S.binary.baseN.encode(t,Fm,e)};S.binary.base58.decode=function(t,e){return S.binary.baseN.decode(t,Fm,e)};S.text={utf8:{},utf16:{}};S.text.utf8.encode=function(t,e,r){t=S.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};S.text.utf8.decode=function(t){return S.decodeUtf8(String.fromCharCode.apply(null,t))};S.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};S.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};S.deflate=function(t,e,r){if(e=S.decode64(t.deflate(S.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};S.inflate=function(t,e,r){var n=t.inflate(S.encode64(e)).rval;return n===null?null:S.decode64(n)};var Mu=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=S.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}},Fu=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(S.decode64(r))),r},tA=function(t,e,r,n){var i=Fu(t,e);i===null&&(i={}),i[r]=n,Mu(t,e,i)},rA=function(t,e,r){var n=Fu(t,e);return n!==null&&(n=r in n?n[r]:null),n},nA=function(t,e,r){var n=Fu(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),Mu(t,e,n)}},iA=function(t,e){Mu(t,e,null)},la=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};S.setItem=function(t,e,r,n,i){la(tA,arguments,i)};S.getItem=function(t,e,r,n){return la(rA,arguments,n)};S.removeItem=function(t,e,r,n){la(nA,arguments,n)};S.clearItems=function(t,e,r){la(iA,arguments,r)};S.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};S.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("")};S.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):"")};S.formatSize=function(t){return t>=1073741824?t=S.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=S.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=S.formatNumber(t/1024,0)+" KiB":t=S.formatNumber(t,0)+" bytes",t};S.bytesFromIP=function(t){return t.indexOf(".")!==-1?S.bytesFromIPv4(t):t.indexOf(":")!==-1?S.bytesFromIPv6(t):null};S.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=S.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};S.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=S.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=S.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};S.bytesToIP=function(t){return t.length===4?S.bytesToIPv4(t):t.length===16?S.bytesToIPv6(t):null};S.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(".")};S.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=S.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(":")};S.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in S&&!t.update)return e(null,S.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return S.cores=navigator.hardwareConcurrency,e(null,S.cores);if(typeof Worker>"u")return S.cores=1,e(null,S.cores);if(typeof Blob>"u")return S.cores=2,e(null,S.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,h){return f+h},0)/s.length);return S.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,S.cores)}i(c,function(f,h){s.push(o(c,h)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var h=new Worker(r);h.addEventListener("message",function(p){if(u.push(p.data),u.length===s){for(var y=0;y<s;++y)c[y].terminate();a(null,u)}}),c.push(h)}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],h=c[u]=[],p=0;p<s;++p)if(u!==p){var y=a[p];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&h.push(p)}return c.reduce(function(l,d){return Math.max(l,d.length)},0)}}});var ha=z((OO,Vm)=>{var Vo=le();Vo.pki=Vo.pki||{};var Ku=Vm.exports=Vo.pki.oids=Vo.oids=Vo.oids||{};function N(t,e){Ku[t]=e,Ku[e]=t}function oe(t,e){Ku[t]=e}N("1.2.840.113549.1.1.1","rsaEncryption");N("1.2.840.113549.1.1.4","md5WithRSAEncryption");N("1.2.840.113549.1.1.5","sha1WithRSAEncryption");N("1.2.840.113549.1.1.7","RSAES-OAEP");N("1.2.840.113549.1.1.8","mgf1");N("1.2.840.113549.1.1.9","pSpecified");N("1.2.840.113549.1.1.10","RSASSA-PSS");N("1.2.840.113549.1.1.11","sha256WithRSAEncryption");N("1.2.840.113549.1.1.12","sha384WithRSAEncryption");N("1.2.840.113549.1.1.13","sha512WithRSAEncryption");N("1.3.101.112","EdDSA25519");N("1.2.840.10040.4.3","dsa-with-sha1");N("1.3.14.3.2.7","desCBC");N("1.3.14.3.2.26","sha1");N("1.3.14.3.2.29","sha1WithRSASignature");N("2.16.840.1.101.3.4.2.1","sha256");N("2.16.840.1.101.3.4.2.2","sha384");N("2.16.840.1.101.3.4.2.3","sha512");N("2.16.840.1.101.3.4.2.4","sha224");N("2.16.840.1.101.3.4.2.5","sha512-224");N("2.16.840.1.101.3.4.2.6","sha512-256");N("1.2.840.113549.2.2","md2");N("1.2.840.113549.2.5","md5");N("1.2.840.113549.1.7.1","data");N("1.2.840.113549.1.7.2","signedData");N("1.2.840.113549.1.7.3","envelopedData");N("1.2.840.113549.1.7.4","signedAndEnvelopedData");N("1.2.840.113549.1.7.5","digestedData");N("1.2.840.113549.1.7.6","encryptedData");N("1.2.840.113549.1.9.1","emailAddress");N("1.2.840.113549.1.9.2","unstructuredName");N("1.2.840.113549.1.9.3","contentType");N("1.2.840.113549.1.9.4","messageDigest");N("1.2.840.113549.1.9.5","signingTime");N("1.2.840.113549.1.9.6","counterSignature");N("1.2.840.113549.1.9.7","challengePassword");N("1.2.840.113549.1.9.8","unstructuredAddress");N("1.2.840.113549.1.9.14","extensionRequest");N("1.2.840.113549.1.9.20","friendlyName");N("1.2.840.113549.1.9.21","localKeyId");N("1.2.840.113549.1.9.22.1","x509Certificate");N("1.2.840.113549.1.12.10.1.1","keyBag");N("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");N("1.2.840.113549.1.12.10.1.3","certBag");N("1.2.840.113549.1.12.10.1.4","crlBag");N("1.2.840.113549.1.12.10.1.5","secretBag");N("1.2.840.113549.1.12.10.1.6","safeContentsBag");N("1.2.840.113549.1.5.13","pkcs5PBES2");N("1.2.840.113549.1.5.12","pkcs5PBKDF2");N("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");N("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");N("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");N("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");N("1.2.840.113549.2.7","hmacWithSHA1");N("1.2.840.113549.2.8","hmacWithSHA224");N("1.2.840.113549.2.9","hmacWithSHA256");N("1.2.840.113549.2.10","hmacWithSHA384");N("1.2.840.113549.2.11","hmacWithSHA512");N("1.2.840.113549.3.7","des-EDE3-CBC");N("2.16.840.1.101.3.4.1.2","aes128-CBC");N("2.16.840.1.101.3.4.1.22","aes192-CBC");N("2.16.840.1.101.3.4.1.42","aes256-CBC");N("2.5.4.3","commonName");N("2.5.4.4","surname");N("2.5.4.5","serialNumber");N("2.5.4.6","countryName");N("2.5.4.7","localityName");N("2.5.4.8","stateOrProvinceName");N("2.5.4.9","streetAddress");N("2.5.4.10","organizationName");N("2.5.4.11","organizationalUnitName");N("2.5.4.12","title");N("2.5.4.13","description");N("2.5.4.15","businessCategory");N("2.5.4.17","postalCode");N("2.5.4.42","givenName");N("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");N("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");N("2.16.840.1.113730.1.1","nsCertType");N("2.16.840.1.113730.1.13","nsComment");oe("2.5.29.1","authorityKeyIdentifier");oe("2.5.29.2","keyAttributes");oe("2.5.29.3","certificatePolicies");oe("2.5.29.4","keyUsageRestriction");oe("2.5.29.5","policyMapping");oe("2.5.29.6","subtreesConstraint");oe("2.5.29.7","subjectAltName");oe("2.5.29.8","issuerAltName");oe("2.5.29.9","subjectDirectoryAttributes");oe("2.5.29.10","basicConstraints");oe("2.5.29.11","nameConstraints");oe("2.5.29.12","policyConstraints");oe("2.5.29.13","basicConstraints");N("2.5.29.14","subjectKeyIdentifier");N("2.5.29.15","keyUsage");oe("2.5.29.16","privateKeyUsagePeriod");N("2.5.29.17","subjectAltName");N("2.5.29.18","issuerAltName");N("2.5.29.19","basicConstraints");oe("2.5.29.20","cRLNumber");oe("2.5.29.21","cRLReason");oe("2.5.29.22","expirationDate");oe("2.5.29.23","instructionCode");oe("2.5.29.24","invalidityDate");oe("2.5.29.25","cRLDistributionPoints");oe("2.5.29.26","issuingDistributionPoint");oe("2.5.29.27","deltaCRLIndicator");oe("2.5.29.28","issuingDistributionPoint");oe("2.5.29.29","certificateIssuer");oe("2.5.29.30","nameConstraints");N("2.5.29.31","cRLDistributionPoints");N("2.5.29.32","certificatePolicies");oe("2.5.29.33","policyMappings");oe("2.5.29.34","policyConstraints");N("2.5.29.35","authorityKeyIdentifier");oe("2.5.29.36","policyConstraints");N("2.5.29.37","extKeyUsage");oe("2.5.29.46","freshestCRL");oe("2.5.29.54","inhibitAnyPolicy");N("1.3.6.1.4.1.11129.2.4.2","timestampList");N("1.3.6.1.5.5.7.1.1","authorityInfoAccess");N("1.3.6.1.5.5.7.3.1","serverAuth");N("1.3.6.1.5.5.7.3.2","clientAuth");N("1.3.6.1.5.5.7.3.3","codeSigning");N("1.3.6.1.5.5.7.3.4","emailProtection");N("1.3.6.1.5.5.7.3.8","timeStamping")});var zo=z((kO,zm)=>{var pe=le();ke();ha();var M=zm.exports=pe.asn1=pe.asn1||{};M.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};M.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};M.create=function(t,e,r,n,i){if(pe.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||pe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=M.copy(a)),a};M.copy=function(t,e){var r;if(pe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(M.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:M.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};M.equals=function(t,e,r){if(pe.util.isArray(t)){if(!pe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!M.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&&M.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};M.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 qo(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 oA=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;qo(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};M.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=pe.util.createBuffer(t));var r=t.length(),n=da(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 da(t,e,r,n){var i;qo(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=oA(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,h,p=(o&32)===32;if(p)if(f=[],c===void 0)for(;;){if(qo(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),f.push(da(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),f.push(da(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(f===void 0&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&(h=t.bytes(c)),f===void 0&&n.decodeBitStrings&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&c>1){var y=t.read,l=e,d=0;if(a===M.Type.BITSTRING&&(qo(t,e,1),d=t.getByte(),e--),d===0)try{i=t.length();var m={strict:!0,decodeBitStrings:!0},g=da(t,e,r+1,m),x=i-t.length();e-=x,a==M.Type.BITSTRING&&x++;var b=g.tagClass;x===c&&(b===M.Class.UNIVERSAL||b===M.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(t.read=y,e=l)}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===M.Type.BMPSTRING)for(f="";c>0;c-=2)qo(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(c),e-=c}var v=h===void 0?null:{bitStringContents:h};return M.create(s,a,p,f,v)}M.toDer=function(t){var e=pe.util.createBuffer(),r=t.tagClass|t.type,n=pe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=M.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(M.toDer(t.value[o]))}else if(t.type===M.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===M.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};M.oidToDer=function(t){var e=t.split("."),r=pe.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};M.derToOid=function(t){var e;typeof t=="string"&&(t=pe.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};M.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),h=parseInt(t.substr(u+4,2),10),p=f*60+h;p*=6e4,c==="+"?e.setTime(+e-p):e.setTime(+e+p)}return e};M.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 h=t.length-5,p=t.charAt(h);if(p==="+"||p==="-"){var y=parseInt(t.substr(h+1,2),10),l=parseInt(t.substr(h+4,2),10);u=y*60+l,u*=6e4,p==="+"&&(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};M.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};M.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};M.integerToDer=function(t){var e=pe.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};M.derToInteger=function(t){typeof t=="string"&&(t=pe.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)};M.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&&pe.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=M.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 qm=/[^\\u0000-\\u00ff]/;M.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
+ `);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case M.Class.UNIVERSAL:n+="Universal:";break;case M.Class.APPLICATION:n+="Application:";break;case M.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case M.Class.PRIVATE:n+="Private:";break}if(t.tagClass===M.Class.UNIVERSAL)switch(n+=t.type,t.type){case M.Type.NONE:n+=" (None)";break;case M.Type.BOOLEAN:n+=" (Boolean)";break;case M.Type.INTEGER:n+=" (Integer)";break;case M.Type.BITSTRING:n+=" (Bit string)";break;case M.Type.OCTETSTRING:n+=" (Octet string)";break;case M.Type.NULL:n+=" (Null)";break;case M.Type.OID:n+=" (Object Identifier)";break;case M.Type.ODESC:n+=" (Object Descriptor)";break;case M.Type.EXTERNAL:n+=" (External or Instance of)";break;case M.Type.REAL:n+=" (Real)";break;case M.Type.ENUMERATED:n+=" (Enumerated)";break;case M.Type.EMBEDDED:n+=" (Embedded PDV)";break;case M.Type.UTF8:n+=" (UTF8)";break;case M.Type.ROID:n+=" (Relative Object Identifier)";break;case M.Type.SEQUENCE:n+=" (Sequence)";break;case M.Type.SET:n+=" (Set)";break;case M.Type.PRINTABLESTRING:n+=" (Printable String)";break;case M.Type.IA5String:n+=" (IA5String (ASCII))";break;case M.Type.UTCTIME:n+=" (UTC time)";break;case M.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case M.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
7
7
  `,n+=i+"Constructed: "+t.constructed+`
8
- `,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=O.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===O.Type.OID){var c=O.derToOid(t.value);n+=c,pe.pki&&pe.pki.oids&&c in pe.pki.oids&&(n+=" ("+pe.pki.oids[c]+") ")}if(t.type===O.Type.INTEGER)try{n+=O.derToInteger(t.value)}catch{n+="0x"+pe.util.bytesToHex(t.value)}else if(t.type===O.Type.BITSTRING){if(t.value.length>1?n+="0x"+pe.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===O.Type.OCTETSTRING)$l.test(t.value)||(n+="("+t.value+") "),n+="0x"+pe.util.bytesToHex(t.value);else if(t.type===O.Type.UTF8)try{n+=pe.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+pe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===O.Type.PRINTABLESTRING||t.type===O.Type.IA5String?n+=t.value:$l.test(t.value)?n+="0x"+pe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var oa=q((dv,Hl)=>{var Ue=fe();Te();Hl.exports=Ue.cipher=Ue.cipher||{};Ue.cipher.algorithms=Ue.cipher.algorithms||{};Ue.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ue.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ue.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Ue.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ue.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ue.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Ue.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Ue.cipher.algorithms[t]=e};Ue.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Ue.cipher.algorithms?Ue.cipher.algorithms[t]:null};var sa=Ue.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)};sa.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=Ue.util.createBuffer(),this.output=t.output||Ue.util.createBuffer(),this.mode.start(e)};sa.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()};sa.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 ca=q((pv,Gl)=>{var Fe=fe();Te();Fe.cipher=Fe.cipher||{};var j=Gl.exports=Fe.cipher.modes=Fe.cipher.modes||{};j.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)};j.ecb.prototype.start=function(t){};j.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])};j.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])};j.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};j.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)};j.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)};j.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=rs(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};j.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};j.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)};j.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};j.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)};j.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=Fe.util.createBuffer(),this._partialBytes=0};j.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=rs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};j.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 s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),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(s>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),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};j.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 s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),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(s>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),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};j.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=Fe.util.createBuffer(),this._partialBytes=0};j.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=rs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};j.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 s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>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),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};j.ofb.prototype.decrypt=j.ofb.prototype.encrypt;j.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=Fe.util.createBuffer(),this._partialBytes=0};j.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=rs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};j.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 s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}ns(this._inBlock)};j.ctr.prototype.decrypt=j.ctr.prototype.encrypt;j.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=Fe.util.createBuffer(),this._partialBytes=0,this._R=3774873600};j.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Fe.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Fe.util.createBuffer(t.additionalData):r=Fe.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Fe.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(aa(n*8)))}this._inBlock=this._j0.slice(0),ns(this._inBlock),this._partialBytes=0,r=Fe.util.createBuffer(r),this._aDataLength=aa(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()])};j.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 s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}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),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),ns(this._inBlock)};j.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),ns(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};j.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Fe.util.createBuffer();var n=this._aDataLength.concat(aa(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};j.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};j.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)};j.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,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};j.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)};j.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};j.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function rs(t,e){if(typeof t=="string"&&(t=Fe.util.createBuffer(t)),Fe.util.isArray(t)&&t.length>4){var r=t;t=Fe.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(!Fe.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function ns(t){t[t.length-1]=t[t.length-1]+1&4294967295}function aa(t){return[t/4294967296|0,t&4294967295]}});var ha=q((mv,Xl)=>{var de=fe();oa();ca();Te();Xl.exports=de.aes=de.aes||{};de.aes.startEncrypting=function(t,e,r,n){var i=is({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};de.aes.createEncryptionCipher=function(t,e){return is({key:t,output:null,decrypt:!1,mode:e})};de.aes.startDecrypting=function(t,e,r,n){var i=is({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};de.aes.createDecryptionCipher=function(t,e){return is({key:t,output:null,decrypt:!0,mode:e})};de.aes.Algorithm=function(t,e){fa||Yl();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return la(r._w,n,i,!1)},decrypt:function(n,i){return la(r._w,n,i,!0)}}}),r._init=!1};de.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=de.util.createBuffer(e);else if(de.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=de.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!de.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(!de.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=Ql(e,t.decrypt&&!o),this._init=!0}};de.aes._expandKey=function(t,e){return fa||Yl(),Ql(t,e)};de.aes._updateBlock=la;xn("AES-ECB",de.cipher.modes.ecb);xn("AES-CBC",de.cipher.modes.cbc);xn("AES-CFB",de.cipher.modes.cfb);xn("AES-OFB",de.cipher.modes.ofb);xn("AES-CTR",de.cipher.modes.ctr);xn("AES-GCM",de.cipher.modes.gcm);function xn(t,e){var r=function(){return new de.aes.Algorithm(t,e)};de.cipher.registerAlgorithm(t,r)}var fa=!1,yn=4,nt,ua,Wl,Mr,It;function Yl(){fa=!0,Wl=[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;nt=new Array(256),ua=new Array(256),Mr=new Array(4),It=new Array(4);for(var e=0;e<4;++e)Mr[e]=new Array(256),It[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,nt[r]=a,ua[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)Mr[f][r]=u,It[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function Ql(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=yn*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=nt[n>>>16&255]<<24^nt[n>>>8&255]<<16^nt[n&255]<<8^nt[n>>>24]^Wl[i]<<24,i++):s>6&&c%s===4&&(n=nt[n>>>24]<<24^nt[n>>>16&255]<<16^nt[n>>>8&255]<<8^nt[n&255]),r[c]=r[c-s]^n;if(e){var u,l=It[0],f=It[1],d=It[2],p=It[3],h=r.slice(0);a=r.length;for(var c=0,m=a-yn;c<a;c+=yn,m-=yn)if(c===0||c===a-yn)h[c]=r[m],h[c+1]=r[m+3],h[c+2]=r[m+2],h[c+3]=r[m+1];else for(var g=0;g<yn;++g)u=r[m+g],h[c+(3&-g)]=l[nt[u>>>24]]^f[nt[u>>>16&255]]^d[nt[u>>>8&255]]^p[nt[u&255]];r=h}return r}function la(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=It[0],o=It[1],a=It[2],c=It[3],u=ua):(s=Mr[0],o=Mr[1],a=Mr[2],c=Mr[3],u=nt);var l,f,d,p,h,m,g;l=e[0]^t[0],f=e[n?3:1]^t[1],d=e[2]^t[2],p=e[n?1:3]^t[3];for(var y=3,x=1;x<i;++x)h=s[l>>>24]^o[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++y],m=s[f>>>24]^o[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++y],g=s[d>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++y],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[d&255]^t[++y],l=h,f=m,d=g;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++y],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++y],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++y],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++y]}function is(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=de.cipher.createDecipher(r,t.key):n=de.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof de.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Jl=q((gv,jl)=>{var ge=fe();oa();ca();Te();jl.exports=ge.des=ge.des||{};ge.des.startEncrypting=function(t,e,r,n){var i=ss({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createEncryptionCipher=function(t,e){return ss({key:t,output:null,decrypt:!1,mode:e})};ge.des.startDecrypting=function(t,e,r,n){var i=ss({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createDecryptionCipher=function(t,e){return ss({key:t,output:null,decrypt:!0,mode:e})};ge.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Zl(r._keys,n,i,!1)},decrypt:function(n,i){return Zl(r._keys,n,i,!0)}}}),r._init=!1};ge.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ge.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=og(e),this._init=!0}};Ut("DES-ECB",ge.cipher.modes.ecb);Ut("DES-CBC",ge.cipher.modes.cbc);Ut("DES-CFB",ge.cipher.modes.cfb);Ut("DES-OFB",ge.cipher.modes.ofb);Ut("DES-CTR",ge.cipher.modes.ctr);Ut("3DES-ECB",ge.cipher.modes.ecb);Ut("3DES-CBC",ge.cipher.modes.cbc);Ut("3DES-CFB",ge.cipher.modes.cfb);Ut("3DES-OFB",ge.cipher.modes.ofb);Ut("3DES-CTR",ge.cipher.modes.ctr);function Ut(t,e){var r=function(){return new ge.des.Algorithm(t,e)};ge.cipher.registerAlgorithm(t,r)}var jm=[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],Jm=[-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],eg=[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],tg=[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],rg=[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],ng=[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],ig=[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],sg=[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 og(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],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[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],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[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],m=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<m;I++){var v=t.getInt32(),_=t.getInt32();b=(v>>>4^_)&252645135,_^=b,v^=b<<4,b=(_>>>-16^v)&65535,v^=b,_^=b<<-16,b=(v>>>2^_)&858993459,_^=b,v^=b<<2,b=(_>>>-16^v)&65535,v^=b,_^=b<<-16,b=(v>>>1^_)&1431655765,_^=b,v^=b<<1,b=(_>>>8^v)&16711935,v^=b,_^=b<<8,b=(v>>>1^_)&1431655765,_^=b,v^=b<<1,b=v<<8|_>>>20&240,v=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=b;for(var D=0;D<y.length;++D){y[D]?(v=v<<2|v>>>26,_=_<<2|_>>>26):(v=v<<1|v>>>27,_=_<<1|_>>>27),v&=-15,_&=-15;var P=e[v>>>28]|r[v>>>24&15]|n[v>>>20&15]|i[v>>>16&15]|s[v>>>12&15]|o[v>>>8&15]|a[v>>>4&15],H=c[_>>>28]|u[_>>>24&15]|l[_>>>20&15]|f[_>>>16&15]|d[_>>>12&15]|p[_>>>8&15]|h[_>>>4&15];b=(H>>>16^P)&65535,g[x++]=P^b,g[x++]=H^b<<16}}return g}function Zl(t,e,r,n){var i=t.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=e[0],c=e[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],d=s[u];d!=l;d+=f){var p=c^t[d],h=(c>>>4|c<<28)^t[d+1];o=a,a=c,c=o^(Jm[p>>>24&63]|tg[p>>>16&63]|ng[p>>>8&63]|sg[p&63]|jm[h>>>24&63]|eg[h>>>16&63]|rg[h>>>8&63]|ig[h&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,r[0]=a,r[1]=c}function ss(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ge.cipher.createDecipher(r,t.key):n=ge.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ge.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Ur=q((yv,ef)=>{var os=fe();ef.exports=os.md=os.md||{};os.md.algorithms=os.md.algorithms||{}});var rf=q((xv,tf)=>{var Zt=fe();Ur();Te();var ag=tf.exports=Zt.hmac=Zt.hmac||{};ag.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in Zt.md.algorithms)e=Zt.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=Zt.util.createBuffer(o);else if(Zt.util.isArray(o)){var a=o;o=Zt.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=Zt.util.createBuffer(),n=Zt.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.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=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var fi=q(()=>{});var sf=q((Ev,nf)=>{var it=fe();rf();Ur();Te();var cg=it.pkcs5=it.pkcs5||{},jt;it.util.isNodejs&&!it.options.usePureJavaScript&&(jt=fi());nf.exports=it.pbkdf2=cg.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),it.util.isNodejs&&!it.options.usePureJavaScript&&jt.pbkdf2&&(i===null||typeof i!="object")&&(jt.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?jt.pbkdf2Sync.length===4?jt.pbkdf2(t,e,r,n,function(b,I){if(b)return s(b);s(null,I.toString("binary"))}):jt.pbkdf2(t,e,r,n,i,function(b,I){if(b)return s(b);s(null,I.toString("binary"))}):jt.pbkdf2Sync.length===4?jt.pbkdf2Sync(t,e,r,n).toString("binary"):jt.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in it.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=it.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=it.hmac.create();l.start(i,t);var f="",d,p,h;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(it.util.int32ToBytes(m)),d=h=l.digest().getBytes();for(var g=2;g<=r;++g)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=it.util.xorBytes(d,p,o),h=p;f+=m<c?d:d.substr(0,u)}return f}var m=1,g;function y(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(it.util.int32ToBytes(m)),d=h=l.digest().getBytes(),g=2,x()}function x(){if(g<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=it.util.xorBytes(d,p,o),h=p,++g,it.util.setImmediate(x);f+=m<c?d:d.substr(0,u),++m,y()}y()}});var cf=q((vv,af)=>{var cs=fe();Te();var of=af.exports=cs.pem=cs.pem||{};of.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+=as(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=as(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=as(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=as(t.headers[i]);return t.procType&&(r+=`\r
10
- `),r+=cs.util.encode64(t.body,e.maxline||64)+`\r
8
+ `,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=M.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===M.Type.OID){var c=M.derToOid(t.value);n+=c,pe.pki&&pe.pki.oids&&c in pe.pki.oids&&(n+=" ("+pe.pki.oids[c]+") ")}if(t.type===M.Type.INTEGER)try{n+=M.derToInteger(t.value)}catch{n+="0x"+pe.util.bytesToHex(t.value)}else if(t.type===M.Type.BITSTRING){if(t.value.length>1?n+="0x"+pe.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===M.Type.OCTETSTRING)qm.test(t.value)||(n+="("+t.value+") "),n+="0x"+pe.util.bytesToHex(t.value);else if(t.type===M.Type.UTF8)try{n+=pe.util.decodeUtf8(t.value)}catch(f){if(f.message==="URI malformed")n+="0x"+pe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw f}else t.type===M.Type.PRINTABLESTRING||t.type===M.Type.IA5String?n+=t.value:qm.test(t.value)?n+="0x"+pe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var qu=z((UO,$m)=>{var qe=le();ke();$m.exports=qe.cipher=qe.cipher||{};qe.cipher.algorithms=qe.cipher.algorithms||{};qe.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=qe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new qe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};qe.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=qe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new qe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};qe.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),qe.cipher.algorithms[t]=e};qe.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in qe.cipher.algorithms?qe.cipher.algorithms[t]:null};var Vu=qe.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)};Vu.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=qe.util.createBuffer(),this.output=t.output||qe.util.createBuffer(),this.mode.start(e)};Vu.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()};Vu.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 $u=z((MO,Hm)=>{var ze=le();ke();ze.cipher=ze.cipher||{};var J=Hm.exports=ze.cipher.modes=ze.cipher.modes||{};J.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)};J.ecb.prototype.start=function(t){};J.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])};J.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])};J.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};J.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)};J.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)};J.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=pa(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};J.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};J.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)};J.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};J.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)};J.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=ze.util.createBuffer(),this._partialBytes=0};J.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=pa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.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};J.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};J.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=ze.util.createBuffer(),this._partialBytes=0};J.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=pa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.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};J.ofb.prototype.decrypt=J.ofb.prototype.encrypt;J.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=ze.util.createBuffer(),this._partialBytes=0};J.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=pa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.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}ma(this._inBlock)};J.ctr.prototype.decrypt=J.ctr.prototype.encrypt;J.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=ze.util.createBuffer(),this._partialBytes=0,this._R=3774873600};J.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=ze.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=ze.util.createBuffer(t.additionalData):r=ze.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=ze.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(zu(n*8)))}this._inBlock=this._j0.slice(0),ma(this._inBlock),this._partialBytes=0,r=ze.util.createBuffer(r),this._aDataLength=zu(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()])};J.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),ma(this._inBlock)};J.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),ma(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};J.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=ze.util.createBuffer();var n=this._aDataLength.concat(zu(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};J.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};J.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)};J.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};J.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)};J.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};J.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 pa(t,e){if(typeof t=="string"&&(t=ze.util.createBuffer(t)),ze.util.isArray(t)&&t.length>4){var r=t;t=ze.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(!ze.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function ma(t){t[t.length-1]=t[t.length-1]+1&4294967295}function zu(t){return[t/4294967296|0,t&4294967295]}});var Yu=z((FO,Qm)=>{var de=le();qu();$u();ke();Qm.exports=de.aes=de.aes||{};de.aes.startEncrypting=function(t,e,r,n){var i=ya({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};de.aes.createEncryptionCipher=function(t,e){return ya({key:t,output:null,decrypt:!1,mode:e})};de.aes.startDecrypting=function(t,e,r,n){var i=ya({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};de.aes.createDecryptionCipher=function(t,e){return ya({key:t,output:null,decrypt:!0,mode:e})};de.aes.Algorithm=function(t,e){Wu||Wm();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Gu(r._w,n,i,!1)},decrypt:function(n,i){return Gu(r._w,n,i,!0)}}}),r._init=!1};de.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=de.util.createBuffer(e);else if(de.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=de.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!de.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(!de.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=Ym(e,t.decrypt&&!s),this._init=!0}};de.aes._expandKey=function(t,e){return Wu||Wm(),Ym(t,e)};de.aes._updateBlock=Gu;ui("AES-ECB",de.cipher.modes.ecb);ui("AES-CBC",de.cipher.modes.cbc);ui("AES-CFB",de.cipher.modes.cfb);ui("AES-OFB",de.cipher.modes.ofb);ui("AES-CTR",de.cipher.modes.ctr);ui("AES-GCM",de.cipher.modes.gcm);function ui(t,e){var r=function(){return new de.aes.Algorithm(t,e)};de.cipher.registerAlgorithm(t,r)}var Wu=!1,ci=4,ft,Hu,Gm,xn,Ot;function Wm(){Wu=!0,Gm=[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;ft=new Array(256),Hu=new Array(256),xn=new Array(4),Ot=new Array(4);for(var e=0;e<4;++e)xn[e]=new Array(256),Ot[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,ft[r]=a,Hu[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 h=0;h<4;++h)xn[h][r]=u,Ot[h][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 Ym(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=ci*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=ft[n>>>16&255]<<24^ft[n>>>8&255]<<16^ft[n&255]<<8^ft[n>>>24]^Gm[i]<<24,i++):o>6&&c%o===4&&(n=ft[n>>>24]<<24^ft[n>>>16&255]<<16^ft[n>>>8&255]<<8^ft[n&255]),r[c]=r[c-o]^n;if(e){var u,f=Ot[0],h=Ot[1],p=Ot[2],y=Ot[3],l=r.slice(0);a=r.length;for(var c=0,d=a-ci;c<a;c+=ci,d-=ci)if(c===0||c===a-ci)l[c]=r[d],l[c+1]=r[d+3],l[c+2]=r[d+2],l[c+3]=r[d+1];else for(var m=0;m<ci;++m)u=r[d+m],l[c+(3&-m)]=f[ft[u>>>24]]^h[ft[u>>>16&255]]^p[ft[u>>>8&255]]^y[ft[u&255]];r=l}return r}function Gu(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=Ot[0],s=Ot[1],a=Ot[2],c=Ot[3],u=Hu):(o=xn[0],s=xn[1],a=xn[2],c=xn[3],u=ft);var f,h,p,y,l,d,m;f=e[0]^t[0],h=e[n?3:1]^t[1],p=e[2]^t[2],y=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)l=o[f>>>24]^s[h>>>16&255]^a[p>>>8&255]^c[y&255]^t[++g],d=o[h>>>24]^s[p>>>16&255]^a[y>>>8&255]^c[f&255]^t[++g],m=o[p>>>24]^s[y>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],y=o[y>>>24]^s[f>>>16&255]^a[h>>>8&255]^c[p&255]^t[++g],f=l,h=d,p=m;r[0]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[p>>>8&255]<<8^u[y&255]^t[++g],r[n?3:1]=u[h>>>24]<<24^u[p>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^t[++g],r[2]=u[p>>>24]<<24^u[y>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++g],r[n?1:3]=u[y>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[p&255]^t[++g]}function ya(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=de.cipher.createDecipher(r,t.key):n=de.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof de.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Jm=z((KO,jm)=>{var ye=le();qu();$u();ke();jm.exports=ye.des=ye.des||{};ye.des.startEncrypting=function(t,e,r,n){var i=ga({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createEncryptionCipher=function(t,e){return ga({key:t,output:null,decrypt:!1,mode:e})};ye.des.startDecrypting=function(t,e,r,n){var i=ga({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createDecryptionCipher=function(t,e){return ga({key:t,output:null,decrypt:!0,mode:e})};ye.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Xm(r._keys,n,i,!1)},decrypt:function(n,i){return Xm(r._keys,n,i,!0)}}}),r._init=!1};ye.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ye.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=pA(e),this._init=!0}};Ht("DES-ECB",ye.cipher.modes.ecb);Ht("DES-CBC",ye.cipher.modes.cbc);Ht("DES-CFB",ye.cipher.modes.cfb);Ht("DES-OFB",ye.cipher.modes.ofb);Ht("DES-CTR",ye.cipher.modes.ctr);Ht("3DES-ECB",ye.cipher.modes.ecb);Ht("3DES-CBC",ye.cipher.modes.cbc);Ht("3DES-CFB",ye.cipher.modes.cfb);Ht("3DES-OFB",ye.cipher.modes.ofb);Ht("3DES-CTR",ye.cipher.modes.ctr);function Ht(t,e){var r=function(){return new ye.des.Algorithm(t,e)};ye.cipher.registerAlgorithm(t,r)}var sA=[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],aA=[-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],cA=[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],uA=[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],fA=[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],lA=[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],hA=[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],dA=[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 pA(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],h=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],p=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],y=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],l=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],d=t.length()>8?3:1,m=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,v=0;v<d;v++){var w=t.getInt32(),E=t.getInt32();b=(w>>>4^E)&252645135,E^=b,w^=b<<4,b=(E>>>-16^w)&65535,w^=b,E^=b<<-16,b=(w>>>2^E)&858993459,E^=b,w^=b<<2,b=(E>>>-16^w)&65535,w^=b,E^=b<<-16,b=(w>>>1^E)&1431655765,E^=b,w^=b<<1,b=(E>>>8^w)&16711935,w^=b,E^=b<<8,b=(w>>>1^E)&1431655765,E^=b,w^=b<<1,b=w<<8|E>>>20&240,w=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=b;for(var A=0;A<g.length;++A){g[A]?(w=w<<2|w>>>26,E=E<<2|E>>>26):(w=w<<1|w>>>27,E=E<<1|E>>>27),w&=-15,E&=-15;var C=e[w>>>28]|r[w>>>24&15]|n[w>>>20&15]|i[w>>>16&15]|o[w>>>12&15]|s[w>>>8&15]|a[w>>>4&15],P=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|h[E>>>16&15]|p[E>>>12&15]|y[E>>>8&15]|l[E>>>4&15];b=(P>>>16^C)&65535,m[x++]=C^b,m[x++]=P^b<<16}}return m}function Xm(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],h=o[u+2],p=o[u];p!=f;p+=h){var y=c^t[p],l=(c>>>4|c<<28)^t[p+1];s=a,a=c,c=s^(aA[y>>>24&63]|uA[y>>>16&63]|lA[y>>>8&63]|dA[y&63]|sA[l>>>24&63]|cA[l>>>16&63]|fA[l>>>8&63]|hA[l&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 ga(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ye.cipher.createDecipher(r,t.key):n=ye.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ye.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var bn=z((VO,Zm)=>{var xa=le();Zm.exports=xa.md=xa.md||{};xa.md.algorithms=xa.md.algorithms||{}});var ty=z((qO,ey)=>{var dr=le();bn();ke();var mA=ey.exports=dr.hmac=dr.hmac||{};mA.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 dr.md.algorithms)e=dr.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=dr.util.createBuffer(s);else if(dr.util.isArray(s)){var a=s;s=dr.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=dr.util.createBuffer(),n=dr.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 $o=z(()=>{});var ny=z((HO,ry)=>{var lt=le();ty();bn();ke();var yA=lt.pkcs5=lt.pkcs5||{},pr;lt.util.isNodejs&&!lt.options.usePureJavaScript&&(pr=$o());ry.exports=lt.pbkdf2=yA.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),lt.util.isNodejs&&!lt.options.usePureJavaScript&&pr.pbkdf2&&(i===null||typeof i!="object")&&(pr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?pr.pbkdf2Sync.length===4?pr.pbkdf2(t,e,r,n,function(b,v){if(b)return o(b);o(null,v.toString("binary"))}):pr.pbkdf2(t,e,r,n,i,function(b,v){if(b)return o(b);o(null,v.toString("binary"))}):pr.pbkdf2Sync.length===4?pr.pbkdf2Sync(t,e,r,n).toString("binary"):pr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in lt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=lt.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=lt.hmac.create();f.start(i,t);var h="",p,y,l;if(!o){for(var d=1;d<=c;++d){f.start(null,null),f.update(e),f.update(lt.util.int32ToBytes(d)),p=l=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(l),y=f.digest().getBytes(),p=lt.util.xorBytes(p,y,s),l=y;h+=d<c?p:p.substr(0,u)}return h}var d=1,m;function g(){if(d>c)return o(null,h);f.start(null,null),f.update(e),f.update(lt.util.int32ToBytes(d)),p=l=f.digest().getBytes(),m=2,x()}function x(){if(m<=r)return f.start(null,null),f.update(l),y=f.digest().getBytes(),p=lt.util.xorBytes(p,y,s),l=y,++m,lt.util.setImmediate(x);h+=d<c?p:p.substr(0,u),++d,g()}g()}});var sy=z((GO,oy)=>{var wa=le();ke();var iy=oy.exports=wa.pem=wa.pem||{};iy.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+=ba(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=ba(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=ba(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=ba(t.headers[i]);return t.procType&&(r+=`\r
10
+ `),r+=wa.util.encode64(t.body,e.maxline||64)+`\r
11
11
  `,r+="-----END "+t.type+`-----\r
12
- `,r};of.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/,s;s=r.exec(t),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:cs.util.decode64(s[3])};if(e.push(a),!!s[2]){for(var c=s[2].split(i),u=0;s&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),f=u+1;f<c.length;++f){var d=c[f];if(!/\s/.test(d[0]))break;l+=d,u=f}if(s=l.match(n),s){for(var p={name:s[1],values:[]},h=s[2].split(","),m=0;m<h.length;++m)p.values.push(ug(h[m]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&p.name==="DEK-Info"){if(p.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(p);else{if(p.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(p.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 as(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 s=0,o=-1,i=0;i<e.length;++i,++s)if(s>65&&o!==-1){var a=e[o];a===","?(++o,e=e.substr(0,o)+`\r
14
- `+e.substr(o)):e=e.substr(0,o)+`\r
15
- `+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function ug(t){return t.replace(/^\s+/,"")}});var pf=q((_v,df)=>{var Ft=fe();Ur();Te();var lf=df.exports=Ft.sha256=Ft.sha256||{};Ft.md.sha256=Ft.md.algorithms.sha256=lf;lf.create=function(){ff||lg();var t=null,e=Ft.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,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Ft.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,s){s==="utf8"&&(i=Ft.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),uf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Ft.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(da.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};uf(f,r,i);var d=Ft.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var da=null,ff=!1,hf=null;function lg(){da="\x80",da+=Ft.util.fillString("\0",64),hf=[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],ff=!0}function uf(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,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(l=t.h0,f=t.h1,d=t.h2,p=t.h3,h=t.h4,m=t.h5,g=t.h6,y=t.h7,u=0;u<64;++u)o=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(m^g),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=y+o+a+hf[u]+e[u],i=s+c,y=g,g=m,m=h,h=p+n>>>0,p=d,d=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+d|0,t.h3=t.h3+p|0,t.h4=t.h4+h|0,t.h5=t.h5+m|0,t.h6=t.h6+g|0,t.h7=t.h7+y|0,x-=64}}});var gf=q((Sv,mf)=>{var Kt=fe();Te();var us=null;Kt.util.isNodejs&&!Kt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(us=fi());var fg=mf.exports=Kt.prng=Kt.prng||{};fg.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,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,d=e.plugin.increment,p=e.plugin.formatKey,h=e.plugin.formatSeed,m=Kt.util.createBuffer();e.key=null,g();function g(y){if(y)return l(y);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Kt.util.nextTick(function(){s(g)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,d(e.seed))),e.seed=h(f(e.key,e.seed)),Kt.util.setImmediate(g)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var h=Kt.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,h.putBytes(m),e.key=d(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return h.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,d){if(f)return u(f);e.collect(d),a(),u()})}function o(){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 l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var d=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(d),e.generated=0}function c(u){var l=null,f=Kt.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(v){return d.getRandomValues(v)});var p=Kt.util.createBuffer();if(l)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(h));try{l(m);for(var g=0;g<m.length;++g)p.putInt32(m[g])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(p.length()<u)for(var y,x,b,I=Math.floor(Math.random()*65536);p.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),p.putByte(b&255)}return p.getBytes(u)}return us?(e.seedFile=function(u,l){us.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return us.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,d){function p(h){var m=h.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&e.seedFile(d.forge.prng.needed,function(p,h){u.postMessage({forge:{prng:{err:p,bytes:h}}})})};u.addEventListener("message",l)}},e}});var hi=q((Av,pa)=>{var Ke=fe();ha();pf();gf();Te();(function(){if(Ke.random&&Ke.random.getBytes){pa.exports=Ke.random;return}(function(t){var e={},r=new Array(4),n=Ke.util.createBuffer();e.formatKey=function(f){var d=Ke.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),Ke.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=Ke.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},e.cipher=function(f,d){return Ke.aes._updateBlock(f,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=Ke.md.sha256;function i(){var f=Ke.prng.create(e);return f.getBytes=function(d,p){return f.generate(d,p)},f.getBytesSync=function(d){return f.generate(d)},f}var s=i(),o=null,a=Ke.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Ke.options.usePureJavaScript||!Ke.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!Ke.random)Ke.random=s;else for(var l in s)Ke.random[l]=s[l];Ke.random.createInstance=i,pa.exports=Ke.random})(typeof jQuery<"u"?jQuery:null)})()});var wf=q((Iv,bf)=>{var ot=fe();Te();var ma=[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],yf=[1,2,3,5],hg=function(t,e){return t<<e&65535|(t&65535)>>16-e},dg=function(t,e){return(t&65535)>>e|t<<16-e&65535};bf.exports=ot.rc2=ot.rc2||{};ot.rc2.expandKey=function(t,e){typeof t=="string"&&(t=ot.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(ma[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,ma[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,ma[r.at(a+1)^r.at(a+s)]);return r};var xf=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=ot.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=hg(h[u],yf[u]),l++},c=function(h){for(u=0;u<4;u++)h[u]+=f[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=dg(h[u],yf[u]),h[u]-=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),l--},c=function(h){for(u=3;u>=0;u--)h[u]-=f[h[(u+3)%4]&63]});var d=function(h){var m=[];for(u=0;u<4;u++){var g=i.getInt16Le();o!==null&&(r?g^=o.getInt16Le():o.putInt16Le(g)),m.push(g&65535)}l=r?0:63;for(var y=0;y<h.length;y++)for(var x=0;x<h[y][0];x++)h[y][1](m);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},p=null;return p={start:function(h,m){h&&typeof h=="string"&&(h=ot.util.createBuffer(h)),n=!1,i=ot.util.createBuffer(),s=m||new ot.util.createBuffer,o=h,p.output=s},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var m=!0;if(r)if(h)m=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(m&&(n=!0,p.update()),!r&&(m=i.length()===0,m))if(h)m=h(8,s,!r);else{var y=s.length(),x=s.at(y-1);x>y?m=!1:s.truncate(x)}return m}},p};ot.rc2.startEncrypting=function(t,e,r){var n=ot.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};ot.rc2.createEncryptionCipher=function(t,e){return xf(t,e,!0)};ot.rc2.startDecrypting=function(t,e,r){var n=ot.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};ot.rc2.createDecryptionCipher=function(t,e){return xf(t,e,!1)}});var hs=q((Rv,Cf)=>{var ga=fe();Cf.exports=ga.jsbn=ga.jsbn||{};var Jt,pg=0xdeadbeefcafe,Ef=(pg&16777215)==15715070;function C(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))}ga.jsbn.BigInteger=C;function ne(){return new C(null)}function mg(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function gg(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function vf(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(C.prototype.am=vf,Jt=28):Ef&&navigator.appName=="Microsoft Internet Explorer"?(C.prototype.am=gg,Jt=30):Ef&&navigator.appName!="Netscape"?(C.prototype.am=mg,Jt=26):(C.prototype.am=vf,Jt=28);C.prototype.DB=Jt;C.prototype.DM=(1<<Jt)-1;C.prototype.DV=1<<Jt;var ya=52;C.prototype.FV=Math.pow(2,ya);C.prototype.F1=ya-Jt;C.prototype.F2=2*Jt-ya;var yg="0123456789abcdefghijklmnopqrstuvwxyz",ls=new Array,bn,bt;bn=48;for(bt=0;bt<=9;++bt)ls[bn++]=bt;bn=97;for(bt=10;bt<36;++bt)ls[bn++]=bt;bn=65;for(bt=10;bt<36;++bt)ls[bn++]=bt;function _f(t){return yg.charAt(t)}function Sf(t,e){var r=ls[t.charCodeAt(e)];return r??-1}function xg(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 bg(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 yr(t){var e=ne();return e.fromInt(t),e}function wg(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,s=0;--n>=0;){var o=r==8?t[n]&255:Sf(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&t[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&C.ZERO.subTo(this,this)}function Eg(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function vg(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,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=_f(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=_f(n));return i?s:"0"}function _g(){var t=ne();return C.ZERO.subTo(this,t),t}function Sg(){return this.s<0?this.negate():this}function Ag(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 fs(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 Ig(){return this.t<=0?0:this.DB*(this.t-1)+fs(this.data[this.t-1]^this.s&this.DM)}function Rg(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 Cg(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 Tg(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function Bg(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,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function Lg(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 Dg(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&&C.ZERO.subTo(e,e)}function Pg(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 Ng(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=ne());var s=ne(),o=this.s,a=t.s,c=this.DB-fs(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),d=this.FV/f,p=(1<<this.F1)/f,h=1<<this.F2,m=r.t,g=m-u,y=e??ne();for(s.dlShiftTo(g,y),r.compareTo(y)>=0&&(r.data[r.t++]=1,r.subTo(y,r)),C.ONE.dlShiftTo(u,y),y.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--g>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*d+(r.data[m-1]+h)*p);if((r.data[m]+=s.am(0,x,r,g,0,u))<x)for(s.dlShiftTo(g,y),r.subTo(y,r);r.data[m]<--x;)r.subTo(y,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&C.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&C.ZERO.subTo(r,r)}}}function kg(t){var e=ne();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(C.ZERO)>0&&t.subTo(e,e),e}function Fr(t){this.m=t}function Og(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Mg(t){return t}function Ug(t){t.divRemTo(this.m,null,t)}function Fg(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Kg(t,e){t.squareTo(e),this.reduce(e)}Fr.prototype.convert=Og;Fr.prototype.revert=Mg;Fr.prototype.reduce=Ug;Fr.prototype.mulTo=Fg;Fr.prototype.sqrTo=Kg;function qg(){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 Kr(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 Vg(t){var e=ne();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(C.ZERO)>0&&this.m.subTo(e,e),e}function $g(t){var e=ne();return t.copyTo(e),this.reduce(e),e}function zg(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 Hg(t,e){t.squareTo(e),this.reduce(e)}function Gg(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Kr.prototype.convert=Vg;Kr.prototype.revert=$g;Kr.prototype.reduce=zg;Kr.prototype.mulTo=Gg;Kr.prototype.sqrTo=Hg;function Wg(){return(this.t>0?this.data[0]&1:this.s)==0}function Yg(t,e){if(t>4294967295||t<1)return C.ONE;var r=ne(),n=ne(),i=e.convert(this),s=fs(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function Qg(t,e){var r;return t<256||e.isEven()?r=new Fr(e):r=new Kr(e),this.exp(t,r)}C.prototype.copyTo=xg;C.prototype.fromInt=bg;C.prototype.fromString=wg;C.prototype.clamp=Eg;C.prototype.dlShiftTo=Rg;C.prototype.drShiftTo=Cg;C.prototype.lShiftTo=Tg;C.prototype.rShiftTo=Bg;C.prototype.subTo=Lg;C.prototype.multiplyTo=Dg;C.prototype.squareTo=Pg;C.prototype.divRemTo=Ng;C.prototype.invDigit=qg;C.prototype.isEven=Wg;C.prototype.exp=Yg;C.prototype.toString=vg;C.prototype.negate=_g;C.prototype.abs=Sg;C.prototype.compareTo=Ag;C.prototype.bitLength=Ig;C.prototype.mod=kg;C.prototype.modPowInt=Qg;C.ZERO=yr(0);C.ONE=yr(1);function Xg(){var t=ne();return this.copyTo(t),t}function Zg(){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 jg(){return this.t==0?this.s:this.data[0]<<24>>24}function Jg(){return this.t==0?this.s:this.data[0]<<16>>16}function ey(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function ty(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function ry(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=yr(r),i=ne(),s=ne(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function ny(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=Sf(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&C.ZERO.subTo(this,this)}function iy(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(C.ONE.shiftLeft(t-1),xa,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(C.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 sy(){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 oy(t){return this.compareTo(t)==0}function ay(t){return this.compareTo(t)<0?this:t}function cy(t){return this.compareTo(t)>0?this:t}function uy(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;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 ly(t,e){return t&e}function fy(t){var e=ne();return this.bitwiseTo(t,ly,e),e}function xa(t,e){return t|e}function hy(t){var e=ne();return this.bitwiseTo(t,xa,e),e}function Af(t,e){return t^e}function dy(t){var e=ne();return this.bitwiseTo(t,Af,e),e}function If(t,e){return t&~e}function py(t){var e=ne();return this.bitwiseTo(t,If,e),e}function my(){for(var t=ne(),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 gy(t){var e=ne();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function yy(t){var e=ne();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function xy(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 by(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+xy(this.data[t]);return this.s<0?this.t*this.DB:-1}function wy(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function Ey(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=wy(this.data[r]^e);return t}function vy(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function _y(t,e){var r=C.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function Sy(t){return this.changeBit(t,xa)}function Ay(t){return this.changeBit(t,If)}function Iy(t){return this.changeBit(t,Af)}function Ry(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 Cy(t){var e=ne();return this.addTo(t,e),e}function Ty(t){var e=ne();return this.subTo(t,e),e}function By(t){var e=ne();return this.multiplyTo(t,e),e}function Ly(t){var e=ne();return this.divRemTo(t,e,null),e}function Dy(t){var e=ne();return this.divRemTo(t,null,e),e}function Py(t){var e=ne(),r=ne();return this.divRemTo(t,e,r),new Array(e,r)}function Ny(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function ky(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 di(){}function Rf(t){return t}function Oy(t,e,r){t.multiplyTo(e,r)}function My(t,e){t.squareTo(e)}di.prototype.convert=Rf;di.prototype.revert=Rf;di.prototype.mulTo=Oy;di.prototype.sqrTo=My;function Uy(t){return this.exp(t,new di)}function Fy(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 Ky(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 wn(t){this.r2=ne(),this.q3=ne(),C.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function qy(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=ne();return t.copyTo(e),this.reduce(e),e}function Vy(t){return t}function $y(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 zy(t,e){t.squareTo(e),this.reduce(e)}function Hy(t,e,r){t.multiplyTo(e,r),this.reduce(r)}wn.prototype.convert=qy;wn.prototype.revert=Vy;wn.prototype.reduce=$y;wn.prototype.mulTo=Hy;wn.prototype.sqrTo=zy;function Gy(t,e){var r=t.bitLength(),n,i=yr(1),s;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?s=new Fr(e):e.isEven()?s=new wn(e):s=new Kr(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=ne();for(s.sqrTo(o[1],l);a<=u;)o[a]=ne(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,d,p=!0,h=ne(),m;for(r=fs(t.data[f])-1;f>=0;){for(r>=c?d=t.data[f]>>r-c&u:(d=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(d|=t.data[f-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)o[d].copyTo(i),p=!1;else{for(;a>1;)s.sqrTo(i,h),s.sqrTo(h,i),a-=2;a>0?s.sqrTo(i,h):(m=i,i=h,h=m),s.mulTo(h,o[d],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,h),m=i,i=h,h=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function Wy(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(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,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 s>0&&r.lShiftTo(s,r),r}function Yy(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 Qy(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return C.ZERO;for(var r=t.clone(),n=this.clone(),i=yr(1),s=yr(0),o=yr(0),a=yr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(C.ONE)!=0)return C.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 Rt=[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],Xy=(1<<26)/Rt[Rt.length-1];function Zy(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Rt[Rt.length-1]){for(e=0;e<Rt.length;++e)if(r.data[0]==Rt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Rt.length;){for(var n=Rt[e],i=e+1;i<Rt.length&&n<Xy;)n*=Rt[i++];for(n=r.modInt(n);e<i;)if(n%Rt[e++]==0)return!1}return r.millerRabin(t)}function jy(t){var e=this.subtract(C.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Jy(),s,o=0;o<t;++o){do s=new C(this.bitLength(),i);while(s.compareTo(C.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(C.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(C.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function Jy(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}C.prototype.chunkSize=ey;C.prototype.toRadix=ry;C.prototype.fromRadix=ny;C.prototype.fromNumber=iy;C.prototype.bitwiseTo=uy;C.prototype.changeBit=_y;C.prototype.addTo=Ry;C.prototype.dMultiply=Ny;C.prototype.dAddOffset=ky;C.prototype.multiplyLowerTo=Fy;C.prototype.multiplyUpperTo=Ky;C.prototype.modInt=Yy;C.prototype.millerRabin=jy;C.prototype.clone=Xg;C.prototype.intValue=Zg;C.prototype.byteValue=jg;C.prototype.shortValue=Jg;C.prototype.signum=ty;C.prototype.toByteArray=sy;C.prototype.equals=oy;C.prototype.min=ay;C.prototype.max=cy;C.prototype.and=fy;C.prototype.or=hy;C.prototype.xor=dy;C.prototype.andNot=py;C.prototype.not=my;C.prototype.shiftLeft=gy;C.prototype.shiftRight=yy;C.prototype.getLowestSetBit=by;C.prototype.bitCount=Ey;C.prototype.testBit=vy;C.prototype.setBit=Sy;C.prototype.clearBit=Ay;C.prototype.flipBit=Iy;C.prototype.add=Cy;C.prototype.subtract=Ty;C.prototype.multiply=By;C.prototype.divide=Ly;C.prototype.remainder=Dy;C.prototype.divideAndRemainder=Py;C.prototype.modPow=Gy;C.prototype.modInverse=Qy;C.prototype.pow=Uy;C.prototype.gcd=Wy;C.prototype.isProbablePrime=Zy});var Pf=q((Cv,Df)=>{var qt=fe();Ur();Te();var Bf=Df.exports=qt.sha1=qt.sha1||{};qt.md.sha1=qt.md.algorithms.sha1=Bf;Bf.create=function(){Lf||ex();var t=null,e=qt.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,s=0;s<i;++s)n.fullMessageLength.push(0);return e=qt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=qt.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),Tf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=qt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(ba.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};Tf(f,r,i);var d=qt.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var ba=null,Lf=!1;function ex(){ba="\x80",ba+=qt.util.fillString("\0",64),Lf=!0}function Tf(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var Of=q((Tv,kf)=>{var Vt=fe();Te();hi();Pf();var Nf=kf.exports=Vt.pkcs1=Vt.pkcs1||{};Nf.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=Vt.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.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=""),s.update(n,"raw");for(var l=s.digest(),f="",d=c-e.length,p=0;p<d;p++)f+="\0";var h=l.getBytes()+f+""+e;if(!i)i=Vt.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var m=ds(i,a-s.digestLength-1,o),g=Vt.util.xorBytes(h,m,h.length),y=ds(g,s.digestLength,o),x=Vt.util.xorBytes(i,y,i.length);return"\0"+x+g};Nf.decode_rsa_oaep=function(t,e,r){var n,i,s;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&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=e.length,g.expectedLength=o,g}if(i===void 0?i=Vt.md.sha1.create():i.start(),s||(s=i),o<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),l=e.substring(1+i.digestLength),f=ds(l,i.digestLength,s),d=Vt.util.xorBytes(u,f,u.length),p=ds(d,o-i.digestLength-1,s),h=Vt.util.xorBytes(l,p,l.length),m=h.substring(0,i.digestLength),g=c!=="\0",y=0;y<i.digestLength;++y)g|=a.charAt(y)!==m.charAt(y);for(var x=1,b=i.digestLength,I=i.digestLength;I<h.length;I++){var v=h.charCodeAt(I),_=v&1^1,D=x?65534:0;g|=v&D,x=x&_,b+=x}if(g||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function ds(t,e,r){r||(r=Vt.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var Mf=q((Bv,wa)=>{var xr=fe();Te();hs();hi();(function(){if(xr.prime){wa.exports=xr.prime;return}var t=wa.exports=xr.prime=xr.prime||{},e=xr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,d){return f|d};t.generateProbablePrime=function(f,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var m=d.prng||xr.random,g={nextBytes:function(y){for(var x=m.getBytesSync(y.length),b=0;b<y.length;++b)y[b]=x.charCodeAt(b)}};if(h.name==="PRIMEINC")return s(f,g,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function s(f,d,p,h){return"workers"in p?c(f,d,p,h):o(f,d,p,h)}function o(f,d,p,h){var m=u(f,d),g=0,y=l(m.bitLength());"millerRabinTests"in p&&(y=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,d,g,y,x,h)}function a(f,d,p,h,m,g,y){var x=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(m))return y(null,f);f.dAddOffset(r[h++%8],0)}while(g<0||+new Date-x<g);xr.util.setImmediate(function(){a(f,d,p,h,m,g,y)})}function c(f,d,p,h){if(typeof Worker>"u")return o(f,d,p,h);var m=u(f,d),g=p.workers,y=p.workLoad||100,x=y*30/8,b=p.workerScript||"forge/prime.worker.js";if(g===-1)return xr.util.estimateCores(function(v,_){v&&(_=2),g=_-1,I()});I();function I(){g=Math.max(1,g);for(var v=[],_=0;_<g;++_)v[_]=new Worker(b);for(var D=g,_=0;_<g;++_)v[_].addEventListener("message",H);var P=!1;function H(G){if(!P){--D;var $=G.data;if($.found){for(var J=0;J<v.length;++J)v[J].terminate();return P=!0,h(null,new e($.prime,16))}m.bitLength()>f&&(m=u(f,d));var le=m.toString(16);G.target.postMessage({hex:le,workLoad:y}),m.dAddOffset(x,0)}}}}function u(f,d){var p=new e(f,d),h=f-1;return p.testBit(h)||p.bitwiseTo(e.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var ms=q((Lv,zf)=>{var V=fe();li();hs();es();Of();Mf();hi();Te();typeof re>"u"&&(re=V.jsbn.BigInteger);var re,Ea=V.util.isNodejs?fi():null,E=V.asn1,wt=V.util;V.pki=V.pki||{};zf.exports=V.pki.rsa=V.rsa=V.rsa||{};var W=V.pki,tx=[6,4,2,4,2,4,6,2],rx={name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},nx={name:"RSAPrivateKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},ix={name:"RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},sx=V.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},ox={name:"DigestInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},ax=function(t){var e;if(t.algorithm in W.oids)e=W.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=E.oidToDer(e).getBytes(),i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]),s=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]);s.value.push(E.create(E.Class.UNIVERSAL,E.Type.OID,!1,n)),s.value.push(E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,""));var o=E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),E.toDer(i).getBytes()},Vf=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(re.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(re.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new re(V.util.bytesToHex(V.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(re.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),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};W.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=$f(t,e,r)):(i=V.util.createBuffer(),i.putBytes(t));for(var o=new re(i.toHex(),16),a=Vf(o,e,n),c=a.toString(16),u=V.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(V.util.hexToBytes(c)),u.getBytes()};W.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new re(V.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Vf(o,e,r),c=a.toString(16),u=V.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(V.util.hexToBytes(c)),n!==!1?ps(u.getBytes(),e,r):u.getBytes()};W.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||V.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new re(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};W.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new re(null);r.fromInt(30);for(var n=0,i=function(f,d){return f|d},s=+new Date,o,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 re(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(re.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(ux(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(tx[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(re.ONE).gcd(t.e).compareTo(re.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(re.ONE),t.q1=t.q.subtract(re.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(re.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 l=t.e.modInverse(t.phi);t.keys={privateKey:W.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:W.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};W.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),!V.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(Uf("generateKeyPair"))return Ea.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:W.privateKeyFromPem(u),publicKey:W.publicKeyFromPem(c)})});if(Ff("generateKey")&&Ff("exportKey"))return wt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:qf(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return wt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=W.privateKeyFromAsn1(E.fromDer(V.util.createBuffer(a)));n(null,{privateKey:c,publicKey:W.setRsaPublicKey(c.n,c.e)})}});if(Kf("generateKey")&&Kf("exportKey")){var i=wt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:qf(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=wt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=W.privateKeyFromAsn1(E.fromDer(V.util.createBuffer(f)));n(null,{privateKey:d,publicKey:W.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(Uf("generateKeyPairSync")){var s=Ea.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:W.privateKeyFromPem(s.privateKey),publicKey:W.publicKeyFromPem(s.publicKey)}}}var o=W.rsa.createKeyPairGenerationState(t,e,r);if(!n)return W.rsa.stepKeyPairGenerationState(o,0),o.keys;cx(o,r,n)};W.setRsaPublicKey=W.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){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 $f(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return V.pkcs1.encode_rsa_oaep(c,a,s)}};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 o=i.encode(n,r,!0);return W.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=ps(u,r,!0);var l=E.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},d=[];if(!E.validate(l,ox,f,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=E.derToOid(f.algorithmIdentifier);if(!(h===V.oids.md2||h===V.oids.md5||h===V.oids.sha1||h===V.oids.sha224||h===V.oids.sha256||h===V.oids.sha384||h===V.oids.sha512||h===V.oids["sha512-224"]||h===V.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===V.oids.md2||h===V.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=ps(u,r,!0),c===u}});var a=W.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};W.setRsaPrivateKey=W.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var d=W.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:ps};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,h){return V.pkcs1.decode_rsa_oaep(h,p,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(d,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:ax},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return W.rsa.encrypt(d,c,f)},c};W.wrapRsaPrivateKey=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(W.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,E.toDer(t).getBytes())])};W.privateKeyFromAsn1=function(t){var e={},r=[];if(E.validate(t,rx,e,r)&&(t=E.fromDer(V.util.createBuffer(e.privateKey))),e={},r=[],!E.validate(t,nx,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,s,o,a,c,u,l,f;return i=V.util.createBuffer(e.privateKeyModulus).toHex(),s=V.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=V.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=V.util.createBuffer(e.privateKeyPrime1).toHex(),c=V.util.createBuffer(e.privateKeyPrime2).toHex(),u=V.util.createBuffer(e.privateKeyExponent1).toHex(),l=V.util.createBuffer(e.privateKeyExponent2).toHex(),f=V.util.createBuffer(e.privateKeyCoefficient).toHex(),W.setRsaPrivateKey(new re(i,16),new re(s,16),new re(o,16),new re(a,16),new re(c,16),new re(u,16),new re(l,16),new re(f,16))};W.privateKeyToAsn1=W.privateKeyToRSAPrivateKey=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,$t(t.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,$t(t.e)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,$t(t.d)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,$t(t.p)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,$t(t.q)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,$t(t.dP)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,$t(t.dQ)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,$t(t.qInv))])};W.publicKeyFromAsn1=function(t){var e={},r=[];if(E.validate(t,sx,e,r)){var n=E.derToOid(e.publicKeyOid);if(n!==W.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!E.validate(t,ix,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=V.util.createBuffer(e.publicKeyModulus).toHex(),o=V.util.createBuffer(e.publicKeyExponent).toHex();return W.setRsaPublicKey(new re(s,16),new re(o,16))};W.publicKeyToAsn1=W.publicKeyToSubjectPublicKeyInfo=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(W.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.BITSTRING,!1,[W.publicKeyToRSAPublicKey(t)])])};W.publicKeyToRSAPublicKey=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,$t(t.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,$t(t.e))])};function $f(t,e,r){var n=V.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=V.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function ps(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=V.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==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(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function cx(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(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){V.prime.generateProbablePrime(a,n,c)}function o(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(re.ONE).gcd(t.e).compareTo(re.ONE)!==0){t.p=null,i();return}if(t.q.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(re.ONE),t.q1=t.q.subtract(re.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(re.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,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:W.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:W.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function $t(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=V.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 ux(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 Uf(t){return V.util.isNodejs&&typeof Ea[t]=="function"}function Ff(t){return typeof wt.globalScope<"u"&&typeof wt.globalScope.crypto=="object"&&typeof wt.globalScope.crypto.subtle=="object"&&typeof wt.globalScope.crypto.subtle[t]=="function"}function Kf(t){return typeof wt.globalScope<"u"&&typeof wt.globalScope.msCrypto=="object"&&typeof wt.globalScope.msCrypto.subtle=="object"&&typeof wt.globalScope.msCrypto.subtle[t]=="function"}function qf(t){for(var e=V.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Xf=q((Dv,Qf)=>{var M=fe();ha();li();Jl();Ur();es();sf();cf();hi();wf();ms();Te();typeof Hf>"u"&&(Hf=M.jsbn.BigInteger);var Hf,A=M.asn1,Y=M.pki=M.pki||{};Qf.exports=Y.pbe=M.pbe=M.pbe||{};var qr=Y.oids,lx={name:"EncryptedPrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",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:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},fx={name:"PBES2Algorithms",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},hx={name:"pkcs-12PbeParams",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"iterations"}]};Y.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=M.random.getBytesSync(r.saltSize),i=r.count,s=A.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=qr["aes128-CBC"],f=M.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=qr["aes192-CBC"],f=M.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=qr["aes256-CBC"],f=M.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=qr.desCBC,f=M.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=Yf(p),m=M.pkcs5.pbkdf2(e,n,i,o,h),g=M.random.getBytesSync(u),y=f(m);y.start(g),y.update(A.toDer(t)),y.finish(),c=y.output.getBytes();var x=dx(n,s,o,p);a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(qr.pkcs5PBES2).getBytes()),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(qr.pkcs5PBKDF2).getBytes()),x]),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(l).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){o=24;var b=new M.util.ByteBuffer(n),m=Y.pbe.generatePkcs12Key(e,b,1,i,o),g=Y.pbe.generatePkcs12Key(e,b,2,i,o),y=M.des.createEncryptionCipher(m);y.start(g),y.update(A.toDer(t)),y.finish(),c=y.output.getBytes(),a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(qr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,n),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,s.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var I=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[a,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,c)]);return I};Y.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!A.validate(t,lx,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=A.derToOid(n.encryptionOid),a=Y.pbe.getCipher(o,n.encryptionParams,e),c=M.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=A.fromDer(a.output)),r};Y.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(t).getBytes()};return M.pem.encode(r,{maxline:e})};Y.encryptedPrivateKeyFromPem=function(t){var e=M.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 A.fromDer(e.body)};Y.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Y.wrapRsaPrivateKey(Y.privateKeyToAsn1(t));return n=Y.encryptPrivateKeyInfo(n,e,r),Y.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=M.random.getBytesSync(8),a=M.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=M.random.getBytesSync(8),a=M.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=M.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(A.toDer(Y.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:M.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return M.pem.encode(f)};Y.decryptRsaPrivateKey=function(t,e){var r=null,n=M.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 s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=M.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=M.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=M.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=M.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=M.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return M.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return M.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return M.rc2.createDecryptionCipher(f,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=M.util.hexToBytes(n.dekInfo.parameters),c=M.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(M.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Y.decryptPrivateKeyInfo(A.fromDer(r),e):r=A.fromDer(r),r!==null&&(r=Y.privateKeyFromAsn1(r)),r};Y.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in M.md))throw new Error('"sha1" hash algorithm unavailable.');s=M.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new M.util.ByteBuffer,f=new M.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var d=f.length(),p=e.length(),h=new M.util.ByteBuffer;h.fillWithByte(r,u);var m=u*Math.ceil(p/u),g=new M.util.ByteBuffer;for(a=0;a<m;a++)g.putByte(e.at(a%p));var y=u*Math.ceil(d/u),x=new M.util.ByteBuffer;for(a=0;a<y;a++)x.putByte(f.at(a%d));var b=g;b.putBuffer(x);for(var I=Math.ceil(i/c),v=1;v<=I;v++){var _=new M.util.ByteBuffer;_.putBytes(h.bytes()),_.putBytes(b.bytes());for(var D=0;D<n;D++)s.start(),s.update(_.getBytes()),_=s.digest();var P=new M.util.ByteBuffer;for(a=0;a<u;a++)P.putByte(_.at(a%c));var H=Math.ceil(p/u)+Math.ceil(d/u),G=new M.util.ByteBuffer;for(o=0;o<H;o++){var $=new M.util.ByteBuffer(b.getBytes(u)),J=511;for(a=P.length()-1;a>=0;a--)J=J>>8,J+=P.at(a)+$.at(a),$.setAt(a,J&255);G.putBuffer($)}b=G,l.putBuffer(_)}return l.truncate(l.length()-i),l};Y.pbe.getCipher=function(t,e,r){switch(t){case Y.oids.pkcs5PBES2:return Y.pbe.getCipherForPBES2(t,e,r);case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:return Y.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}};Y.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!A.validate(e,fx,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=A.derToOid(n.kdfOid),t!==Y.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=A.derToOid(n.encOid),t!==Y.oids["aes128-CBC"]&&t!==Y.oids["aes192-CBC"]&&t!==Y.oids["aes256-CBC"]&&t!==Y.oids["des-EDE3-CBC"]&&t!==Y.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=M.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Y.oids[t]){case"aes128-CBC":c=16,u=M.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=M.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=M.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=M.des.createDecryptionCipher;break;case"desCBC":c=8,u=M.des.createDecryptionCipher;break}var l=Wf(n.prfOid),f=M.pkcs5.pbkdf2(r,o,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};Y.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!A.validate(e,hx,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=M.util.createBuffer(n.salt),a=M.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=M.des.startDecrypting;break;case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,g){var y=M.rc2.createDecryptionCipher(m,40);return y.start(g,null),y};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=Wf(n.prfOid),d=Y.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=Y.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(d,p)};Y.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in M.md))throw new Error('"md5" hash algorithm unavailable.');n=M.md.md5.create()}e===null&&(e="");for(var i=[Gf(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(Gf(n,i[o-1]+t+e));return i.join("").substr(0,r)};function Gf(t,e){return t.start().update(e).digest().getBytes()}function Wf(t){var e;if(!t)e="hmacWithSHA1";else if(e=Y.oids[A.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Yf(e)}function Yf(t){var e=M.md;switch(t){case"hmacWithSHA224":e=M.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 dx(t,e,r,n){var i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,t),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,M.util.hexToBytes(r.toString(16))),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Y.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var fh=q((RI,lh)=>{var me=fe();Ur();Te();var Ai=lh.exports=me.sha512=me.sha512||{};me.md.sha512=me.md.algorithms.sha512=Ai;var ch=me.sha384=me.sha512.sha384=me.sha512.sha384||{};ch.create=function(){return Ai.create("SHA-384")};me.md.sha384=me.md.algorithms.sha384=ch;me.sha512.sha256=me.sha512.sha256||{create:function(){return Ai.create("SHA-512/256")}};me.md["sha512/256"]=me.md.algorithms["sha512/256"]=me.sha512.sha256;me.sha512.sha224=me.sha512.sha224||{create:function(){return Ai.create("SHA-512/224")}};me.md["sha512/224"]=me.md.algorithms["sha512/224"]=me.sha512.sha224;Ai.create=function(t){if(uh||U2(),typeof t>"u"&&(t="SHA-512"),!(t in jr))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=jr[t],r=null,n=me.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:o,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=me.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=me.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),ah(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=me.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Bc.substr(0,a.blockLength-l));for(var f,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)f=a.fullMessageLength[h+1]*8,d=f/4294967296>>>0,p+=d,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var m=new Array(r.length),h=0;h<r.length;++h)m[h]=r[h].slice(0);ah(m,i,c);var g=me.util.createBuffer(),y;t==="SHA-512"?y=m.length:t==="SHA-384"?y=m.length-2:y=m.length-4;for(var h=0;h<y;++h)g.putInt32(m[h][0]),(h!==y-1||t!=="SHA-512/224")&&g.putInt32(m[h][1]);return g},a};var Bc=null,uh=!1,Lc=null,jr=null;function U2(){Bc="\x80",Bc+=me.util.fillString("\0",128),Lc=[[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]],jr={},jr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],jr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],jr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],jr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],uh=!0}function ah(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x,b,I,v,_,D,P,H,G,$,J,le,Ve,T,k,L,N,R,U,K,z=r.length();z>=128;){for(T=0;T<16;++T)e[T][0]=r.getInt32()>>>0,e[T][1]=r.getInt32()>>>0;for(;T<80;++T)N=e[T-2],k=N[0],L=N[1],n=((k>>>19|L<<13)^(L>>>29|k<<3)^k>>>6)>>>0,i=((k<<13|L>>>19)^(L<<3|k>>>29)^(k<<26|L>>>6))>>>0,U=e[T-15],k=U[0],L=U[1],s=((k>>>1|L<<31)^(k>>>8|L<<24)^k>>>7)>>>0,o=((k<<31|L>>>1)^(k<<24|L>>>8)^(k<<25|L>>>7))>>>0,R=e[T-7],K=e[T-16],L=i+R[1]+o+K[1],e[T][0]=n+R[0]+s+K[0]+(L/4294967296>>>0)>>>0,e[T][1]=L>>>0;for(m=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],_=t[3][1],D=t[4][0],P=t[4][1],H=t[5][0],G=t[5][1],$=t[6][0],J=t[6][1],le=t[7][0],Ve=t[7][1],T=0;T<80;++T)u=((D>>>14|P<<18)^(D>>>18|P<<14)^(P>>>9|D<<23))>>>0,l=((D<<18|P>>>14)^(D<<14|P>>>18)^(P<<23|D>>>9))>>>0,f=($^D&(H^$))>>>0,d=(J^P&(G^J))>>>0,a=((m>>>28|g<<4)^(g>>>2|m<<30)^(g>>>7|m<<25))>>>0,c=((m<<4|g>>>28)^(g<<30|m>>>2)^(g<<25|m>>>7))>>>0,p=(m&y|b&(m^y))>>>0,h=(g&x|I&(g^x))>>>0,L=Ve+l+d+Lc[T][1]+e[T][1],n=le+u+f+Lc[T][0]+e[T][0]+(L/4294967296>>>0)>>>0,i=L>>>0,L=c+h,s=a+p+(L/4294967296>>>0)>>>0,o=L>>>0,le=$,Ve=J,$=H,J=G,H=D,G=P,L=_+i,D=v+n+(L/4294967296>>>0)>>>0,P=L>>>0,v=b,_=I,b=y,I=x,y=m,x=g,L=i+o,m=n+s+(L/4294967296>>>0)>>>0,g=L>>>0;L=t[0][1]+g,t[0][0]=t[0][0]+m+(L/4294967296>>>0)>>>0,t[0][1]=L>>>0,L=t[1][1]+x,t[1][0]=t[1][0]+y+(L/4294967296>>>0)>>>0,t[1][1]=L>>>0,L=t[2][1]+I,t[2][0]=t[2][0]+b+(L/4294967296>>>0)>>>0,t[2][1]=L>>>0,L=t[3][1]+_,t[3][0]=t[3][0]+v+(L/4294967296>>>0)>>>0,t[3][1]=L>>>0,L=t[4][1]+P,t[4][0]=t[4][0]+D+(L/4294967296>>>0)>>>0,t[4][1]=L>>>0,L=t[5][1]+G,t[5][0]=t[5][0]+H+(L/4294967296>>>0)>>>0,t[5][1]=L>>>0,L=t[6][1]+J,t[6][0]=t[6][0]+$+(L/4294967296>>>0)>>>0,t[6][1]=L>>>0,L=t[7][1]+Ve,t[7][0]=t[7][0]+le+(L/4294967296>>>0)>>>0,t[7][1]=L>>>0,z-=128}}});var zc=q((V4,Uh)=>{var Mn=1e3,Un=Mn*60,Fn=Un*60,tn=Fn*24,fb=tn*7,hb=tn*365.25;Uh.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return db(t);if(r==="number"&&isFinite(t))return e.long?mb(t):pb(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function db(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*hb;case"weeks":case"week":case"w":return r*fb;case"days":case"day":case"d":return r*tn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Fn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Un;case"seconds":case"second":case"secs":case"sec":case"s":return r*Mn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function pb(t){var e=Math.abs(t);return e>=tn?Math.round(t/tn)+"d":e>=Fn?Math.round(t/Fn)+"h":e>=Un?Math.round(t/Un)+"m":e>=Mn?Math.round(t/Mn)+"s":t+"ms"}function mb(t){var e=Math.abs(t);return e>=tn?qs(t,e,tn,"day"):e>=Fn?qs(t,e,Fn,"hour"):e>=Un?qs(t,e,Un,"minute"):e>=Mn?qs(t,e,Mn,"second"):t+" ms"}function qs(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Kh=q(($4,Fh)=>{function gb(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=zc(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,d=null,p,h;function m(...g){if(!m.enabled)return;let y=m,x=Number(new Date),b=x-(f||x);y.diff=b,y.prev=f,y.curr=x,f=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,(_,D)=>{if(_==="%%")return"%";I++;let P=r.formatters[D];if(typeof P=="function"){let H=g[I];_=P.call(y,H),g.splice(I,1),I--}return _}),r.formatArgs.call(y,g),(y.log||r.log).apply(y,g)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(l)),h),set:g=>{d=g}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let d=r(this.namespace+(typeof f>"u"?":":f)+l);return d.log=this.log,d}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,d=(typeof l=="string"?l:"").split(/[\s,]+/),p=d.length;for(f=0;f<p;f++)d[f]&&(l=d[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,d;for(f=0,d=r.skips.length;f<d;f++)if(r.skips[f].test(l))return!1;for(f=0,d=r.names.length;f<d;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Fh.exports=gb});var Hc=q((gt,Vs)=>{gt.formatArgs=xb;gt.save=bb;gt.load=wb;gt.useColors=yb;gt.storage=Eb();gt.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`."))}})();gt.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 yb(){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 xb(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Vs.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)}gt.log=console.debug||console.log||(()=>{});function bb(t){try{t?gt.storage.setItem("debug",t):gt.storage.removeItem("debug")}catch{}}function wb(){let t;try{t=gt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Eb(){try{return localStorage}catch{}}Vs.exports=Kh()(gt);var{formatters:vb}=Vs.exports;vb.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var xd=q((lT,pu)=>{"use strict";var iw=Object.prototype.hasOwnProperty,st="~";function Ui(){}Object.create&&(Ui.prototype=Object.create(null),new Ui().__proto__||(st=!1));function sw(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function yd(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new sw(r,n||t,i),o=st?st+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function to(t,e){--t._eventsCount===0?t._events=new Ui:delete t._events[e]}function rt(){this._events=new Ui,this._eventsCount=0}rt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)iw.call(r,n)&&e.push(st?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};rt.prototype.listeners=function(e){var r=st?st+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};rt.prototype.listenerCount=function(e){var r=st?st+e:e,n=this._events[r];return n?n.fn?1:n.length:0};rt.prototype.emit=function(e,r,n,i,s,o){var a=st?st+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;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,s),!0;case 6:return c.fn.call(c.context,r,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var d=c.length,p;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];c[f].fn.apply(c[f].context,l)}}return!0};rt.prototype.on=function(e,r,n){return yd(this,e,r,n,!1)};rt.prototype.once=function(e,r,n){return yd(this,e,r,n,!0)};rt.prototype.removeListener=function(e,r,n,i){var s=st?st+e:e;if(!this._events[s])return this;if(!r)return to(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&to(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:to(this,s)}return this};rt.prototype.removeAllListeners=function(e){var r;return e?(r=st?st+e:e,this._events[r]&&to(this,r)):(this._events=new Ui,this._eventsCount=0),this};rt.prototype.off=rt.prototype.removeListener;rt.prototype.addListener=rt.prototype.on;rt.prefixed=st;rt.EventEmitter=rt;typeof pu<"u"&&(pu.exports=rt)});var Lu=q((T3,Dd)=>{"use strict";function Ld(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function vw(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 Ld(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Ld(new i,r)}}Dd.exports=vw});var Md=q(Vi=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,d;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,d=c&255,[u,l,f,d].join(".")},o=function(c){var u,l,f,d,p,h;for(u=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),p=h[0],l=h[1],c=c.substring(l),u.push(p)}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"),s=r("a"),i=r("A"),e=function(c){var u,l,f,d,p;for(d=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),p=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)d=d*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")d=d*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*u+(10+r(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[d,f]},t=function(){function c(u,l){var f,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(h=u.split("/",2),u=h[0],l=h[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);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):(o(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 l,f,d;for(d=o(this.first),f=o(this.last),l=0;d<=f;)u(a(d),d,l),l++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Vi.ip2long=o,Vi.long2ip=a,Vi.Netmask=t}).call(Vi)});var qd=q((Kd,mo)=>{(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"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,g=-1,y=(p.match(a.zoneIndex)||[])[0],x,b;for(y&&(y=y.substring(1),p=p.replace(/%.+$/,""));(g=p.indexOf(":",g+1))>=0;)m++;if(p.substr(0,2)==="::"&&m--,p.substr(-2,2)==="::"&&m--,m>h)return null;for(b=h-m,x=":";b--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let I=p.split(":"),v=[];for(let _=0;_<I.length;_++)v.push(parseInt(I[_],16));return v}(),{parts:h,zoneId:y}}function u(p,h,m,g){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let y=0,x;for(;g>0;){if(x=m-g,x<0&&(x=0),p[y]>>x!==h[y]>>x)return!1;g-=m,y+=1}return!0}function l(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function f(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,g;for(m=0;m<h.length;m++)if(g=h[m],!(0<=g&&g<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,18,0,0]),15],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,m){let g;if(m===void 0&&(g=h,h=g[0],m=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!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],m&&b!==0)return null;b!==8&&(m=!0),h+=b}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<4;)y.push(parseInt(m[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")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,m,g,y,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],m=0;m<4;)y.push(parseInt(g[m],10)&parseInt(x[m],10)),m++;return new this(y)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let m=parseInt(h[2]);if(m>=0&&m<=32){let g=[this.parse(h[1]),m];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,m,g;if(h=p.match(r.fourOctet))return function(){let y=h.slice(1,6),x=[];for(let b=0;b<y.length;b++)m=y[b],x.push(l(m));return x}();if(h=p.match(r.longValue)){if(g=l(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=p.match(r.twoOctet))?function(){let y=h.slice(1,4),x=[];if(g=l(y[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return x.push(l(y[0])),x.push(g>>16&255),x.push(g>>8&255),x.push(g&255),x}():(h=p.match(r.threeOctet))?function(){let y=h.slice(1,5),x=[];if(g=l(y[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return x.push(l(y[0])),x.push(l(y[1])),x.push(g>>8&255),x.push(g&255),x}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],m=0,g=Math.floor(p/8);for(;m<g;)h[m]=255,m++;return g<4&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,m){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");m&&(this.zoneId=m)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new p([8193,2,0,0,0,0,0,0]),48],amt:[new p([8193,3,0,0,0,0,0,0]),32],as112v6:[new p([8193,4,274,0,0,0,0,0]),48],deprecated:[new p([8193,16,0,0,0,0,0,0]),28],orchid2:[new p([8193,32,0,0,0,0,0,0]),28]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,m){let g;if(m===void 0&&(g=h,h=g[0],m=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!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],m&&x!==0)return null;x!==16&&(m=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,m=[],g=this.parts;for(let y=0;y<g.length;y++)h=g[y],m.push(h>>8),m.push(h&255);return m},p.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(f(this.parts[y].toString(16),4));return g}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.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),m=h[0],g=h[1];return new d.IPv4([m>>8,m&255,g>>8,g&255])},p.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(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),g=0,y=-1,x;for(;x=h.exec(m);)x[0].length>y&&(g=x.index,y=x[0].length);return y<0?m:`${m.substring(0,g)}::${m.substring(g+y)}`},p.prototype.toString=function(){return this.toRFC5952String()},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<16;)y.push(parseInt(m[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})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,m,g,y,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],m=0;m<16;)y.push(parseInt(g[m],10)&parseInt(x[m],10)),m++;return new this(y)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,m,g;if((m=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(m[2]),h>=0&&h<=128))return g=[this.parse(m[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")},d.IPv6.parser=function(p){let h,m,g,y,x,b;if(g=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(p))return c(p,8);if((g=p.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])],m=0;m<x.length;m++)if(y=x[m],!(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},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>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],m=0,g=Math.floor(p/8);for(;m<g;)h[m]=255,m++;return g<16&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,m){let g,y,x,b;m==null&&(m="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],p.kind()===b[0].kind()&&p.match.apply(p,b))return y}return m},typeof mo<"u"&&mo.exports?mo.exports=d:t.ipaddr=d})(Kd)});var ip=q((AB,np)=>{"use strict";np.exports=rp;var $w=zc(),Nr=rp.prototype,zw=new Date%1e9;function Hw(){return(Math.random()*1e9>>>0)+zw++}function rp(t){t=t||{},this.id=t.id||Hw(),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)}Nr.has=function(t){return t in this._lookup};Nr.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};Nr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Nr.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};Nr.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};Nr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=$w(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};Nr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Nr.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 up=q((DB,cp)=>{"use strict";cp.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var mp=q((dp,pp)=>{"use strict";var _o=up(),{hasOwnProperty:fp}=Object.prototype,{propertyIsEnumerable:Yw}=Object,jn=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),Qw=dp,lp={concatArrays:!1,ignoreUndefined:!1},So=t=>{let e=[];for(let r in t)fp.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)Yw.call(t,n)&&e.push(n)}return e};function Jn(t){return Array.isArray(t)?Xw(t):_o(t)?Zw(t):t}function Xw(t){let e=t.slice(0,0);return So(t).forEach(r=>{jn(e,r,Jn(t[r]))}),e}function Zw(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return So(t).forEach(r=>{jn(e,r,Jn(t[r]))}),e}var hp=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?jn(t,i,Gu(t[i],e[i],n)):jn(t,i,Jn(e[i])))}),t),jw=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)fp.call(s,a)&&(o.push(String(a)),s===t?jn(n,i++,s[a]):jn(n,i++,Jn(s[a])));n=hp(n,s,So(s).filter(a=>!o.includes(a)),r)}),n};function Gu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?jw(t,e,r):!_o(e)||!_o(t)?Jn(e):hp(t,e,So(e),r)}pp.exports=function(...t){let e=Gu(Jn(lp),this!==Qw&&this||{},lp),r={_:{}};for(let n of t)if(n!==void 0){if(!_o(n))throw new TypeError("`"+n+"` is not an Option Object");r=Gu(r,{_:n},e)}return r._}});var Gi=q((VB,xp)=>{xp.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var wp=q((zB,bp)=>{bp.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var vp=q((HB,Ep)=>{var eE=wp();Ep.exports=eE});var xt=q((WB,_p)=>{_p.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var ei=q((QB,Ap)=>{var Wu=Gi(),tE=vp(),Sp=xt();Ap.exports=class extends Wu{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new tE}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof Wu?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof Wu))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new Sp(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new Sp(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var Rp=q((XB,Ip)=>{var rE=ei(),nE=xt(),Yu="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Qu=class extends rE{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage||this.client.constructor.name==="Commander"||!1,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Yu})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new nE;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}async _upsert(e,r,n,i=!1){if(!this._isRedisReady())throw new Error("Redis connection is not ready");let s=Math.floor(n/1e3),o=this.client.multi();return i?(s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.set(e,r,"EX",s):o.set(e,r,{EX:s}):o.set(e,r),!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.pttl(e).exec(!0):o.pTTL(e).exec(!0)):s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.rlflxIncr([e].concat([String(r),String(s)])):this.useRedis3AndLowerPackage?new Promise((a,c)=>{let u=function(l,f){return l?c(l):a(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,s,u):this.client.eval(Yu,1,e,r,s,u)}):this.client.eval(Yu,{keys:[e],arguments:[String(r),String(s)]}):!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.incrby(e,r).pttl(e).exec(!0):o.incrBy(e,r).pTTL(e).exec(!0)}async _get(e){if(!this._isRedisReady())throw new Error("Redis connection is not ready");return!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.multi().get(e).pttl(e).exec().then(r=>{let[[,n]]=r;return n===null?null:r}):this.client.multi().get(e).pTTL(e).exec(!0).then(r=>{let[n]=r;return n===null?null:r})}_delete(e){return this.client.del(e).then(r=>r>0)}};Ip.exports=Qu});var Bp=q((ZB,Tp)=>{var iE=ei(),sE=xt();function Cp(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var Xu=class t extends iE{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=Cp(this.client)}):(this._initCollection(),this._driverVersion=Cp(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?t.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new sE,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,o),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(d=>{l(d)}).catch(d=>{if(d&&d.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),h={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(p,h,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(g=>l(g)).catch(g=>f(g)):f(m)})}else f(d)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};Tp.exports=Xu});var Dp=q((jB,Lp)=>{var oE=ei(),aE=xt(),Zu=class extends oE{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new aE,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,d;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
12
+ `,r};iy.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:wa.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+$/,""),h=u+1;h<c.length;++h){var p=c[h];if(!/\s/.test(p[0]))break;f+=p,u=h}if(o=f.match(n),o){for(var y={name:o[1],values:[]},l=o[2].split(","),d=0;d<l.length;++d)y.values.push(gA(l[d]));if(a.procType)if(!a.contentDomain&&y.name==="Content-Domain")a.contentDomain=l[0]||"";else if(!a.dekInfo&&y.name==="DEK-Info"){if(y.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:l[0],parameters:l[1]||null}}else a.headers.push(y);else{if(y.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(y.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:l[0],type:l[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 ba(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 gA(t){return t.replace(/^\s+/,"")}});var hy=z((WO,ly)=>{var Gt=le();bn();ke();var cy=ly.exports=Gt.sha256=Gt.sha256||{};Gt.md.sha256=Gt.md.algorithms.sha256=cy;cy.create=function(){uy||xA();var t=null,e=Gt.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=Gt.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=Gt.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),ay(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Gt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Qu.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 h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};ay(h,r,i);var p=Gt.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p.putInt32(h.h5),p.putInt32(h.h6),p.putInt32(h.h7),p},n};var Qu=null,uy=!1,fy=null;function xA(){Qu="\x80",Qu+=Gt.util.fillString("\0",64),fy=[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],uy=!0}function ay(t,e,r){for(var n,i,o,s,a,c,u,f,h,p,y,l,d,m,g,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,h=t.h1,p=t.h2,y=t.h3,l=t.h4,d=t.h5,m=t.h6,g=t.h7,u=0;u<64;++u)s=(l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7),a=m^l&(d^m),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&h|p&(f^h),n=g+s+a+fy[u]+e[u],i=o+c,g=m,m=d,d=l,l=y+n>>>0,y=p,p=h,h=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+h|0,t.h2=t.h2+p|0,t.h3=t.h3+y|0,t.h4=t.h4+l|0,t.h5=t.h5+d|0,t.h6=t.h6+m|0,t.h7=t.h7+g|0,x-=64}}});var py=z((YO,dy)=>{var Wt=le();ke();var va=null;Wt.util.isNodejs&&!Wt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(va=$o());var bA=dy.exports=Wt.prng=Wt.prng||{};bA.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 h=e.plugin.cipher,p=e.plugin.increment,y=e.plugin.formatKey,l=e.plugin.formatSeed,d=Wt.util.createBuffer();e.key=null,m();function m(g){if(g)return f(g);if(d.length()>=u)return f(null,d.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Wt.util.nextTick(function(){o(m)});var x=h(e.key,e.seed);e.generated+=x.length,d.putBytes(x),e.key=y(h(e.key,p(e.seed))),e.seed=l(h(e.key,e.seed)),Wt.util.setImmediate(m)}},e.generateSync=function(u){var f=e.plugin.cipher,h=e.plugin.increment,p=e.plugin.formatKey,y=e.plugin.formatSeed;e.key=null;for(var l=Wt.util.createBuffer();l.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var d=f(e.key,e.seed);e.generated+=d.length,l.putBytes(d),e.key=p(f(e.key,h(e.seed))),e.seed=y(f(e.key,e.seed))}return l.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(h,p){if(h)return u(h);e.collect(p),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,h=0;h<32;++h)e.reseeds%f===0&&(u.update(e.pools[h].digest().getBytes()),e.pools[h].start()),f=f<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var p=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(p),e.generated=0}function c(u){var f=null,h=Wt.util.globalScope,p=h.crypto||h.msCrypto;p&&p.getRandomValues&&(f=function(w){return p.getRandomValues(w)});var y=Wt.util.createBuffer();if(f)for(;y.length()<u;){var l=Math.max(1,Math.min(u-y.length(),65536)/4),d=new Uint32Array(Math.floor(l));try{f(d);for(var m=0;m<d.length;++m)y.putInt32(d[m])}catch(w){if(!(typeof QuotaExceededError<"u"&&w instanceof QuotaExceededError))throw w}}if(y.length()<u)for(var g,x,b,v=Math.floor(Math.random()*65536);y.length()<u;){x=16807*(v&65535),g=16807*(v>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),v=x&4294967295;for(var m=0;m<3;++m)b=v>>>(m<<3),b^=Math.floor(Math.random()*256),y.putByte(b&255)}return y.getBytes(u)}return va?(e.seedFile=function(u,f){va.randomBytes(u,function(h,p){if(h)return f(h);f(null,p.toString())})},e.seedFileSync=function(u){return va.randomBytes(u).toString()}):(e.seedFile=function(u,f){try{f(null,c(u))}catch(h){f(h)}},e.seedFileSync=c),e.collect=function(u){for(var f=u.length,h=0;h<f;++h)e.pools[e.pool].update(u.substr(h,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,f){for(var h="",p=0;p<f;p+=8)h+=String.fromCharCode(u>>p&255);e.collect(h)},e.registerWorker=function(u){if(u===self)e.seedFile=function(h,p){function y(l){var d=l.data;d.forge&&d.forge.prng&&(self.removeEventListener("message",y),p(d.forge.prng.err,d.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:h}}})};else{var f=function(h){var p=h.data;p.forge&&p.forge.prng&&e.seedFile(p.forge.prng.needed,function(y,l){u.postMessage({forge:{prng:{err:y,bytes:l}}})})};u.addEventListener("message",f)}},e}});var Ho=z((QO,Xu)=>{var $e=le();Yu();hy();py();ke();(function(){if($e.random&&$e.random.getBytes){Xu.exports=$e.random;return}(function(t){var e={},r=new Array(4),n=$e.util.createBuffer();e.formatKey=function(h){var p=$e.util.createBuffer(h);return h=new Array(4),h[0]=p.getInt32(),h[1]=p.getInt32(),h[2]=p.getInt32(),h[3]=p.getInt32(),$e.aes._expandKey(h,!1)},e.formatSeed=function(h){var p=$e.util.createBuffer(h);return h=new Array(4),h[0]=p.getInt32(),h[1]=p.getInt32(),h[2]=p.getInt32(),h[3]=p.getInt32(),h},e.cipher=function(h,p){return $e.aes._updateBlock(h,p,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(h){return++h[3],h},e.md=$e.md.sha256;function i(){var h=$e.prng.create(e);return h.getBytes=function(p,y){return h.generate(p,y)},h.getBytesSync=function(p){return h.generate(p)},h}var o=i(),s=null,a=$e.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(h){return c.getRandomValues(h)}),$e.options.usePureJavaScript||!$e.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(h){o.collectInt(h.clientX,16),o.collectInt(h.clientY,16)}),t().keypress(function(h){o.collectInt(h.charCode,8)}))}if(!$e.random)$e.random=o;else for(var f in o)$e.random[f]=o[f];$e.random.createInstance=i,Xu.exports=$e.random})(typeof jQuery<"u"?jQuery:null)})()});var xy=z((XO,gy)=>{var dt=le();ke();var ju=[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],my=[1,2,3,5],wA=function(t,e){return t<<e&65535|(t&65535)>>16-e},vA=function(t,e){return(t&65535)>>e|t<<16-e&65535};gy.exports=dt.rc2=dt.rc2||{};dt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=dt.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(ju[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,ju[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,ju[r.at(a+1)^r.at(a+o)]);return r};var yy=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,f,h=[];for(t=dt.rc2.expandKey(t,e),u=0;u<64;u++)h.push(t.getInt16Le());r?(a=function(l){for(u=0;u<4;u++)l[u]+=h[f]+(l[(u+3)%4]&l[(u+2)%4])+(~l[(u+3)%4]&l[(u+1)%4]),l[u]=wA(l[u],my[u]),f++},c=function(l){for(u=0;u<4;u++)l[u]+=h[l[(u+3)%4]&63]}):(a=function(l){for(u=3;u>=0;u--)l[u]=vA(l[u],my[u]),l[u]-=h[f]+(l[(u+3)%4]&l[(u+2)%4])+(~l[(u+3)%4]&l[(u+1)%4]),f--},c=function(l){for(u=3;u>=0;u--)l[u]-=h[l[(u+3)%4]&63]});var p=function(l){var d=[];for(u=0;u<4;u++){var m=i.getInt16Le();s!==null&&(r?m^=s.getInt16Le():s.putInt16Le(m)),d.push(m&65535)}f=r?0:63;for(var g=0;g<l.length;g++)for(var x=0;x<l[g][0];x++)l[g][1](d);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(d[u]):d[u]^=s.getInt16Le()),o.putInt16Le(d[u])},y=null;return y={start:function(l,d){l&&typeof l=="string"&&(l=dt.util.createBuffer(l)),n=!1,i=dt.util.createBuffer(),o=d||new dt.util.createBuffer,s=l,y.output=o},update:function(l){for(n||i.putBuffer(l);i.length()>=8;)p([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(l){var d=!0;if(r)if(l)d=l(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(d&&(n=!0,y.update()),!r&&(d=i.length()===0,d))if(l)d=l(8,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?d=!1:o.truncate(x)}return d}},y};dt.rc2.startEncrypting=function(t,e,r){var n=dt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};dt.rc2.createEncryptionCipher=function(t,e){return yy(t,e,!0)};dt.rc2.startDecrypting=function(t,e,r){var n=dt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};dt.rc2.createDecryptionCipher=function(t,e){return yy(t,e,!1)}});var Sa=z((jO,Iy)=>{var Ju=le();Iy.exports=Ju.jsbn=Ju.jsbn||{};var mr,EA=0xdeadbeefcafe,by=(EA&16777215)==15715070;function D(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))}Ju.jsbn.BigInteger=D;function ne(){return new D(null)}function AA(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 SA(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 wy(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"?(D.prototype.am=wy,mr=28):by&&navigator.appName=="Microsoft Internet Explorer"?(D.prototype.am=SA,mr=30):by&&navigator.appName!="Netscape"?(D.prototype.am=AA,mr=26):(D.prototype.am=wy,mr=28);D.prototype.DB=mr;D.prototype.DM=(1<<mr)-1;D.prototype.DV=1<<mr;var Zu=52;D.prototype.FV=Math.pow(2,Zu);D.prototype.F1=Zu-mr;D.prototype.F2=2*mr-Zu;var CA="0123456789abcdefghijklmnopqrstuvwxyz",Ea=new Array,fi,_t;fi=48;for(_t=0;_t<=9;++_t)Ea[fi++]=_t;fi=97;for(_t=10;_t<36;++_t)Ea[fi++]=_t;fi=65;for(_t=10;_t<36;++_t)Ea[fi++]=_t;function vy(t){return CA.charAt(t)}function Ey(t,e){var r=Ea[t.charCodeAt(e)];return r??-1}function IA(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 _A(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 qr(t){var e=ne();return e.fromInt(t),e}function TA(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:Ey(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&&D.ZERO.subTo(this,this)}function RA(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function BA(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=vy(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+=vy(n));return i?o:"0"}function DA(){var t=ne();return D.ZERO.subTo(this,t),t}function LA(){return this.s<0?this.negate():this}function NA(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 Aa(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 PA(){return this.t<=0?0:this.DB*(this.t-1)+Aa(this.data[this.t-1]^this.s&this.DM)}function OA(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 kA(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 UA(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 MA(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 FA(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 KA(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&&D.ZERO.subTo(e,e)}function VA(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 qA(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=ne());var o=ne(),s=this.s,a=t.s,c=this.DB-Aa(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 h=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),p=this.FV/h,y=(1<<this.F1)/h,l=1<<this.F2,d=r.t,m=d-u,g=e??ne();for(o.dlShiftTo(m,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),D.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--m>=0;){var x=r.data[--d]==f?this.DM:Math.floor(r.data[d]*p+(r.data[d-1]+l)*y);if((r.data[d]+=o.am(0,x,r,m,0,u))<x)for(o.dlShiftTo(m,g),r.subTo(g,r);r.data[d]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&D.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&D.ZERO.subTo(r,r)}}}function zA(t){var e=ne();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(D.ZERO)>0&&t.subTo(e,e),e}function wn(t){this.m=t}function $A(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function HA(t){return t}function GA(t){t.divRemTo(this.m,null,t)}function WA(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function YA(t,e){t.squareTo(e),this.reduce(e)}wn.prototype.convert=$A;wn.prototype.revert=HA;wn.prototype.reduce=GA;wn.prototype.mulTo=WA;wn.prototype.sqrTo=YA;function QA(){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 vn(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 XA(t){var e=ne();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(D.ZERO)>0&&this.m.subTo(e,e),e}function jA(t){var e=ne();return t.copyTo(e),this.reduce(e),e}function JA(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 ZA(t,e){t.squareTo(e),this.reduce(e)}function eS(t,e,r){t.multiplyTo(e,r),this.reduce(r)}vn.prototype.convert=XA;vn.prototype.revert=jA;vn.prototype.reduce=JA;vn.prototype.mulTo=eS;vn.prototype.sqrTo=ZA;function tS(){return(this.t>0?this.data[0]&1:this.s)==0}function rS(t,e){if(t>4294967295||t<1)return D.ONE;var r=ne(),n=ne(),i=e.convert(this),o=Aa(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 nS(t,e){var r;return t<256||e.isEven()?r=new wn(e):r=new vn(e),this.exp(t,r)}D.prototype.copyTo=IA;D.prototype.fromInt=_A;D.prototype.fromString=TA;D.prototype.clamp=RA;D.prototype.dlShiftTo=OA;D.prototype.drShiftTo=kA;D.prototype.lShiftTo=UA;D.prototype.rShiftTo=MA;D.prototype.subTo=FA;D.prototype.multiplyTo=KA;D.prototype.squareTo=VA;D.prototype.divRemTo=qA;D.prototype.invDigit=QA;D.prototype.isEven=tS;D.prototype.exp=rS;D.prototype.toString=BA;D.prototype.negate=DA;D.prototype.abs=LA;D.prototype.compareTo=NA;D.prototype.bitLength=PA;D.prototype.mod=zA;D.prototype.modPowInt=nS;D.ZERO=qr(0);D.ONE=qr(1);function iS(){var t=ne();return this.copyTo(t),t}function oS(){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 sS(){return this.t==0?this.s:this.data[0]<<24>>24}function aS(){return this.t==0?this.s:this.data[0]<<16>>16}function cS(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function uS(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function fS(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=qr(r),i=ne(),o=ne(),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 lS(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=Ey(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&&D.ZERO.subTo(this,this)}function hS(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(D.ONE.shiftLeft(t-1),ef,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(D.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 dS(){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 pS(t){return this.compareTo(t)==0}function mS(t){return this.compareTo(t)<0?this:t}function yS(t){return this.compareTo(t)>0?this:t}function gS(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 xS(t,e){return t&e}function bS(t){var e=ne();return this.bitwiseTo(t,xS,e),e}function ef(t,e){return t|e}function wS(t){var e=ne();return this.bitwiseTo(t,ef,e),e}function Ay(t,e){return t^e}function vS(t){var e=ne();return this.bitwiseTo(t,Ay,e),e}function Sy(t,e){return t&~e}function ES(t){var e=ne();return this.bitwiseTo(t,Sy,e),e}function AS(){for(var t=ne(),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 SS(t){var e=ne();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function CS(t){var e=ne();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function IS(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 _S(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+IS(this.data[t]);return this.s<0?this.t*this.DB:-1}function TS(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function RS(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=TS(this.data[r]^e);return t}function BS(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function DS(t,e){var r=D.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function LS(t){return this.changeBit(t,ef)}function NS(t){return this.changeBit(t,Sy)}function PS(t){return this.changeBit(t,Ay)}function OS(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 kS(t){var e=ne();return this.addTo(t,e),e}function US(t){var e=ne();return this.subTo(t,e),e}function MS(t){var e=ne();return this.multiplyTo(t,e),e}function FS(t){var e=ne();return this.divRemTo(t,e,null),e}function KS(t){var e=ne();return this.divRemTo(t,null,e),e}function VS(t){var e=ne(),r=ne();return this.divRemTo(t,e,r),new Array(e,r)}function qS(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function zS(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 Go(){}function Cy(t){return t}function $S(t,e,r){t.multiplyTo(e,r)}function HS(t,e){t.squareTo(e)}Go.prototype.convert=Cy;Go.prototype.revert=Cy;Go.prototype.mulTo=$S;Go.prototype.sqrTo=HS;function GS(t){return this.exp(t,new Go)}function WS(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 YS(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 li(t){this.r2=ne(),this.q3=ne(),D.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function QS(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=ne();return t.copyTo(e),this.reduce(e),e}function XS(t){return t}function jS(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 JS(t,e){t.squareTo(e),this.reduce(e)}function ZS(t,e,r){t.multiplyTo(e,r),this.reduce(r)}li.prototype.convert=QS;li.prototype.revert=XS;li.prototype.reduce=jS;li.prototype.mulTo=ZS;li.prototype.sqrTo=JS;function e8(t,e){var r=t.bitLength(),n,i=qr(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 wn(e):e.isEven()?o=new li(e):o=new vn(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=ne();for(o.sqrTo(s[1],f);a<=u;)s[a]=ne(),o.mulTo(f,s[a-2],s[a]),a+=2}var h=t.t-1,p,y=!0,l=ne(),d;for(r=Aa(t.data[h])-1;h>=0;){for(r>=c?p=t.data[h]>>r-c&u:(p=(t.data[h]&(1<<r+1)-1)<<c-r,h>0&&(p|=t.data[h-1]>>this.DB+r-c)),a=n;!(p&1);)p>>=1,--a;if((r-=a)<0&&(r+=this.DB,--h),y)s[p].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,l),o.sqrTo(l,i),a-=2;a>0?o.sqrTo(i,l):(d=i,i=l,l=d),o.mulTo(l,s[p],i)}for(;h>=0&&!(t.data[h]&1<<r);)o.sqrTo(i,l),d=i,i=l,l=d,--r<0&&(r=this.DB-1,--h)}return o.revert(i)}function t8(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 r8(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 n8(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return D.ZERO;for(var r=t.clone(),n=this.clone(),i=qr(1),o=qr(0),s=qr(0),a=qr(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(D.ONE)!=0)return D.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 kt=[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],i8=(1<<26)/kt[kt.length-1];function o8(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=kt[kt.length-1]){for(e=0;e<kt.length;++e)if(r.data[0]==kt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<kt.length;){for(var n=kt[e],i=e+1;i<kt.length&&n<i8;)n*=kt[i++];for(n=r.modInt(n);e<i;)if(n%kt[e++]==0)return!1}return r.millerRabin(t)}function s8(t){var e=this.subtract(D.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=a8(),o,s=0;s<t;++s){do o=new D(this.bitLength(),i);while(o.compareTo(D.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(D.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(D.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function a8(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}D.prototype.chunkSize=cS;D.prototype.toRadix=fS;D.prototype.fromRadix=lS;D.prototype.fromNumber=hS;D.prototype.bitwiseTo=gS;D.prototype.changeBit=DS;D.prototype.addTo=OS;D.prototype.dMultiply=qS;D.prototype.dAddOffset=zS;D.prototype.multiplyLowerTo=WS;D.prototype.multiplyUpperTo=YS;D.prototype.modInt=r8;D.prototype.millerRabin=s8;D.prototype.clone=iS;D.prototype.intValue=oS;D.prototype.byteValue=sS;D.prototype.shortValue=aS;D.prototype.signum=uS;D.prototype.toByteArray=dS;D.prototype.equals=pS;D.prototype.min=mS;D.prototype.max=yS;D.prototype.and=bS;D.prototype.or=wS;D.prototype.xor=vS;D.prototype.andNot=ES;D.prototype.not=AS;D.prototype.shiftLeft=SS;D.prototype.shiftRight=CS;D.prototype.getLowestSetBit=_S;D.prototype.bitCount=RS;D.prototype.testBit=BS;D.prototype.setBit=LS;D.prototype.clearBit=NS;D.prototype.flipBit=PS;D.prototype.add=kS;D.prototype.subtract=US;D.prototype.multiply=MS;D.prototype.divide=FS;D.prototype.remainder=KS;D.prototype.divideAndRemainder=VS;D.prototype.modPow=e8;D.prototype.modInverse=n8;D.prototype.pow=GS;D.prototype.gcd=t8;D.prototype.isProbablePrime=o8});var Dy=z((JO,By)=>{var Yt=le();bn();ke();var Ty=By.exports=Yt.sha1=Yt.sha1||{};Yt.md.sha1=Yt.md.algorithms.sha1=Ty;Ty.create=function(){Ry||c8();var t=null,e=Yt.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=Yt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Yt.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),_y(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Yt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(tf.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 h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};_y(h,r,i);var p=Yt.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p},n};var tf=null,Ry=!1;function c8(){tf="\x80",tf+=Yt.util.fillString("\0",64),Ry=!0}function _y(t,e,r){for(var n,i,o,s,a,c,u,f,h=r.length();h>=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,h-=64}}});var Py=z((ZO,Ny)=>{var Qt=le();ke();Ho();Dy();var Ly=Ny.exports=Qt.pkcs1=Qt.pkcs1||{};Ly.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=Qt.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(),h="",p=c-e.length,y=0;y<p;y++)h+="\0";var l=f.getBytes()+h+""+e;if(!i)i=Qt.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 d=Ca(i,a-o.digestLength-1,s),m=Qt.util.xorBytes(l,d,l.length),g=Ca(m,o.digestLength,s),x=Qt.util.xorBytes(i,g,i.length);return"\0"+x+m};Ly.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 m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=e.length,m.expectedLength=s,m}if(i===void 0?i=Qt.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),h=Ca(f,i.digestLength,o),p=Qt.util.xorBytes(u,h,u.length),y=Ca(p,s-i.digestLength-1,o),l=Qt.util.xorBytes(f,y,f.length),d=l.substring(0,i.digestLength),m=c!=="\0",g=0;g<i.digestLength;++g)m|=a.charAt(g)!==d.charAt(g);for(var x=1,b=i.digestLength,v=i.digestLength;v<l.length;v++){var w=l.charCodeAt(v),E=w&1^1,A=x?65534:0;m|=w&A,x=x&E,b+=x}if(m||l.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return l.substring(b+1)};function Ca(t,e,r){r||(r=Qt.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 Oy=z((ek,rf)=>{var zr=le();ke();Sa();Ho();(function(){if(zr.prime){rf.exports=zr.prime;return}var t=rf.exports=zr.prime=zr.prime||{},e=zr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(h,p){return h|p};t.generateProbablePrime=function(h,p,y){typeof p=="function"&&(y=p,p={}),p=p||{};var l=p.algorithm||"PRIMEINC";typeof l=="string"&&(l={name:l}),l.options=l.options||{};var d=p.prng||zr.random,m={nextBytes:function(g){for(var x=d.getBytesSync(g.length),b=0;b<g.length;++b)g[b]=x.charCodeAt(b)}};if(l.name==="PRIMEINC")return o(h,m,l.options,y);throw new Error("Invalid prime generation algorithm: "+l.name)};function o(h,p,y,l){return"workers"in y?c(h,p,y,l):s(h,p,y,l)}function s(h,p,y,l){var d=u(h,p),m=0,g=f(d.bitLength());"millerRabinTests"in y&&(g=y.millerRabinTests);var x=10;"maxBlockTime"in y&&(x=y.maxBlockTime),a(d,h,p,m,g,x,l)}function a(h,p,y,l,d,m,g){var x=+new Date;do{if(h.bitLength()>p&&(h=u(p,y)),h.isProbablePrime(d))return g(null,h);h.dAddOffset(r[l++%8],0)}while(m<0||+new Date-x<m);zr.util.setImmediate(function(){a(h,p,y,l,d,m,g)})}function c(h,p,y,l){if(typeof Worker>"u")return s(h,p,y,l);var d=u(h,p),m=y.workers,g=y.workLoad||100,x=g*30/8,b=y.workerScript||"forge/prime.worker.js";if(m===-1)return zr.util.estimateCores(function(w,E){w&&(E=2),m=E-1,v()});v();function v(){m=Math.max(1,m);for(var w=[],E=0;E<m;++E)w[E]=new Worker(b);for(var A=m,E=0;E<m;++E)w[E].addEventListener("message",P);var C=!1;function P(W){if(!C){--A;var H=W.data;if(H.found){for(var Z=0;Z<w.length;++Z)w[Z].terminate();return C=!0,l(null,new e(H.prime,16))}d.bitLength()>h&&(d=u(h,p));var fe=d.toString(16);W.target.postMessage({hex:fe,workLoad:g}),d.dAddOffset(x,0)}}}}function u(h,p){var y=new e(h,p),l=h-1;return y.testBit(l)||y.bitwiseTo(e.ONE.shiftLeft(l),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function f(h){return h<=100?27:h<=150?18:h<=200?15:h<=250?12:h<=300?9:h<=350?8:h<=400?7:h<=500?6:h<=600?5:h<=800?4:h<=1250?3:2}})()});var _a=z((tk,qy)=>{var $=le();zo();Sa();ha();Py();Oy();Ho();ke();typeof re>"u"&&(re=$.jsbn.BigInteger);var re,nf=$.util.isNodejs?$o():null,I=$.asn1,Tt=$.util;$.pki=$.pki||{};qy.exports=$.pki.rsa=$.rsa=$.rsa||{};var Y=$.pki,u8=[6,4,2,4,2,4,6,2],f8={name:"PrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},l8={name:"RSAPrivateKey",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},h8={name:"RSAPublicKey",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},d8=$.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:I.Class.UNIVERSAL,type:I.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},p8={name:"DigestInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:I.Class.UNIVERSAL,type:I.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},m8=function(t){var e;if(t.algorithm in Y.oids)e=Y.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=I.oidToDer(e).getBytes(),i=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[]),o=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[]);o.value.push(I.create(I.Class.UNIVERSAL,I.Type.OID,!1,n)),o.value.push(I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,""));var s=I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),I.toDer(i).getBytes()},Ky=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(re.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(re.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new re($.util.bytesToHex($.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(re.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};Y.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=Vy(t,e,r)):(i=$.util.createBuffer(),i.putBytes(t));for(var s=new re(i.toHex(),16),a=Ky(s,e,n),c=a.toString(16),u=$.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes($.util.hexToBytes(c)),u.getBytes()};Y.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 re($.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Ky(s,e,r),c=a.toString(16),u=$.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes($.util.hexToBytes(c)),n!==!1?Ia(u.getBytes(),e,r):u.getBytes()};Y.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||$.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 re(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};Y.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new re(null);r.fromInt(30);for(var n=0,i=function(h,p){return h|p},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 re(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(re.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(g8(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(u8[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(re.ONE).gcd(t.e).compareTo(re.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(re.ONE),t.q1=t.q.subtract(re.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(re.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:Y.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:Y.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};Y.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),!$.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(ky("generateKeyPair"))return nf.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:Y.privateKeyFromPem(u),publicKey:Y.publicKeyFromPem(c)})});if(Uy("generateKey")&&Uy("exportKey"))return Tt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Fy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Tt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=Y.privateKeyFromAsn1(I.fromDer($.util.createBuffer(a)));n(null,{privateKey:c,publicKey:Y.setRsaPublicKey(c.n,c.e)})}});if(My("generateKey")&&My("exportKey")){var i=Tt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Fy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Tt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var h=f.target.result,p=Y.privateKeyFromAsn1(I.fromDer($.util.createBuffer(h)));n(null,{privateKey:p,publicKey:Y.setRsaPublicKey(p.n,p.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(ky("generateKeyPairSync")){var o=nf.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Y.privateKeyFromPem(o.privateKey),publicKey:Y.publicKeyFromPem(o.publicKey)}}}var s=Y.rsa.createKeyPairGenerationState(t,e,r);if(!n)return Y.rsa.stepKeyPairGenerationState(s,0),s.keys;y8(s,r,n)};Y.setRsaPublicKey=Y.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 Vy(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return $.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 Y.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=Ia(u,r,!0);var f=I.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),h={},p=[];if(!I.validate(f,p8,h,p)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=p,y}var l=I.derToOid(h.algorithmIdentifier);if(!(l===$.oids.md2||l===$.oids.md5||l===$.oids.sha1||l===$.oids.sha224||l===$.oids.sha256||l===$.oids.sha384||l===$.oids.sha512||l===$.oids["sha512-224"]||l===$.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=l,y}if((l===$.oids.md2||l===$.oids.md5)&&!("parameters"in h))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===h.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Ia(u,r,!0),c===u}});var a=Y.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};Y.setRsaPrivateKey=Y.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,h){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var p=Y.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Ia};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,l){return $.pkcs1.decode_rsa_oaep(l,y,h)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(p,c,!1)},c.sign=function(u,f){var h=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:m8},h=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},h=1);var p=f.encode(u,c.n.bitLength());return Y.rsa.encrypt(p,c,h)},c};Y.wrapRsaPrivateKey=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,I.integerToDer(0).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Y.oids.rsaEncryption).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")]),I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,I.toDer(t).getBytes())])};Y.privateKeyFromAsn1=function(t){var e={},r=[];if(I.validate(t,f8,e,r)&&(t=I.fromDer($.util.createBuffer(e.privateKey))),e={},r=[],!I.validate(t,l8,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,h;return i=$.util.createBuffer(e.privateKeyModulus).toHex(),o=$.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=$.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=$.util.createBuffer(e.privateKeyPrime1).toHex(),c=$.util.createBuffer(e.privateKeyPrime2).toHex(),u=$.util.createBuffer(e.privateKeyExponent1).toHex(),f=$.util.createBuffer(e.privateKeyExponent2).toHex(),h=$.util.createBuffer(e.privateKeyCoefficient).toHex(),Y.setRsaPrivateKey(new re(i,16),new re(o,16),new re(s,16),new re(a,16),new re(c,16),new re(u,16),new re(f,16),new re(h,16))};Y.privateKeyToAsn1=Y.privateKeyToRSAPrivateKey=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,I.integerToDer(0).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.n)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.e)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.d)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.p)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.q)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.dP)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.dQ)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.qInv))])};Y.publicKeyFromAsn1=function(t){var e={},r=[];if(I.validate(t,d8,e,r)){var n=I.derToOid(e.publicKeyOid);if(n!==Y.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!I.validate(t,h8,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=$.util.createBuffer(e.publicKeyModulus).toHex(),s=$.util.createBuffer(e.publicKeyExponent).toHex();return Y.setRsaPublicKey(new re(o,16),new re(s,16))};Y.publicKeyToAsn1=Y.publicKeyToSubjectPublicKeyInfo=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Y.oids.rsaEncryption).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")]),I.create(I.Class.UNIVERSAL,I.Type.BITSTRING,!1,[Y.publicKeyToRSAPublicKey(t)])])};Y.publicKeyToRSAPublicKey=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.n)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.e))])};function Vy(t,e,r){var n=$.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=$.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 Ia(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=$.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 y8(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){$.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(re.ONE).gcd(t.e).compareTo(re.ONE)!==0){t.p=null,i();return}if(t.q.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(re.ONE),t.q1=t.q.subtract(re.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(re.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:Y.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:Y.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Xt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=$.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 g8(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 ky(t){return $.util.isNodejs&&typeof nf[t]=="function"}function Uy(t){return typeof Tt.globalScope<"u"&&typeof Tt.globalScope.crypto=="object"&&typeof Tt.globalScope.crypto.subtle=="object"&&typeof Tt.globalScope.crypto.subtle[t]=="function"}function My(t){return typeof Tt.globalScope<"u"&&typeof Tt.globalScope.msCrypto=="object"&&typeof Tt.globalScope.msCrypto.subtle=="object"&&typeof Tt.globalScope.msCrypto.subtle[t]=="function"}function Fy(t){for(var e=$.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Yy=z((rk,Wy)=>{var F=le();Yu();zo();Jm();bn();ha();ny();sy();Ho();xy();_a();ke();typeof zy>"u"&&(zy=F.jsbn.BigInteger);var zy,T=F.asn1,Q=F.pki=F.pki||{};Wy.exports=Q.pbe=F.pbe=F.pbe||{};var En=Q.oids,x8={name:"EncryptedPrivateKeyInfo",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},b8={name:"PBES2Algorithms",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},w8={name:"pkcs-12PbeParams",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"iterations"}]};Q.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=F.random.getBytesSync(r.saltSize),i=r.count,o=T.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,h;switch(r.algorithm){case"aes128":s=16,u=16,f=En["aes128-CBC"],h=F.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=En["aes192-CBC"],h=F.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=En["aes256-CBC"],h=F.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=En.desCBC,h=F.des.createEncryptionCipher;break;default:var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),l=Gy(y),d=F.pkcs5.pbkdf2(e,n,i,s,l),m=F.random.getBytesSync(u),g=h(d);g.start(m),g.update(T.toDer(t)),g.finish(),c=g.output.getBytes();var x=v8(n,o,s,y);a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(En.pkcs5PBES2).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(En.pkcs5PBKDF2).getBytes()),x]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(f).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){s=24;var b=new F.util.ByteBuffer(n),d=Q.pbe.generatePkcs12Key(e,b,1,i,s),m=Q.pbe.generatePkcs12Key(e,b,2,i,s),g=F.des.createEncryptionCipher(d);g.start(m),g.update(T.toDer(t)),g.finish(),c=g.output.getBytes(),a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(En["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,n),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,o.getBytes())])])}else{var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var v=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[a,T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,c)]);return v};Q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!T.validate(t,x8,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=T.derToOid(n.encryptionOid),a=Q.pbe.getCipher(s,n.encryptionParams,e),c=F.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=T.fromDer(a.output)),r};Q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:T.toDer(t).getBytes()};return F.pem.encode(r,{maxline:e})};Q.encryptedPrivateKeyFromPem=function(t){var e=F.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 T.fromDer(e.body)};Q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Q.wrapRsaPrivateKey(Q.privateKeyToAsn1(t));return n=Q.encryptPrivateKeyInfo(n,e,r),Q.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=F.random.getBytesSync(16),a=F.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=F.random.getBytesSync(16),a=F.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=F.random.getBytesSync(16),a=F.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=F.random.getBytesSync(8),a=F.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=F.random.getBytesSync(8),a=F.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=F.pbe.opensslDeriveBytes(e,o.substr(0,8),s),f=a(u);f.start(o),f.update(T.toDer(Q.privateKeyToAsn1(t))),f.finish();var h={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:F.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return F.pem.encode(h)};Q.decryptRsaPrivateKey=function(t,e){var r=null,n=F.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=F.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=F.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=F.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=F.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=F.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(h){return F.rc2.createDecryptionCipher(h,40)};break;case"RC2-64-CBC":o=8,s=function(h){return F.rc2.createDecryptionCipher(h,64)};break;case"RC2-128-CBC":o=16,s=function(h){return F.rc2.createDecryptionCipher(h,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=F.util.hexToBytes(n.dekInfo.parameters),c=F.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(F.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Q.decryptPrivateKeyInfo(T.fromDer(r),e):r=T.fromDer(r),r!==null&&(r=Q.privateKeyFromAsn1(r)),r};Q.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in F.md))throw new Error('"sha1" hash algorithm unavailable.');o=F.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new F.util.ByteBuffer,h=new F.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)h.putInt16(t.charCodeAt(a));h.putInt16(0)}var p=h.length(),y=e.length(),l=new F.util.ByteBuffer;l.fillWithByte(r,u);var d=u*Math.ceil(y/u),m=new F.util.ByteBuffer;for(a=0;a<d;a++)m.putByte(e.at(a%y));var g=u*Math.ceil(p/u),x=new F.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(h.at(a%p));var b=m;b.putBuffer(x);for(var v=Math.ceil(i/c),w=1;w<=v;w++){var E=new F.util.ByteBuffer;E.putBytes(l.bytes()),E.putBytes(b.bytes());for(var A=0;A<n;A++)o.start(),o.update(E.getBytes()),E=o.digest();var C=new F.util.ByteBuffer;for(a=0;a<u;a++)C.putByte(E.at(a%c));var P=Math.ceil(y/u)+Math.ceil(p/u),W=new F.util.ByteBuffer;for(s=0;s<P;s++){var H=new F.util.ByteBuffer(b.getBytes(u)),Z=511;for(a=C.length()-1;a>=0;a--)Z=Z>>8,Z+=C.at(a)+H.at(a),H.setAt(a,Z&255);W.putBuffer(H)}b=W,f.putBuffer(E)}return f.truncate(f.length()-i),f};Q.pbe.getCipher=function(t,e,r){switch(t){case Q.oids.pkcs5PBES2:return Q.pbe.getCipherForPBES2(t,e,r);case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:return Q.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}};Q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!T.validate(e,b8,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=T.derToOid(n.kdfOid),t!==Q.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=T.derToOid(n.encOid),t!==Q.oids["aes128-CBC"]&&t!==Q.oids["aes192-CBC"]&&t!==Q.oids["aes256-CBC"]&&t!==Q.oids["des-EDE3-CBC"]&&t!==Q.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=F.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Q.oids[t]){case"aes128-CBC":c=16,u=F.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=F.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=F.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=F.des.createDecryptionCipher;break;case"desCBC":c=8,u=F.des.createDecryptionCipher;break}var f=Hy(n.prfOid),h=F.pkcs5.pbkdf2(r,s,a,c,f),p=n.encIv,y=u(h);return y.start(p),y};Q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!T.validate(e,w8,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=F.util.createBuffer(n.salt),a=F.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(t){case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=F.des.startDecrypting;break;case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(d,m){var g=F.rc2.createDecryptionCipher(d,40);return g.start(m,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var h=Hy(n.prfOid),p=Q.pbe.generatePkcs12Key(r,s,1,a,c,h);h.start();var y=Q.pbe.generatePkcs12Key(r,s,2,a,u,h);return f(p,y)};Q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in F.md))throw new Error('"md5" hash algorithm unavailable.');n=F.md.md5.create()}e===null&&(e="");for(var i=[$y(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push($y(n,i[s-1]+t+e));return i.join("").substr(0,r)};function $y(t,e){return t.start().update(e).digest().getBytes()}function Hy(t){var e;if(!t)e="hmacWithSHA1";else if(e=Q.oids[T.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Gy(e)}function Gy(t){var e=F.md;switch(t){case"hmacWithSHA224":e=F.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 v8(t,e,r,n){var i=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,F.util.hexToBytes(r.toString(16))),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Q.oids[n]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),i}});var Vx=z(($9,Kx)=>{var me=le();bn();ke();var ds=Kx.exports=me.sha512=me.sha512||{};me.md.sha512=me.md.algorithms.sha512=ds;var Mx=me.sha384=me.sha512.sha384=me.sha512.sha384||{};Mx.create=function(){return ds.create("SHA-384")};me.md.sha384=me.md.algorithms.sha384=Mx;me.sha512.sha256=me.sha512.sha256||{create:function(){return ds.create("SHA-512/256")}};me.md["sha512/256"]=me.md.algorithms["sha512/256"]=me.sha512.sha256;me.sha512.sha224=me.sha512.sha224||{create:function(){return ds.create("SHA-512/224")}};me.md["sha512/224"]=me.md.algorithms["sha512/224"]=me.sha512.sha224;ds.create=function(t){if(Fx||N_(),typeof t>"u"&&(t="SHA-512"),!(t in Pn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Pn[t],r=null,n=me.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=me.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=me.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var h=a.fullMessageLength.length-1;h>=0;--h)a.fullMessageLength[h]+=f[1],f[1]=f[0]+(a.fullMessageLength[h]/4294967296>>>0),a.fullMessageLength[h]=a.fullMessageLength[h]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),Ux(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=me.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(Hl.substr(0,a.blockLength-f));for(var h,p,y=a.fullMessageLength[0]*8,l=0;l<a.fullMessageLength.length-1;++l)h=a.fullMessageLength[l+1]*8,p=h/4294967296>>>0,y+=p,c.putInt32(y>>>0),y=h>>>0;c.putInt32(y);for(var d=new Array(r.length),l=0;l<r.length;++l)d[l]=r[l].slice(0);Ux(d,i,c);var m=me.util.createBuffer(),g;t==="SHA-512"?g=d.length:t==="SHA-384"?g=d.length-2:g=d.length-4;for(var l=0;l<g;++l)m.putInt32(d[l][0]),(l!==g-1||t!=="SHA-512/224")&&m.putInt32(d[l][1]);return m},a};var Hl=null,Fx=!1,Gl=null,Pn=null;function N_(){Hl="\x80",Hl+=me.util.fillString("\0",128),Gl=[[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]],Pn={},Pn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Pn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Pn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Pn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Fx=!0}function Ux(t,e,r){for(var n,i,o,s,a,c,u,f,h,p,y,l,d,m,g,x,b,v,w,E,A,C,P,W,H,Z,fe,Ge,L,U,O,k,B,K,q,G=r.length();G>=128;){for(L=0;L<16;++L)e[L][0]=r.getInt32()>>>0,e[L][1]=r.getInt32()>>>0;for(;L<80;++L)k=e[L-2],U=k[0],O=k[1],n=((U>>>19|O<<13)^(O>>>29|U<<3)^U>>>6)>>>0,i=((U<<13|O>>>19)^(O<<3|U>>>29)^(U<<26|O>>>6))>>>0,K=e[L-15],U=K[0],O=K[1],o=((U>>>1|O<<31)^(U>>>8|O<<24)^U>>>7)>>>0,s=((U<<31|O>>>1)^(U<<24|O>>>8)^(U<<25|O>>>7))>>>0,B=e[L-7],q=e[L-16],O=i+B[1]+s+q[1],e[L][0]=n+B[0]+o+q[0]+(O/4294967296>>>0)>>>0,e[L][1]=O>>>0;for(d=t[0][0],m=t[0][1],g=t[1][0],x=t[1][1],b=t[2][0],v=t[2][1],w=t[3][0],E=t[3][1],A=t[4][0],C=t[4][1],P=t[5][0],W=t[5][1],H=t[6][0],Z=t[6][1],fe=t[7][0],Ge=t[7][1],L=0;L<80;++L)u=((A>>>14|C<<18)^(A>>>18|C<<14)^(C>>>9|A<<23))>>>0,f=((A<<18|C>>>14)^(A<<14|C>>>18)^(C<<23|A>>>9))>>>0,h=(H^A&(P^H))>>>0,p=(Z^C&(W^Z))>>>0,a=((d>>>28|m<<4)^(m>>>2|d<<30)^(m>>>7|d<<25))>>>0,c=((d<<4|m>>>28)^(m<<30|d>>>2)^(m<<25|d>>>7))>>>0,y=(d&g|b&(d^g))>>>0,l=(m&x|v&(m^x))>>>0,O=Ge+f+p+Gl[L][1]+e[L][1],n=fe+u+h+Gl[L][0]+e[L][0]+(O/4294967296>>>0)>>>0,i=O>>>0,O=c+l,o=a+y+(O/4294967296>>>0)>>>0,s=O>>>0,fe=H,Ge=Z,H=P,Z=W,P=A,W=C,O=E+i,A=w+n+(O/4294967296>>>0)>>>0,C=O>>>0,w=b,E=v,b=g,v=x,g=d,x=m,O=i+s,d=n+o+(O/4294967296>>>0)>>>0,m=O>>>0;O=t[0][1]+m,t[0][0]=t[0][0]+d+(O/4294967296>>>0)>>>0,t[0][1]=O>>>0,O=t[1][1]+x,t[1][0]=t[1][0]+g+(O/4294967296>>>0)>>>0,t[1][1]=O>>>0,O=t[2][1]+v,t[2][0]=t[2][0]+b+(O/4294967296>>>0)>>>0,t[2][1]=O>>>0,O=t[3][1]+E,t[3][0]=t[3][0]+w+(O/4294967296>>>0)>>>0,t[3][1]=O>>>0,O=t[4][1]+C,t[4][0]=t[4][0]+A+(O/4294967296>>>0)>>>0,t[4][1]=O>>>0,O=t[5][1]+W,t[5][0]=t[5][0]+P+(O/4294967296>>>0)>>>0,t[5][1]=O>>>0,O=t[6][1]+Z,t[6][0]=t[6][0]+H+(O/4294967296>>>0)>>>0,t[6][1]=O>>>0,O=t[7][1]+Ge,t[7][0]=t[7][0]+fe+(O/4294967296>>>0)>>>0,t[7][1]=O>>>0,G-=128}}});var oh=z((oK,pb)=>{var Fi=1e3,Ki=Fi*60,Vi=Ki*60,Un=Vi*24,sT=Un*7,aT=Un*365.25;pb.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return cT(t);if(r==="number"&&isFinite(t))return e.long?fT(t):uT(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function cT(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*aT;case"weeks":case"week":case"w":return r*sT;case"days":case"day":case"d":return r*Un;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Vi;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ki;case"seconds":case"second":case"secs":case"sec":case"s":return r*Fi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function uT(t){var e=Math.abs(t);return e>=Un?Math.round(t/Un)+"d":e>=Vi?Math.round(t/Vi)+"h":e>=Ki?Math.round(t/Ki)+"m":e>=Fi?Math.round(t/Fi)+"s":t+"ms"}function fT(t){var e=Math.abs(t);return e>=Un?nc(t,e,Un,"day"):e>=Vi?nc(t,e,Vi,"hour"):e>=Ki?nc(t,e,Ki,"minute"):e>=Fi?nc(t,e,Fi,"second"):t+" ms"}function nc(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var yb=z((sK,mb)=>{function lT(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=oh(),r.destroy=u,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let h=0;for(let p=0;p<f.length;p++)h=(h<<5)-h+f.charCodeAt(p),h|=0;return r.colors[Math.abs(h)%r.colors.length]}r.selectColor=e;function r(f){let h,p=null,y,l;function d(...m){if(!d.enabled)return;let g=d,x=Number(new Date),b=x-(h||x);g.diff=b,g.prev=h,g.curr=x,h=x,m[0]=r.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let v=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(E,A)=>{if(E==="%%")return"%";v++;let C=r.formatters[A];if(typeof C=="function"){let P=m[v];E=C.call(g,P),m.splice(v,1),v--}return E}),r.formatArgs.call(g,m),(g.log||r.log).apply(g,m)}return d.namespace=f,d.useColors=r.useColors(),d.color=r.selectColor(f),d.extend=n,d.destroy=r.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(y!==r.namespaces&&(y=r.namespaces,l=r.enabled(f)),l),set:m=>{p=m}}),typeof r.init=="function"&&r.init(d),d}function n(f,h){let p=r(this.namespace+(typeof h>"u"?":":h)+f);return p.log=this.log,p}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let h,p=(typeof f=="string"?f:"").split(/[\s,]+/),y=p.length;for(h=0;h<y;h++)p[h]&&(f=p[h].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(h=>"-"+h)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let h,p;for(h=0,p=r.skips.length;h<p;h++)if(r.skips[h].test(f))return!1;for(h=0,p=r.names.length;h<p;h++)if(r.names[h].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}mb.exports=lT});var sh=z((Ct,ic)=>{Ct.formatArgs=dT;Ct.save=pT;Ct.load=mT;Ct.useColors=hT;Ct.storage=yT();Ct.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`."))}})();Ct.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 hT(){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 dT(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+ic.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)}Ct.log=console.debug||console.log||(()=>{});function pT(t){try{t?Ct.storage.setItem("debug",t):Ct.storage.removeItem("debug")}catch{}}function mT(){let t;try{t=Ct.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function yT(){try{return localStorage}catch{}}ic.exports=yb()(Ct);var{formatters:gT}=ic.exports;gT.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var i1=z((rG,Yd)=>{"use strict";var YR=Object.prototype.hasOwnProperty,ht="~";function ks(){}Object.create&&(ks.prototype=Object.create(null),new ks().__proto__||(ht=!1));function QR(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function n1(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new QR(r,n||t,i),s=ht?ht+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 Ac(t,e){--t._eventsCount===0?t._events=new ks:delete t._events[e]}function ct(){this._events=new ks,this._eventsCount=0}ct.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)YR.call(r,n)&&e.push(ht?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};ct.prototype.listeners=function(e){var r=ht?ht+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};ct.prototype.listenerCount=function(e){var r=ht?ht+e:e,n=this._events[r];return n?n.fn?1:n.length:0};ct.prototype.emit=function(e,r,n,i,o,s){var a=ht?ht+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,h;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,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(h=1,f=new Array(u-1);h<u;h++)f[h-1]=arguments[h];c.fn.apply(c.context,f)}else{var p=c.length,y;for(h=0;h<p;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),u){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,r);break;case 3:c[h].fn.call(c[h].context,r,n);break;case 4:c[h].fn.call(c[h].context,r,n,i);break;default:if(!f)for(y=1,f=new Array(u-1);y<u;y++)f[y-1]=arguments[y];c[h].fn.apply(c[h].context,f)}}return!0};ct.prototype.on=function(e,r,n){return n1(this,e,r,n,!1)};ct.prototype.once=function(e,r,n){return n1(this,e,r,n,!0)};ct.prototype.removeListener=function(e,r,n,i){var o=ht?ht+e:e;if(!this._events[o])return this;if(!r)return Ac(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Ac(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:Ac(this,o)}return this};ct.prototype.removeAllListeners=function(e){var r;return e?(r=ht?ht+e:e,this._events[r]&&Ac(this,r)):(this._events=new ks,this._eventsCount=0),this};ct.prototype.off=ct.prototype.removeListener;ct.prototype.addListener=ct.prototype.on;ct.prefixed=ht;ct.EventEmitter=ct;typeof Yd<"u"&&(Yd.exports=ct)});var L0=z((pY,q1)=>{"use strict";function V1(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function wD(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 V1(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),V1(new i,r)}}q1.exports=wD});var m2=z(Gs=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,f,h,p;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,h=(c&65280)>>>8,p=c&255,[u,f,h,p].join(".")},s=function(c){var u,f,h,p,y,l;for(u=[],h=p=0;p<=3&&c.length!==0;h=++p){if(h>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}l=e(c),y=l[0],f=l[1],c=c.substring(f),u.push(y)}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,h,p,y;for(p=0,u=10,f="9",h=0,c.length>1&&c[h]==="0"&&(c[h+1]==="x"||c[h+1]==="X"?(h+=2,u=16):"0"<=c[h+1]&&c[h+1]<="9"&&(h++,u=8,f="7")),y=h;h<c.length;){if("0"<=c[h]&&c[h]<=f)p=p*u+(r(c[h])-n)>>>0;else if(u===16)if("a"<=c[h]&&c[h]<="f")p=p*u+(10+r(c[h])-o)>>>0;else if("A"<=c[h]&&c[h]<="F")p=p*u+(10+r(c[h])-i)>>>0;else break;else break;if(p>4294967295)throw new Error("too large");h++}if(h===y)throw new Error("empty octet");return[p,h]},t=function(){function c(u,f){var h,p,y,l;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(l=u.split("/",2),u=l[0],f=l[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(d){throw h=d,new Error("Invalid mask: "+f)}for(p=y=32;y>=0;p=--y)if(this.maskLong===4294967295<<32-p>>>0){this.bitmask=p;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(d){throw h=d,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,h,p;for(p=s(this.first),h=s(this.last),f=0;p<=h;)u(a(p),p,f),f++,p++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Gs.ip2long=s,Gs.long2ip=a,Gs.Netmask=t}).call(Gs)});var b2=z((x2,Gc)=>{(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(y,l){if(y.indexOf("::")!==y.lastIndexOf("::"))return null;let d=0,m=-1,g=(y.match(a.zoneIndex)||[])[0],x,b;for(g&&(g=g.substring(1),y=y.replace(/%.+$/,""));(m=y.indexOf(":",m+1))>=0;)d++;if(y.substr(0,2)==="::"&&d--,y.substr(-2,2)==="::"&&d--,d>l)return null;for(b=l-d,x=":";b--;)x+="0:";return y=y.replace("::",x),y[0]===":"&&(y=y.slice(1)),y[y.length-1]===":"&&(y=y.slice(0,-1)),l=function(){let v=y.split(":"),w=[];for(let E=0;E<v.length;E++)w.push(parseInt(v[E],16));return w}(),{parts:l,zoneId:g}}function u(y,l,d,m){if(y.length!==l.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;m>0;){if(x=d-m,x<0&&(x=0),y[g]>>x!==l[g]>>x)return!1;m-=d,g+=1}return!0}function f(y){if(i.test(y))return parseInt(y,16);if(y[0]==="0"&&!isNaN(parseInt(y[1],10))){if(n.test(y))return parseInt(y,8);throw new Error(`ipaddr: cannot parse ${y} as octal`)}return parseInt(y,10)}function h(y,l){for(;y.length<l;)y=`0${y}`;return y}let p={};p.IPv4=function(){function y(l){if(l.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let d,m;for(d=0;d<l.length;d++)if(m=l[d],!(0<=m&&m<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=l}return y.prototype.SpecialRanges={unspecified:[[new y([0,0,0,0]),8]],broadcast:[[new y([255,255,255,255]),32]],multicast:[[new y([224,0,0,0]),4]],linkLocal:[[new y([169,254,0,0]),16]],loopback:[[new y([127,0,0,0]),8]],carrierGradeNat:[[new y([100,64,0,0]),10]],private:[[new y([10,0,0,0]),8],[new y([172,16,0,0]),12],[new y([192,168,0,0]),16]],reserved:[[new y([192,0,0,0]),24],[new y([192,0,2,0]),24],[new y([192,88,99,0]),24],[new y([198,18,0,0]),15],[new y([198,51,100,0]),24],[new y([203,0,113,0]),24],[new y([240,0,0,0]),4]]},y.prototype.kind=function(){return"ipv4"},y.prototype.match=function(l,d){let m;if(d===void 0&&(m=l,l=m[0],d=m[1]),l.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,l.octets,8,d)},y.prototype.prefixLengthFromSubnetMask=function(){let l=0,d=!1,m={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,b;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in m){if(b=m[x],d&&b!==0)return null;b!==8&&(d=!0),l+=b}else return null;return 32-l},y.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},y.prototype.toByteArray=function(){return this.octets.slice(0)},y.prototype.toIPv4MappedAddress=function(){return p.IPv6.parse(`::ffff:${this.toString()}`)},y.prototype.toNormalizedString=function(){return this.toString()},y.prototype.toString=function(){return this.octets.join(".")},y}(),p.IPv4.broadcastAddressFromCIDR=function(y){try{let l=this.parseCIDR(y),d=l[0].toByteArray(),m=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(d[x],10)|parseInt(m[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.isIPv4=function(y){return this.parser(y)!==null},p.IPv4.isValid=function(y){try{return new this(this.parser(y)),!0}catch{return!1}},p.IPv4.isValidFourPartDecimal=function(y){return!!(p.IPv4.isValid(y)&&y.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},p.IPv4.networkAddressFromCIDR=function(y){let l,d,m,g,x;try{for(l=this.parseCIDR(y),m=l[0].toByteArray(),x=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],d=0;d<4;)g.push(parseInt(m[d],10)&parseInt(x[d],10)),d++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.parse=function(y){let l=this.parser(y);if(l===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(l)},p.IPv4.parseCIDR=function(y){let l;if(l=y.match(/^(.+)\/(\d+)$/)){let d=parseInt(l[2]);if(d>=0&&d<=32){let m=[this.parse(l[1]),d];return Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},p.IPv4.parser=function(y){let l,d,m;if(l=y.match(r.fourOctet))return function(){let g=l.slice(1,6),x=[];for(let b=0;b<g.length;b++)d=g[b],x.push(f(d));return x}();if(l=y.match(r.longValue)){if(m=f(l[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(m>>x&255);return g}().reverse()}else return(l=y.match(r.twoOctet))?function(){let g=l.slice(1,4),x=[];if(m=f(g[1]),m>16777215||m<0)throw new Error("ipaddr: address outside defined range");return x.push(f(g[0])),x.push(m>>16&255),x.push(m>>8&255),x.push(m&255),x}():(l=y.match(r.threeOctet))?function(){let g=l.slice(1,5),x=[];if(m=f(g[2]),m>65535||m<0)throw new Error("ipaddr: address outside defined range");return x.push(f(g[0])),x.push(f(g[1])),x.push(m>>8&255),x.push(m&255),x}():null},p.IPv4.subnetMaskFromPrefixLength=function(y){if(y=parseInt(y),y<0||y>32)throw new Error("ipaddr: invalid IPv4 prefix length");let l=[0,0,0,0],d=0,m=Math.floor(y/8);for(;d<m;)l[d]=255,d++;return m<4&&(l[m]=Math.pow(2,y%8)-1<<8-y%8),new this(l)},p.IPv6=function(){function y(l,d){let m,g;if(l.length===16)for(this.parts=[],m=0;m<=14;m+=2)this.parts.push(l[m]<<8|l[m+1]);else if(l.length===8)this.parts=l;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(m=0;m<this.parts.length;m++)if(g=this.parts[m],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");d&&(this.zoneId=d)}return y.prototype.SpecialRanges={unspecified:[new y([0,0,0,0,0,0,0,0]),128],linkLocal:[new y([65152,0,0,0,0,0,0,0]),10],multicast:[new y([65280,0,0,0,0,0,0,0]),8],loopback:[new y([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new y([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new y([0,0,0,0,0,65535,0,0]),96],rfc6145:[new y([0,0,0,0,65535,0,0,0]),96],rfc6052:[new y([100,65435,0,0,0,0,0,0]),96],"6to4":[new y([8194,0,0,0,0,0,0,0]),16],teredo:[new y([8193,0,0,0,0,0,0,0]),32],reserved:[[new y([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new y([8193,2,0,0,0,0,0,0]),48],amt:[new y([8193,3,0,0,0,0,0,0]),32],as112v6:[new y([8193,4,274,0,0,0,0,0]),48],deprecated:[new y([8193,16,0,0,0,0,0,0]),28],orchid2:[new y([8193,32,0,0,0,0,0,0]),28]},y.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},y.prototype.kind=function(){return"ipv6"},y.prototype.match=function(l,d){let m;if(d===void 0&&(m=l,l=m[0],d=m[1]),l.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,l.parts,16,d)},y.prototype.prefixLengthFromSubnetMask=function(){let l=0,d=!1,m={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},g,x;for(let b=7;b>=0;b-=1)if(g=this.parts[b],g in m){if(x=m[g],d&&x!==0)return null;x!==16&&(d=!0),l+=x}else return null;return 128-l},y.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},y.prototype.toByteArray=function(){let l,d=[],m=this.parts;for(let g=0;g<m.length;g++)l=m[g],d.push(l>>8),d.push(l&255);return d},y.prototype.toFixedLengthString=function(){let l=function(){let m=[];for(let g=0;g<this.parts.length;g++)m.push(h(this.parts[g].toString(16),4));return m}.call(this).join(":"),d="";return this.zoneId&&(d=`%${this.zoneId}`),l+d},y.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let l=this.parts.slice(-2),d=l[0],m=l[1];return new p.IPv4([d>>8,d&255,m>>8,m&255])},y.prototype.toNormalizedString=function(){let l=function(){let m=[];for(let g=0;g<this.parts.length;g++)m.push(this.parts[g].toString(16));return m}.call(this).join(":"),d="";return this.zoneId&&(d=`%${this.zoneId}`),l+d},y.prototype.toRFC5952String=function(){let l=/((^|:)(0(:|$)){2,})/g,d=this.toNormalizedString(),m=0,g=-1,x;for(;x=l.exec(d);)x[0].length>g&&(m=x.index,g=x[0].length);return g<0?d:`${d.substring(0,m)}::${d.substring(m+g)}`},y.prototype.toString=function(){return this.toRFC5952String()},y}(),p.IPv6.broadcastAddressFromCIDR=function(y){try{let l=this.parseCIDR(y),d=l[0].toByteArray(),m=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(d[x],10)|parseInt(m[x],10)^255),x++;return new this(g)}catch(l){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${l})`)}},p.IPv6.isIPv6=function(y){return this.parser(y)!==null},p.IPv6.isValid=function(y){if(typeof y=="string"&&y.indexOf(":")===-1)return!1;try{let l=this.parser(y);return new this(l.parts,l.zoneId),!0}catch{return!1}},p.IPv6.networkAddressFromCIDR=function(y){let l,d,m,g,x;try{for(l=this.parseCIDR(y),m=l[0].toByteArray(),x=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],d=0;d<16;)g.push(parseInt(m[d],10)&parseInt(x[d],10)),d++;return new this(g)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},p.IPv6.parse=function(y){let l=this.parser(y);if(l.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(l.parts,l.zoneId)},p.IPv6.parseCIDR=function(y){let l,d,m;if((d=y.match(/^(.+)\/(\d+)$/))&&(l=parseInt(d[2]),l>=0&&l<=128))return m=[this.parse(d[1]),l],Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},p.IPv6.parser=function(y){let l,d,m,g,x,b;if(m=y.match(a.deprecatedTransitional))return this.parser(`::ffff:${m[1]}`);if(a.native.test(y))return c(y,8);if((m=y.match(a.transitional))&&(b=m[6]||"",l=c(m[1].slice(0,-1)+b,6),l.parts)){for(x=[parseInt(m[2]),parseInt(m[3]),parseInt(m[4]),parseInt(m[5])],d=0;d<x.length;d++)if(g=x[d],!(0<=g&&g<=255))return null;return l.parts.push(x[0]<<8|x[1]),l.parts.push(x[2]<<8|x[3]),{parts:l.parts,zoneId:l.zoneId}}return null},p.IPv6.subnetMaskFromPrefixLength=function(y){if(y=parseInt(y),y<0||y>128)throw new Error("ipaddr: invalid IPv6 prefix length");let l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],d=0,m=Math.floor(y/8);for(;d<m;)l[d]=255,d++;return m<16&&(l[m]=Math.pow(2,y%8)-1<<8-y%8),new this(l)},p.fromByteArray=function(y){let l=y.length;if(l===4)return new p.IPv4(y);if(l===16)return new p.IPv6(y);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},p.isValid=function(y){return p.IPv6.isValid(y)||p.IPv4.isValid(y)},p.parse=function(y){if(p.IPv6.isValid(y))return p.IPv6.parse(y);if(p.IPv4.isValid(y))return p.IPv4.parse(y);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},p.parseCIDR=function(y){try{return p.IPv6.parseCIDR(y)}catch{try{return p.IPv4.parseCIDR(y)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},p.process=function(y){let l=this.parse(y);return l.kind()==="ipv6"&&l.isIPv4MappedAddress()?l.toIPv4Address():l},p.subnetMatch=function(y,l,d){let m,g,x,b;d==null&&(d="unicast");for(g in l)if(Object.prototype.hasOwnProperty.call(l,g)){for(x=l[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),m=0;m<x.length;m++)if(b=x[m],y.kind()===b[0].kind()&&y.match.apply(y,b))return g}return d},typeof Gc<"u"&&Gc.exports?Gc.exports=p:t.ipaddr=p})(x2)});var q2=z((gX,V2)=>{"use strict";V2.exports=K2;var eN=oh(),pn=K2.prototype,tN=new Date%1e9;function rN(){return(Math.random()*1e9>>>0)+tN++}function K2(t){t=t||{},this.id=t.id||rN(),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)}pn.has=function(t){return t in this._lookup};pn.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};pn.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};pn.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};pn.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};pn.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=eN(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};pn.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};pn.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 W2=z((SX,G2)=>{"use strict";G2.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Z2=z((j2,J2)=>{"use strict";var eu=W2(),{hasOwnProperty:Q2}=Object.prototype,{propertyIsEnumerable:oN}=Object,Io=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),sN=j2,Y2={concatArrays:!1,ignoreUndefined:!1},tu=t=>{let e=[];for(let r in t)Q2.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)oN.call(t,n)&&e.push(n)}return e};function _o(t){return Array.isArray(t)?aN(t):eu(t)?cN(t):t}function aN(t){let e=t.slice(0,0);return tu(t).forEach(r=>{Io(e,r,_o(t[r]))}),e}function cN(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return tu(t).forEach(r=>{Io(e,r,_o(t[r]))}),e}var X2=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Io(t,i,wp(t[i],e[i],n)):Io(t,i,_o(e[i])))}),t),uN=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)Q2.call(o,a)&&(s.push(String(a)),o===t?Io(n,i++,o[a]):Io(n,i++,_o(o[a])));n=X2(n,o,tu(o).filter(a=>!s.includes(a)),r)}),n};function wp(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?uN(t,e,r):!eu(e)||!eu(t)?_o(e):X2(t,e,tu(e),r)}J2.exports=function(...t){let e=wp(_o(Y2),this!==sN&&this||{},Y2),r={_:{}};for(let n of t)if(n!==void 0){if(!eu(n))throw new TypeError("`"+n+"` is not an Option Object");r=wp(r,{_:n},e)}return r._}});var js=z((PX,rv)=>{rv.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var iv=z((kX,nv)=>{nv.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var sv=z((UX,ov)=>{var lN=iv();ov.exports=lN});var bt=z((FX,av)=>{av.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var ti=z((VX,uv)=>{var vp=js(),hN=sv(),cv=bt();uv.exports=class extends vp{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new hN}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,o,s={}){let a=this._getRateLimiterRes(n,i,o);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,s)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,o,s=!1,a={}){this.insuranceLimiter instanceof vp?this.insuranceLimiter[r](o,s,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof vp))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let o=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,o,i)}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return o(new cv(0,a));this._upsert(s,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,o,s,r,c)}).catch(c=>{this._handleError(c,"consume",i,o,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",o,s,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",o,s,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._get(n,r).then(s=>{i(s===null||typeof s>"u"?null:this._getRateLimiterRes(n,0,s))}).catch(s=>{this._handleError(s,"get",i,o,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._delete(n,r).then(s=>{this._inMemoryBlockedKeys.delete(n),i(s)}).catch(s=>{this._handleError(s,"delete",i,o,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((o,s)=>{this._upsert(e,r,n,!0,i).then(()=>{o(new cv(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",o,s,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,o={}){throw new Error("You have to implement the method '_upsert'!")}}});var lv=z((qX,fv)=>{var dN=ti(),pN=bt(),Ep="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Ap=class extends dN{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage||this.client.constructor.name==="Commander"||!1,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Ep})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,o]=n;Array.isArray(i)&&([,i]=i,[,o]=o);let s=new pN;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===r,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}async _upsert(e,r,n,i=!1){if(!this._isRedisReady())throw new Error("Redis connection is not ready");let o=Math.floor(n/1e3),s=this.client.multi();return i?(o>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?s.set(e,r,"EX",o):s.set(e,r,{EX:o}):s.set(e,r),!this.useRedisPackage&&!this.useRedis3AndLowerPackage?s.pttl(e).exec(!0):s.pTTL(e).exec(!0)):o>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.rlflxIncr([e].concat([String(r),String(o)])):this.useRedis3AndLowerPackage?new Promise((a,c)=>{let u=function(f,h){return f?c(f):a(h)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,o,u):this.client.eval(Ep,1,e,r,o,u)}):this.client.eval(Ep,{keys:[e],arguments:[String(r),String(o)]}):!this.useRedisPackage&&!this.useRedis3AndLowerPackage?s.incrby(e,r).pttl(e).exec(!0):s.incrBy(e,r).pTTL(e).exec(!0)}async _get(e){if(!this._isRedisReady())throw new Error("Redis connection is not ready");return!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.multi().get(e).pttl(e).exec().then(r=>{let[[,n]]=r;return n===null?null:r}):this.client.multi().get(e).pTTL(e).exec(!0).then(r=>{let[n]=r;return n===null?null:r})}_delete(e){return this.client.del(e).then(r=>r>0)}};fv.exports=Ap});var pv=z((zX,dv)=>{var mN=ti(),yN=bt();function hv(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var Sp=class t extends mN{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=hv(this.client)}):(this._initCollection(),this._driverVersion=hv(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?t.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new yN,o;return typeof n.value>"u"?o=n:o=n.value,i.isFirstInDuration=o.points===r,i.consumedPoints=o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire!==null?Math.max(new Date(o.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,o={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let s=o.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,s),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,s)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,s),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,s));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((f,h)=>{this._collection.findOneAndUpdate(a,c,u).then(p=>{f(p)}).catch(p=>{if(p&&p.code===11e3){let y=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},s),l={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(y,l,u).then(d=>{f(d)}).catch(d=>{d&&d.code===11e3?this._upsert(e,r,n,i).then(m=>f(m)).catch(m=>h(m)):h(d)})}else h(p)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};dv.exports=Sp});var yv=z(($X,mv)=>{var gN=ti(),xN=bt(),Cp=class extends gN{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),o=>{if(o)return this._releaseConnection(n),r(o);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new xN,[o]=n;return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,o){return new Promise((s,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),f=i>0?u+i:null,h,p;o?(h=`INSERT INTO ??.?? VALUES (?, ?, ?)
16
16
  ON DUPLICATE KEY UPDATE
17
17
  points = ?,
18
- expire = ?;`,d=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
18
+ expire = ?;`,p=[this.dbName,this.tableName,r,n,f,n,f]):(h=`INSERT INTO ??.?? VALUES (?, ?, ?)
19
19
  ON DUPLICATE KEY UPDATE
20
20
  points = IF(expire <= ?, ?, points + (?)),
21
- expire = IF(expire <= ?, ?, expire);`,d=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,d,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(h,m)=>{if(h)return e.rollback(),a(h);e.query("COMMIT",g=>{if(g)return e.rollback(),a(g);o(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{s(c),this._releaseConnection(a)}).catch(c=>{o(c),this._releaseConnection(a)})}).catch(a=>{o(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(s,o)=>{s?n(s):o.length===0?r(null):r(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};Lp.exports=Zu});var Np=q((JB,Pp)=>{var cE=ei(),uE=xt(),ju=class extends cE{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.schemaName=e.schemaName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}_getTableIdentifier(){return this.schemaName?`"${this.schemaName}"."${this.tableName}"`:`"${this.tableName}"`}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this._getTableIdentifier()} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this._getTableIdentifier()} (
21
+ expire = IF(expire <= ?, ?, expire);`,p=[this.dbName,this.tableName,r,n,f,u,n,n,u,f]),e.query(h,p,y=>{if(y)return e.rollback(),a(y);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(l,d)=>{if(l)return e.rollback(),a(l);e.query("COMMIT",m=>{if(m)return e.rollback(),a(m);s(d)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((o,s)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{o(c),this._releaseConnection(a)}).catch(c=>{s(c),this._releaseConnection(a)})}).catch(a=>{s(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(o,s)=>{o?n(o):s.length===0?r(null):r(s),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(o,s)=>{o?n(o):r(s.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};mv.exports=Cp});var xv=z((HX,gv)=>{var bN=ti(),wN=bt(),Ip=class extends bN{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.schemaName=e.schemaName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}_getTableIdentifier(){return this.schemaName?`"${this.schemaName}"."${this.tableName}"`:`"${this.tableName}"`}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this._getTableIdentifier()} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this._getTableIdentifier()} (
22
22
  key varchar(255) PRIMARY KEY,
23
23
  points integer NOT NULL DEFAULT 0,
24
24
  expire bigint
25
- );`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get schemaName(){return this._schemaName}set schemaName(e){this._schemaName=e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new uE,s=n.rows[0];return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,s)=>{this._getConnection().then(o=>{o.query(n).then(a=>{i(a),this._releaseConnection(o)}).catch(a=>{s(a),this._releaseConnection(o)})}).catch(o=>{s(o)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let s=n>0?Date.now()+n:null,o=i?" $3 ":` CASE
25
+ );`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get schemaName(){return this._schemaName}set schemaName(e){this._schemaName=e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new wN,o=n.rows[0];return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,o)=>{this._getConnection().then(s=>{s.query(n).then(a=>{i(a),this._releaseConnection(s)}).catch(a=>{o(a),this._releaseConnection(s)})}).catch(s=>{o(s)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let o=n>0?Date.now()+n:null,s=i?" $3 ":` CASE
26
26
  WHEN ${this._getTableIdentifier()}.expire <= $4 THEN $3
27
27
  ELSE ${this._getTableIdentifier()}.expire
28
28
  END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
@@ -32,33 +32,33 @@
32
32
  WHEN (${this._getTableIdentifier()}.expire <= $4 OR 1=${i?1:0}) THEN $2
33
33
  ELSE ${this._getTableIdentifier()}.points + ($2)
34
34
  END,
35
- expire = ${o}
36
- RETURNING points, expire;`,values:[e,r,s,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
37
- SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Pp.exports=ju});var kp=q(()=>{});var Mp=q((n6,Op)=>{Op.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var Fp=q((s6,Up)=>{var lE=Mp(),Ju=xt();Up.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return!this._storage[e].expiresAt||i>0?(this._storage[e].value=this._storage[e].value+r,new Ju(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new lE(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new Ju(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new Ju(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var tl=q((o6,qp)=>{var fE=Gi(),hE=Fp(),Kp=xt(),el=class extends fE{constructor(e={}){super(e),this._memoryStorage=new hE}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new Kp(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new Kp(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};qp.exports=el});var Yp=q((a6,Wp)=>{var Vp=kp(),dE=fi(),pE=Gi(),zp=tl(),mE=xt(),At="rate_limiter_flexible",ni=null,$p=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:At,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},Hp=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Hp.call(this,t)},30)},ti=function(t,e,r,n,i){let s={channel:At,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):Hp.call(this,s)},Gp=function(t,e){if(!e||e.channel!==At||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{$p(t,e,"resolve",n)}).catch(n=>{$p(t,e,"reject",n)})},gE=function(t){if(!t||t.channel!==At||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new mE(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},yE=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},ri=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=dE.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},rl=class{constructor(){if(ni)return ni;this._rateLimiters={},Vp.setMaxListeners(0),Vp.on("message",(e,r)=>{r&&r.channel===At&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new zp(r.opts)),e.send({channel:At,type:"init",keyPrefix:r.opts.keyPrefix})):Gp.call(this,e,r)}),ni=this}},nl=class{constructor(e){if(ni)return ni;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===At&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new zp(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:At,channel:At,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=At,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};Gp.call(this,o,s)}})}),ni=this}},il=class extends pE{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===At&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:gE.call(this,r)}),process.send({channel:At,type:"init",opts:yE.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=ri.call(this,i,s);ti.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=ri.call(this,i,s);ti.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=ri.call(this,i,s);ti.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=ri.call(this,i,s);ti.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=ri.call(this,n,i);ti.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=ri.call(this,n,i);ti.call(this,"delete",s,e,r)})}};Wp.exports={RateLimiterClusterMaster:rl,RateLimiterClusterMasterPM2:nl,RateLimiterCluster:il}});var Xp=q((c6,Qp)=>{var xE=ei(),bE=xt(),sl=class extends xE{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new bE;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(d,p)=>{if(d||!p)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let h=Object.assign({},s);h.attemptNumber=h.attemptNumber?h.attemptNumber+1:1,this._upsert(e,r,n,i,h).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(h)})}):this.client.get(`${e}_expire`,(d,p)=>{if(d)a(d);else{let h=p===!1?0:p,m={consumedPoints:f,msBeforeNext:h>=0?Math.max(h-c,0):-1};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};Qp.exports=sl});var Jp=q((l6,jp)=>{var Zp=xt();jp.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new Zp(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Zp(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var tm=q((h6,em)=>{var wE=Gi();em.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof wE))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var nm=q((p6,rm)=>{rm.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var am=q((g6,om)=>{var im=nm(),sm=4294967295,ol="limiter";om.exports=class{constructor(e,r={maxQueueSize:sm}){this._queueLimiters={KEY_DEFAULT:new Io(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=ol){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=ol){return this._queueLimiters[r]||(this._queueLimiters[r]=new Io(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Io=class{constructor(e,r={maxQueueSize:sm,key:ol}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new im(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new im(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var um=q((x6,cm)=>{var al=xt();cm.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new al(e.remainingPoints,Math.min(e.msBeforeNext,r?r.msBeforeNext:0),e.consumedPoints,e.isFirstInDuration):null}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof al?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof al?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var fm=q((b6,lm)=>{var EE=Rp(),vE=Bp(),_E=Dp(),SE=Np(),{RateLimiterClusterMaster:AE,RateLimiterClusterMasterPM2:IE,RateLimiterCluster:RE}=Yp(),CE=tl(),TE=Xp(),BE=Jp(),LE=tm(),DE=am(),PE=um(),NE=xt();lm.exports={RateLimiterRedis:EE,RateLimiterMongo:vE,RateLimiterMySQL:_E,RateLimiterPostgres:SE,RateLimiterMemory:CE,RateLimiterMemcache:TE,RateLimiterClusterMaster:AE,RateLimiterClusterMasterPM2:IE,RateLimiterCluster:RE,RLWrapperBlackAndWhite:BE,RateLimiterUnion:LE,RateLimiterQueue:DE,BurstyRateLimiter:PE,RateLimiterRes:NE}});var ov={};Me(ov,{createLibp2p:()=>sv});var N4=we(li(),1),k4=we(Xf(),1);var Zf=Symbol.for("@libp2p/connection");var va=Symbol.for("@libp2p/content-routing");var _a=Symbol.for("@libp2p/peer-discovery");var Sa=Symbol.for("@libp2p/peer-id");function gs(t){return t!=null&&!!t[Sa]}var Aa=Symbol.for("@libp2p/peer-routing");var jf="keep-alive";var Jf;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(Jf||(Jf={}));var qv=Symbol.for("@libp2p/transport");var br;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(br||(br={}));var En=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"},S=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ys="ERR_TIMEOUT",Ia="ERR_INVALID_PARAMETERS";var pi=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:s})=>s!==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 Ca(e,r))}},Ra=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Ca=globalThis.CustomEvent??Ra;var ht=(t,...e)=>{try{[...e]}catch{}};function e0(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var lb=we(fe(),1);function Vr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Pa={};Me(Pa,{base10:()=>bx});function px(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 s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(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 m=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,m++;for(var b=(x-y)*l+1>>>0,I=new Uint8Array(b);y!==x;){for(var v=h[y],_=0,D=b-1;(v!==0||_<g)&&D!==-1;D--,_++)v+=256*I[D]>>>0,I[D]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=_,y++}for(var P=b-g;P!==b&&I[P]===0;)P++;for(var H=c.repeat(m);P<b;++P)H+=t.charAt(I[P]);return H}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var g=0,y=0;h[m]===c;)g++,m++;for(var x=(h.length-m)*u+1>>>0,b=new Uint8Array(x);h[m];){var I=r[h.charCodeAt(m)];if(I===255)return;for(var v=0,_=x-1;(I!==0||v<y)&&_!==-1;_--,v++)I+=a*b[_]>>>0,b[_]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=v,m++}if(h[m]!==" "){for(var D=x-y;D!==x&&b[D]===0;)D++;for(var P=new Uint8Array(g+(x-D)),H=g;D!==x;)P[H++]=b[D++];return P}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var mx=px,gx=mx,t0=gx;var E_=new Uint8Array(0);var r0=(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},er=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 n0=t=>new TextEncoder().encode(t),i0=t=>new TextDecoder().decode(t);var Ta=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")}},Ba=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 o0(this,e)}},La=class{constructor(e){this.decoders=e}or(e){return o0(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`)}},o0=(t,e)=>new La({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Da=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ta(e,r,n),this.decoder=new Ba(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},vn=({name:t,prefix:e,encode:r,decode:n})=>new Da(t,e,r,n),wr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=t0(r,e);return vn({prefix:t,name:e,encode:n,decode:s=>er(i(s))})},yx=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},xx=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},_e=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>vn({prefix:e,name:t,encode(i){return xx(i,n,r)},decode(i){return yx(i,n,r,t)}});var bx=wr({prefix:"9",name:"base10",alphabet:"0123456789"});var Na={};Me(Na,{base16:()=>wx,base16upper:()=>Ex});var wx=_e({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ex=_e({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ka={};Me(ka,{base2:()=>vx});var vx=_e({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Oa={};Me(Oa,{base256emoji:()=>Rx});var a0=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}"),_x=a0.reduce((t,e,r)=>(t[r]=e,t),[]),Sx=a0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Ax(t){return t.reduce((e,r)=>(e+=_x[r],e),"")}function Ix(t){let e=[];for(let r of t){let n=Sx[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Rx=vn({prefix:"\u{1F680}",name:"base256emoji",encode:Ax,decode:Ix});var Ma={};Me(Ma,{base32:()=>dt,base32hex:()=>Lx,base32hexpad:()=>Px,base32hexpadupper:()=>Nx,base32hexupper:()=>Dx,base32pad:()=>Tx,base32padupper:()=>Bx,base32upper:()=>Cx,base32z:()=>kx});var dt=_e({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Cx=_e({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Tx=_e({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Bx=_e({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Lx=_e({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Dx=_e({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Px=_e({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Nx=_e({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),kx=_e({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ua={};Me(Ua,{base36:()=>Ox,base36upper:()=>Mx});var Ox=wr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Mx=wr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Fa={};Me(Fa,{base58btc:()=>Ee,base58flickr:()=>Ux});var Ee=wr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ux=wr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var qa={};Me(qa,{base64:()=>_n,base64pad:()=>Fx,base64url:()=>Ka,base64urlpad:()=>Kx});var _n=_e({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Fx=_e({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ka=_e({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Kx=_e({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Va={};Me(Va,{base8:()=>qx});var qx=_e({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var $a={};Me($a,{identity:()=>Vx});var Vx=vn({prefix:"\0",name:"identity",encode:t=>i0(t),decode:t=>n0(t)});var O_=new TextEncoder,M_=new TextDecoder;var Ha={};Me(Ha,{identity:()=>Er});var Hx=l0,c0=128,Gx=127,Wx=~Gx,Yx=Math.pow(2,31);function l0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Yx;)e[r++]=t&255|c0,t/=128;for(;t&Wx;)e[r++]=t&255|c0,t>>>=7;return e[r]=t|0,l0.bytes=r-n+1,e}var Qx=za,Xx=128,u0=127;function za(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw za.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&u0)<<i:(o&u0)*Math.pow(2,i),i+=7}while(o>=Xx);return za.bytes=s-n,r}var Zx=Math.pow(2,7),jx=Math.pow(2,14),Jx=Math.pow(2,21),e1=Math.pow(2,28),t1=Math.pow(2,35),r1=Math.pow(2,42),n1=Math.pow(2,49),i1=Math.pow(2,56),s1=Math.pow(2,63),o1=function(t){return t<Zx?1:t<jx?2:t<Jx?3:t<e1?4:t<t1?5:t<r1?6:t<n1?7:t<i1?8:t<s1?9:10},a1={encode:Hx,decode:Qx,encodingLength:o1},c1=a1,mi=c1;var gi=(t,e=0)=>[mi.decode(t,e),mi.decode.bytes],Sn=(t,e,r=0)=>(mi.encode(t,e,r),e),An=t=>mi.encodingLength(t);var zt=(t,e)=>{let r=e.byteLength,n=An(t),i=n+An(r),s=new Uint8Array(i+r);return Sn(t,s,0),Sn(r,s,n),s.set(e,i),new In(t,r,e,s)},$r=t=>{let e=er(t),[r,n]=gi(e),[i,s]=gi(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new In(r,i,o,e)},f0=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&r0(t.bytes,r.bytes)}},In=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var h0=0,u1="identity",d0=er,l1=t=>zt(h0,d0(t)),Er={code:h0,name:u1,encode:d0,digest:l1};var Ya={};Me(Ya,{sha256:()=>He,sha512:()=>f1});var Wa=({name:t,code:e,encode:r})=>new Ga(t,e,r),Ga=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?zt(this.code,r):r.then(n=>zt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var m0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),He=Wa({name:"sha2-256",code:18,encode:m0("SHA-256")}),f1=Wa({name:"sha2-512",code:19,encode:m0("SHA-512")});var g0=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return d1(r,Qa(t),e||Ee.encoder);default:return p1(r,Qa(t),e||dt.encoder)}};var y0=new WeakMap,Qa=t=>{let e=y0.get(t);if(e==null){let r=new Map;return y0.set(t,r),r}return e},Ct=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!==yi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==m1)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=zt(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&&f0(e.multihash,n.multihash)}toString(e){return g0(this,e)}toJSON(){return{"/":g0(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:s,bytes:o}=r;return new t(n,i,s,o||x0(n,i,s.bytes))}else if(r[g1]===!0){let{version:n,multihash:i,code:s}=r,o=$r(i);return t.create(n,s,o)}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!==yi)throw new Error(`Version 0 CID must use dag-pb (code: ${yi}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=x0(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,yi,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=er(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new In(r.multihashCode,r.digestSize,s,i);return[r.version===0?t.createV0(o):t.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=gi(e.subarray(r));return r+=d,f},i=n(),s=yi;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=h1(e,r),s=t.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Qa(s).set(n,e),s}},h1=(t,e)=>{switch(t[0]){case"Q":{let r=e||Ee;return[Ee.prefix,r.decode(`${Ee.prefix}${t}`)]}case Ee.prefix:{let r=e||Ee;return[Ee.prefix,r.decode(t)]}case dt.prefix:{let r=e||dt;return[dt.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)]}}},d1=(t,e,r)=>{let{prefix:n}=r;if(n!==Ee.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},p1=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},yi=112,m1=18,x0=(t,e,r)=>{let n=An(t),i=n+An(e),s=new Uint8Array(i+r.byteLength);return Sn(t,s,0),Sn(e,s,n),s.set(r,i),s},g1=Symbol.for("@ipld/js-cid/CID");var at={...$a,...ka,...Va,...Pa,...Na,...Ma,...Ua,...Fa,...qa,...Oa},J_={...Ya,...Ha};function bs(t=0){return globalThis.Buffer?.allocUnsafe!=null?Vr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function w0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var b0=w0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Xa=w0("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=bs(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),y1={utf8:b0,"utf-8":b0,hex:at.base16,latin1:Xa,ascii:Xa,binary:Xa,...at},ws=y1;function Z(t,e="utf8"){let r=ws[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Vr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Tc={};Me(Tc,{Ed25519PrivateKey:()=>Zr,Ed25519PublicKey:()=>Si,generateKeyPair:()=>N2,generateKeyPairFromSeed:()=>oh,unmarshalEd25519PrivateKey:()=>D2,unmarshalEd25519PublicKey:()=>P2});function De(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 mS=we(Te(),1),gS=we(hs(),1),E0=we(fe(),1);function tr(t,e){if(globalThis.Buffer!=null)return Vr(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=bs(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Vr(r)}function Pe(t,e="utf8"){let r=ws[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 Tt(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=tr([new Uint8Array(e-r.length),r])}return Pe(r,"base64url")}function pt(t){let e=v0(t);return new E0.default.jsbn.BigInteger(Pe(e,"base16"),16)}function v0(t,e){let r=Z(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=tr([new Uint8Array(e-r.length),r])}return r}function Et(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function _0(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function x1(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Za(t,...e){if(!x1(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 S0(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");_0(t.outputLen),_0(t.blockLen)}function Rn(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 A0(t,e){Za(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Es=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function I0(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var vs=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Bt=(t,e)=>t<<32-e|t>>>e,b1=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!b1)throw new Error("Non little-endian hardware is not supported");function ja(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function xi(t){if(typeof t=="string"&&(t=ja(t)),!I0(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function _s(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!I0(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 s=t[n];r.set(s,i),i+=s.length}return r}var Cn=class{clone(){return this._cloneInto()}},SS={}.toString;function Ss(t){let e=n=>t().update(xi(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Tn(t=32){if(Es&&typeof Es.getRandomValues=="function")return Es.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function w1(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),c=n?4:0,u=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+u,a,n)}var Bn=class extends Cn{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=vs(this.buffer)}update(e){Rn(this);let{view:r,buffer:n,blockLen:i}=this;e=xi(e);let s=e.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let c=vs(e);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Rn(this),A0(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:s}=this,{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let f=o;f<i;f++)r[f]=0;w1(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=vs(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],s)}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:s,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=s,e.destroyed=o,i%r&&e.buffer.set(n),e}};var As=BigInt(4294967295),Ja=BigInt(32);function R0(t,e=!1){return e?{h:Number(t&As),l:Number(t>>Ja&As)}:{h:Number(t>>Ja&As)|0,l:Number(t&As)|0}}function E1(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:s,l:o}=R0(t[i],e);[r[i],n[i]]=[s,o]}return[r,n]}var v1=(t,e)=>BigInt(t>>>0)<<Ja|BigInt(e>>>0),_1=(t,e,r)=>t>>>r,S1=(t,e,r)=>t<<32-r|e>>>r,A1=(t,e,r)=>t>>>r|e<<32-r,I1=(t,e,r)=>t<<32-r|e>>>r,R1=(t,e,r)=>t<<64-r|e>>>r-32,C1=(t,e,r)=>t>>>r-32|e<<64-r,T1=(t,e)=>e,B1=(t,e)=>t,L1=(t,e,r)=>t<<r|e>>>32-r,D1=(t,e,r)=>e<<r|t>>>32-r,P1=(t,e,r)=>e<<r-32|t>>>64-r,N1=(t,e,r)=>t<<r-32|e>>>64-r;function k1(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var O1=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),M1=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,U1=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),F1=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,K1=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),q1=(t,e,r,n,i,s)=>e+r+n+i+s+(t/2**32|0)|0;var V1={fromBig:R0,split:E1,toBig:v1,shrSH:_1,shrSL:S1,rotrSH:A1,rotrSL:I1,rotrBH:R1,rotrBL:C1,rotr32H:T1,rotr32L:B1,rotlSH:L1,rotlSL:D1,rotlBH:P1,rotlBL:N1,add:k1,add3L:O1,add3H:M1,add4L:U1,add4H:F1,add5H:q1,add5L:K1},Q=V1;var[$1,z1]=Q.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),vr=new Uint32Array(80),_r=new Uint32Array(80),ec=class extends Bn{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:s,Cl:o,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:d,Gh:p,Gl:h,Hh:m,Hl:g}=this;return[e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,g]}set(e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,g){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=f|0,this.Fl=d|0,this.Gh=p|0,this.Gl=h|0,this.Hh=m|0,this.Hl=g|0}process(e,r){for(let b=0;b<16;b++,r+=4)vr[b]=e.getUint32(r),_r[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let I=vr[b-15]|0,v=_r[b-15]|0,_=Q.rotrSH(I,v,1)^Q.rotrSH(I,v,8)^Q.shrSH(I,v,7),D=Q.rotrSL(I,v,1)^Q.rotrSL(I,v,8)^Q.shrSL(I,v,7),P=vr[b-2]|0,H=_r[b-2]|0,G=Q.rotrSH(P,H,19)^Q.rotrBH(P,H,61)^Q.shrSH(P,H,6),$=Q.rotrSL(P,H,19)^Q.rotrBL(P,H,61)^Q.shrSL(P,H,6),J=Q.add4L(D,$,_r[b-7],_r[b-16]),le=Q.add4H(J,_,G,vr[b-7],vr[b-16]);vr[b]=le|0,_r[b]=J|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:d,Fh:p,Fl:h,Gh:m,Gl:g,Hh:y,Hl:x}=this;for(let b=0;b<80;b++){let I=Q.rotrSH(f,d,14)^Q.rotrSH(f,d,18)^Q.rotrBH(f,d,41),v=Q.rotrSL(f,d,14)^Q.rotrSL(f,d,18)^Q.rotrBL(f,d,41),_=f&p^~f&m,D=d&h^~d&g,P=Q.add5L(x,v,D,z1[b],_r[b]),H=Q.add5H(P,y,I,_,$1[b],vr[b]),G=P|0,$=Q.rotrSH(n,i,28)^Q.rotrBH(n,i,34)^Q.rotrBH(n,i,39),J=Q.rotrSL(n,i,28)^Q.rotrBL(n,i,34)^Q.rotrBL(n,i,39),le=n&s^n&a^s&a,Ve=i&o^i&c^o&c;y=m|0,x=g|0,m=p|0,g=h|0,p=f|0,h=d|0,{h:f,l:d}=Q.add(u|0,l|0,H|0,G|0),u=a|0,l=c|0,a=s|0,c=o|0,s=n|0,o=i|0;let T=Q.add3L(G,J,Ve);n=Q.add3H(T,H,$,le),i=T|0}({h:n,l:i}=Q.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=Q.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=Q.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=Q.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:d}=Q.add(this.Eh|0,this.El|0,f|0,d|0),{h:p,l:h}=Q.add(this.Fh|0,this.Fl|0,p|0,h|0),{h:m,l:g}=Q.add(this.Gh|0,this.Gl|0,m|0,g|0),{h:y,l:x}=Q.add(this.Hh|0,this.Hl|0,y|0,x|0),this.set(n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x)}roundClean(){vr.fill(0),_r.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 tc=Ss(()=>new ec);var Rs={};Me(Rs,{bitGet:()=>Z1,bitLen:()=>X1,bitMask:()=>bi,bitSet:()=>j1,bytesToHex:()=>nr,bytesToNumberBE:()=>ir,bytesToNumberLE:()=>Sr,concatBytes:()=>sr,createHmacDrbg:()=>ic,ensureBytes:()=>Se,equalBytes:()=>Y1,hexToBytes:()=>Hr,hexToNumber:()=>nc,isBytes:()=>Lt,numberToBytesBE:()=>Ar,numberToBytesLE:()=>Gr,numberToHexUnpadded:()=>L0,numberToVarBytesBE:()=>W1,utf8ToBytes:()=>Q1,validateObject:()=>Ht});var B0=BigInt(0),Is=BigInt(1),H1=BigInt(2);function Lt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var G1=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function nr(t){if(!Lt(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=G1[t[r]];return e}function L0(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function nc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var rr={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function C0(t){if(t>=rr._0&&t<=rr._9)return t-rr._0;if(t>=rr._A&&t<=rr._F)return t-(rr._A-10);if(t>=rr._a&&t<=rr._f)return t-(rr._a-10)}function Hr(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,s=0;i<r;i++,s+=2){let o=C0(t.charCodeAt(s)),a=C0(t.charCodeAt(s+1));if(o===void 0||a===void 0){let c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[i]=o*16+a}return n}function ir(t){return nc(nr(t))}function Sr(t){if(!Lt(t))throw new Error("Uint8Array expected");return nc(nr(Uint8Array.from(t).reverse()))}function Ar(t,e){return Hr(t.toString(16).padStart(e*2,"0"))}function Gr(t,e){return Ar(t,e).reverse()}function W1(t){return Hr(L0(t))}function Se(t,e,r){let n;if(typeof e=="string")try{n=Hr(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(Lt(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 sr(...t){let e=0;for(let i=0;i<t.length;i++){let s=t[i];if(!Lt(s))throw new Error("Uint8Array expected");e+=s.length}let r=new Uint8Array(e),n=0;for(let i=0;i<t.length;i++){let s=t[i];r.set(s,n),n+=s.length}return r}function Y1(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 Q1(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function X1(t){let e;for(e=0;t>B0;t>>=Is,e+=1);return e}function Z1(t,e){return t>>BigInt(e)&Is}var j1=(t,e,r)=>t|(r?Is:B0)<<BigInt(e),bi=t=>(H1<<BigInt(t-1))-Is,rc=t=>new Uint8Array(t),T0=t=>Uint8Array.from(t);function ic(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=rc(t),i=rc(t),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...f)=>r(i,n,...f),c=(f=rc())=>{i=a(T0([0]),f),n=a(),f.length!==0&&(i=a(T0([1]),f),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,d=[];for(;f<e;){n=a();let p=n.slice();d.push(p),f+=n.length}return sr(...d)};return(f,d)=>{o(),c(f);let p;for(;!(p=d(u()));)c();return o(),p}}var J1={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"||Lt(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 Ht(t,e,r={}){let n=(i,s,o)=>{let a=J1[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=t[i];if(!(o&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${s}`)};for(let[i,s]of Object.entries(e))n(i,s,!1);for(let[i,s]of Object.entries(r))n(i,s,!0);return t}var Ne=BigInt(0),ye=BigInt(1),Wr=BigInt(2),e2=BigInt(3),sc=BigInt(4),D0=BigInt(5),P0=BigInt(8),t2=BigInt(9),r2=BigInt(16);function he(t,e){let r=t%e;return r>=Ne?r:e+r}function n2(t,e,r){if(r<=Ne||e<Ne)throw new Error("Expected power/modulo > 0");if(r===ye)return Ne;let n=ye;for(;e>Ne;)e&ye&&(n=n*t%r),t=t*t%r,e>>=ye;return n}function xe(t,e,r){let n=t;for(;e-- >Ne;)n*=n,n%=r;return n}function Cs(t,e){if(t===Ne||e<=Ne)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=he(t,e),n=e,i=Ne,s=ye,o=ye,a=Ne;for(;r!==Ne;){let u=n/r,l=n%r,f=i-o*u,d=s-a*u;n=r,r=l,i=o,s=a,o=f,a=d}if(n!==ye)throw new Error("invert: does not exist");return he(i,e)}function i2(t){let e=(t-ye)/Wr,r,n,i;for(r=t-ye,n=0;r%Wr===Ne;r/=Wr,n++);for(i=Wr;i<t&&n2(i,e,t)!==t-ye;i++);if(n===1){let o=(t+ye)/sc;return function(c,u){let l=c.pow(u,o);if(!c.eql(c.sqr(l),u))throw new Error("Cannot find square root");return l}}let s=(r+ye)/Wr;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,l=a.pow(a.mul(a.ONE,i),r),f=a.pow(c,s),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let p=1;for(let m=a.sqr(d);p<u&&!a.eql(m,a.ONE);p++)m=a.sqr(m);let h=a.pow(l,ye<<BigInt(u-p-1));l=a.sqr(h),f=a.mul(f,h),d=a.mul(d,l),u=p}return f}}function s2(t){if(t%sc===e2){let e=(t+ye)/sc;return function(n,i){let s=n.pow(i,e);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(t%P0===D0){let e=(t-D0)/P0;return function(n,i){let s=n.mul(i,Wr),o=n.pow(s,e),a=n.mul(i,o),c=n.mul(n.mul(a,Wr),o),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%r2,i2(t)}var N0=(t,e)=>(he(t,e)&ye)===ye,o2=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function oc(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=o2.reduce((n,i)=>(n[i]="function",n),e);return Ht(t,r)}function a2(t,e,r){if(r<Ne)throw new Error("Expected power > 0");if(r===Ne)return t.ONE;if(r===ye)return e;let n=t.ONE,i=e;for(;r>Ne;)r&ye&&(n=t.mul(n,i)),i=t.sqr(i),r>>=ye;return n}function c2(t,e){let r=new Array(e.length),n=e.reduce((s,o,a)=>t.is0(o)?s:(r[a]=s,t.mul(s,o)),t.ONE),i=t.inv(n);return e.reduceRight((s,o,a)=>t.is0(o)?s:(r[a]=t.mul(s,r[a]),t.mul(s,o)),i),r}function ac(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ts(t,e,r=!1,n={}){if(t<=Ne)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=ac(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=s2(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:bi(i),ZERO:Ne,ONE:ye,create:c=>he(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ne<=c&&c<t},is0:c=>c===Ne,isOdd:c=>(c&ye)===ye,neg:c=>he(-c,t),eql:(c,u)=>c===u,sqr:c=>he(c*c,t),add:(c,u)=>he(c+u,t),sub:(c,u)=>he(c-u,t),mul:(c,u)=>he(c*u,t),pow:(c,u)=>a2(a,c,u),div:(c,u)=>he(c*Cs(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Cs(c,t),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>c2(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?Gr(c,s):Ar(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?Sr(c):ir(c)}});return Object.freeze(a)}function k0(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 O0(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 cc(t){let e=O0(t);return e+Math.ceil(e/2)}function M0(t,e,r=!1){let n=t.length,i=O0(e),s=cc(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?ir(t):Sr(t),a=he(o,e-ye)+ye;return r?Gr(a,i):Ar(a,i)}var l2=BigInt(0),uc=BigInt(1);function Bs(t,e){let r=(i,s)=>{let o=s.negate();return i?o:s},n=i=>{let s=Math.ceil(e/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:r,unsafeLadder(i,s){let o=t.ZERO,a=i;for(;s>l2;)s&uc&&(o=o.add(a)),a=a.double(),s>>=uc;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),c=[],u=i,l=u;for(let f=0;f<o;f++){l=u,c.push(l);for(let d=1;d<a;d++)l=l.add(u),c.push(l);u=l.double()}return c},wNAF(i,s,o){let{windows:a,windowSize:c}=n(i),u=t.ZERO,l=t.BASE,f=BigInt(2**i-1),d=2**i,p=BigInt(i);for(let h=0;h<a;h++){let m=h*c,g=Number(o&f);o>>=p,g>c&&(g-=d,o+=uc);let y=m,x=m+Math.abs(g)-1,b=h%2!==0,I=g<0;g===0?l=l.add(r(b,s[y])):u=u.add(r(I,s[x]))}return{p:u,f:l}},wNAFCached(i,s,o,a){let c=i._WINDOW_SIZE||1,u=s.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&s.set(i,a(u))),this.wNAF(c,u,o)}}}function wi(t){return oc(t.Fp),Ht(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ac(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Dt=BigInt(0),mt=BigInt(1),Ls=BigInt(2),f2=BigInt(8),h2={zip215:!0};function d2(t){let e=wi(t);return Ht(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Ds(t){let e=d2(t),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:c}=e,u=Ls<<BigInt(a*8)-mt,l=r.create,f=e.uvRatio||((N,R)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(R))}}catch{return{isValid:!1,value:Dt}}}),d=e.adjustScalarBytes||(N=>N),p=e.domain||((N,R,U)=>{if(R.length||U)throw new Error("Contexts/pre-hash are not supported");return N}),h=N=>typeof N=="bigint"&&Dt<N,m=(N,R)=>h(N)&&h(R)&&N<R,g=N=>N===Dt||m(N,u);function y(N,R){if(m(N,R))return N;throw new Error(`Expected valid scalar < ${R}, got ${typeof N} ${N}`)}function x(N){return N===Dt?N:y(N,n)}let b=new Map;function I(N){if(!(N instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(R,U,K,z){if(this.ex=R,this.ey=U,this.ez=K,this.et=z,!g(R))throw new Error("x required");if(!g(U))throw new Error("y required");if(!g(K))throw new Error("z required");if(!g(z))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(R){if(R instanceof v)throw new Error("extended point not allowed");let{x:U,y:K}=R||{};if(!g(U)||!g(K))throw new Error("invalid affine point");return new v(U,K,mt,l(U*K))}static normalizeZ(R){let U=r.invertBatch(R.map(K=>K.ez));return R.map((K,z)=>K.toAffine(U[z])).map(v.fromAffine)}_setWindowSize(R){this._WINDOW_SIZE=R,b.delete(this)}assertValidity(){let{a:R,d:U}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:z,ez:X,et:ee}=this,ce=l(K*K),te=l(z*z),ie=l(X*X),Ce=l(ie*ie),ve=l(ce*R),$e=l(ie*l(ve+te)),ze=l(Ce+l(U*l(ce*te)));if($e!==ze)throw new Error("bad point: equation left != right (1)");let Le=l(K*z),Ze=l(X*ee);if(Le!==Ze)throw new Error("bad point: equation left != right (2)")}equals(R){I(R);let{ex:U,ey:K,ez:z}=this,{ex:X,ey:ee,ez:ce}=R,te=l(U*ce),ie=l(X*z),Ce=l(K*ce),ve=l(ee*z);return te===ie&&Ce===ve}is0(){return this.equals(v.ZERO)}negate(){return new v(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:R}=e,{ex:U,ey:K,ez:z}=this,X=l(U*U),ee=l(K*K),ce=l(Ls*l(z*z)),te=l(R*X),ie=U+K,Ce=l(l(ie*ie)-X-ee),ve=te+ee,$e=ve-ce,ze=te-ee,Le=l(Ce*$e),Ze=l(ve*ze),Xt=l(Ce*ze),Or=l($e*ve);return new v(Le,Ze,Or,Xt)}add(R){I(R);let{a:U,d:K}=e,{ex:z,ey:X,ez:ee,et:ce}=this,{ex:te,ey:ie,ez:Ce,et:ve}=R;if(U===BigInt(-1)){let Il=l((X-z)*(ie+te)),Rl=l((X+z)*(ie-te)),Jo=l(Rl-Il);if(Jo===Dt)return this.double();let Cl=l(ee*Ls*ve),Tl=l(ce*Ls*Ce),Bl=Tl+Cl,Ll=Rl+Il,Dl=Tl-Cl,Nm=l(Bl*Jo),km=l(Ll*Dl),Om=l(Bl*Dl),Mm=l(Jo*Ll);return new v(Nm,km,Mm,Om)}let $e=l(z*te),ze=l(X*ie),Le=l(ce*K*ve),Ze=l(ee*Ce),Xt=l((z+X)*(te+ie)-$e-ze),Or=Ze-Le,oi=Ze+Le,Al=l(ze-U*$e),Bm=l(Xt*Or),Lm=l(oi*Al),Dm=l(Xt*Al),Pm=l(Or*oi);return new v(Bm,Lm,Pm,Dm)}subtract(R){return this.add(R.negate())}wNAF(R){return P.wNAFCached(this,b,R,v.normalizeZ)}multiply(R){let{p:U,f:K}=this.wNAF(y(R,n));return v.normalizeZ([U,K])[0]}multiplyUnsafe(R){let U=x(R);return U===Dt?D:this.equals(D)||U===mt?this:this.equals(_)?this.wNAF(U).p:P.unsafeLadder(this,U)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return P.unsafeLadder(this,n).is0()}toAffine(R){let{ex:U,ey:K,ez:z}=this,X=this.is0();R==null&&(R=X?f2:r.inv(z));let ee=l(U*R),ce=l(K*R),te=l(z*R);if(X)return{x:Dt,y:mt};if(te!==mt)throw new Error("invZ was invalid");return{x:ee,y:ce}}clearCofactor(){let{h:R}=e;return R===mt?this:this.multiplyUnsafe(R)}static fromHex(R,U=!1){let{d:K,a:z}=e,X=r.BYTES;R=Se("pointHex",R,X);let ee=R.slice(),ce=R[X-1];ee[X-1]=ce&-129;let te=Sr(ee);te===Dt||(U?y(te,u):y(te,r.ORDER));let ie=l(te*te),Ce=l(ie-mt),ve=l(K*ie-z),{isValid:$e,value:ze}=f(Ce,ve);if(!$e)throw new Error("Point.fromHex: invalid y coordinate");let Le=(ze&mt)===mt,Ze=(ce&128)!==0;if(!U&&ze===Dt&&Ze)throw new Error("Point.fromHex: x=0 and x_0=1");return Ze!==Le&&(ze=l(-ze)),v.fromAffine({x:ze,y:te})}static fromPrivateKey(R){return $(R).point}toRawBytes(){let{x:R,y:U}=this.toAffine(),K=Gr(U,r.BYTES);return K[K.length-1]|=R&mt?128:0,K}toHex(){return nr(this.toRawBytes())}}v.BASE=new v(e.Gx,e.Gy,mt,l(e.Gx*e.Gy)),v.ZERO=new v(Dt,mt,mt,Dt);let{BASE:_,ZERO:D}=v,P=Bs(v,a*8);function H(N){return he(N,n)}function G(N){return H(Sr(N))}function $(N){let R=a;N=Se("private key",N,R);let U=Se("hashed private key",s(N),2*R),K=d(U.slice(0,R)),z=U.slice(R,2*R),X=G(K),ee=_.multiply(X),ce=ee.toRawBytes();return{head:K,prefix:z,scalar:X,point:ee,pointBytes:ce}}function J(N){return $(N).pointBytes}function le(N=new Uint8Array,...R){let U=sr(...R);return G(s(p(U,Se("context",N),!!i)))}function Ve(N,R,U={}){N=Se("message",N),i&&(N=i(N));let{prefix:K,scalar:z,pointBytes:X}=$(R),ee=le(U.context,K,N),ce=_.multiply(ee).toRawBytes(),te=le(U.context,ce,X,N),ie=H(ee+te*z);x(ie);let Ce=sr(ce,Gr(ie,r.BYTES));return Se("result",Ce,a*2)}let T=h2;function k(N,R,U,K=T){let{context:z,zip215:X}=K,ee=r.BYTES;N=Se("signature",N,2*ee),R=Se("message",R),i&&(R=i(R));let ce=Sr(N.slice(ee,2*ee)),te,ie,Ce;try{te=v.fromHex(U,X),ie=v.fromHex(N.slice(0,ee),X),Ce=_.multiplyUnsafe(ce)}catch{return!1}if(!X&&te.isSmallOrder())return!1;let ve=le(z,ie.toRawBytes(),te.toRawBytes(),R);return ie.add(te.multiplyUnsafe(ve)).subtract(Ce).clearCofactor().equals(v.ZERO)}return _._setWindowSize(8),{CURVE:e,getPublicKey:J,sign:Ve,verify:k,ExtendedPoint:v,utils:{getExtendedPublicKey:$,randomPrivateKey:()=>o(r.BYTES),precompute(N=8,R=v.BASE){return R._setWindowSize(N),R.multiply(BigInt(3)),R}}}}var fc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),U0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),GS=BigInt(0),p2=BigInt(1),lc=BigInt(2),m2=BigInt(5),F0=BigInt(10),g2=BigInt(20),y2=BigInt(40),K0=BigInt(80);function x2(t){let e=fc,n=t*t%e*t%e,i=xe(n,lc,e)*n%e,s=xe(i,p2,e)*t%e,o=xe(s,m2,e)*s%e,a=xe(o,F0,e)*o%e,c=xe(a,g2,e)*a%e,u=xe(c,y2,e)*c%e,l=xe(u,K0,e)*u%e,f=xe(l,K0,e)*u%e,d=xe(f,F0,e)*o%e;return{pow_p_5_8:xe(d,lc,e)*t%e,b2:n}}function b2(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function w2(t,e){let r=fc,n=he(e*e*e,r),i=he(n*n*e,r),s=x2(t*i).pow_p_5_8,o=he(t*n*s,r),a=he(e*o*o,r),c=o,u=he(o*U0,r),l=a===t,f=a===he(-t,r),d=a===he(-t*U0,r);return l&&(o=c),(f||d)&&(o=u),N0(o,r)&&(o=he(-o,r)),{isValid:l||f,value:o}}var or=Ts(fc,void 0,!0),hc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:or,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:tc,randomBytes:Tn,adjustScalarBytes:b2,uvRatio:w2},Ln=Ds(hc);function q0(t,e,r){if(e.length>255)throw new Error("Context is too big");return _s(ja("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var WS=Ds({...hc,domain:q0}),YS=Ds({...hc,domain:q0,prehash:tc});var E2=(or.ORDER+BigInt(3))/BigInt(8),QS=or.pow(lc,E2),XS=or.sqrt(or.neg(or.ONE)),ZS=(or.ORDER-BigInt(5))/BigInt(8),jS=BigInt(486662);var JS=k0(or,or.neg(BigInt(486664)));var eA=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),tA=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),rA=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),nA=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var iA=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Dn=32,ar=64,Ps=32;function V0(){let t=Ln.utils.randomPrivateKey(),e=Ln.getPublicKey(t);return{privateKey:G0(t,e),publicKey:e}}function $0(t){if(t.length!==Ps)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=Ln.getPublicKey(e);return{privateKey:G0(e,r),publicKey:r}}function z0(t,e){let r=t.subarray(0,Ps);return Ln.sign(e instanceof Uint8Array?e:e.subarray(),r)}function H0(t,e,r){return Ln.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function G0(t,e){let r=new Uint8Array(ar);for(let n=0;n<Ps;n++)r[n]=t[n],r[Ps+n]=e[n];return r}var ct={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 dc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function pc(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=ct.get();r*=8;async function c(f,d){let p=a.getRandomValues(new Uint8Array(s)),h=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:h};typeof d=="string"&&(d=Z(d));let g;if(d.length===0){g=await a.subtle.importKey("jwk",dc,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",dc,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let y=await a.subtle.encrypt(m,g,f);return tr([p,m.iv,new Uint8Array(y)])}async function u(f,d){let p=f.subarray(0,s),h=f.subarray(s,s+n),m=f.subarray(s+n),g={name:e,iv:h};typeof d=="string"&&(d=Z(d));let y;if(d.length===0)try{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},I=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,I,{name:e,length:r},!0,["decrypt"])}catch{y=await a.subtle.importKey("jwk",dc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},I=await a.subtle.importKey("raw",d,{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,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Pn(t,e){let n=await pc().encrypt(t,e);return _n.encode(n)}var mc=new Float32Array([-0]),Ir=new Uint8Array(mc.buffer);function Y0(t,e,r){mc[0]=t,e[r]=Ir[0],e[r+1]=Ir[1],e[r+2]=Ir[2],e[r+3]=Ir[3]}function Q0(t,e){return Ir[0]=t[e],Ir[1]=t[e+1],Ir[2]=t[e+2],Ir[3]=t[e+3],mc[0]}var gc=new Float64Array([-0]),je=new Uint8Array(gc.buffer);function X0(t,e,r){gc[0]=t,e[r]=je[0],e[r+1]=je[1],e[r+2]=je[2],e[r+3]=je[3],e[r+4]=je[4],e[r+5]=je[5],e[r+6]=je[6],e[r+7]=je[7]}function Z0(t,e){return je[0]=t[e],je[1]=t[e+1],je[2]=t[e+2],je[3]=t[e+3],je[4]=t[e+4],je[5]=t[e+5],je[6]=t[e+6],je[7]=t[e+7],gc[0]}var _2=BigInt(Number.MAX_SAFE_INTEGER),S2=BigInt(Number.MIN_SAFE_INTEGER),ut=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 Yr;if(e<_2&&e>S2)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>j0&&(i=0n,++n>j0&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return Yr;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):Yr}},Yr=new ut(0,0);Yr.toBigInt=function(){return 0n};Yr.zzEncode=Yr.zzDecode=function(){return this};Yr.length=function(){return 1};var j0=4294967296n;function J0(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 eh(t,e,r){if(r-e<1)return"";let i,s=[],o=0,a;for(;e<r;)a=t[e++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(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,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,o>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,s)),o=0);return i!=null?(o>0&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))}function yc(t,e,r){let n=r,i,s;for(let o=0;o<t.length;++o)i=t.charCodeAt(o),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((s=t.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,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 Pt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Ns(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var xc=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 Ns(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Pt(this,4);return Ns(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Pt(this,4);let e=Q0(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw Pt(this,4);let e=Z0(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 Pt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return eh(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 ut(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 Pt(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 Pt(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 Pt(this,8);let e=Ns(this.buf,this.pos+=4),r=Ns(this.buf,this.pos+=4);return new ut(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 bc(t){return new xc(t instanceof Uint8Array?t:t.subarray())}function Ge(t,e){let r=bc(t);return e.decode(r)}function ks(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Qr(t=0){return globalThis.Buffer?.allocUnsafe!=null?ks(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function nh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var rh=nh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),wc=nh("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=Qr(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),A2={utf8:rh,"utf-8":rh,hex:at.base16,latin1:wc,ascii:wc,binary:wc,...at},ih=A2;function sh(t,e="utf8"){let r=ih[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ks(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Ec(t){let e=t??8192,r=e>>>1,n,i=e;return function(o){if(o<1||o>r)return Qr(o);i+o>e&&(n=Qr(e),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var Xr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function vc(){}var Sc=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},I2=Ec();function R2(t){return globalThis.Buffer!=null?Qr(t):I2(t)}var _i=class{len;head;tail;states;constructor(){this.len=0,this.head=new Xr(vc,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new Xr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Ac((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(Ei,10,ut.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=ut.fromBigInt(e);return this._push(Ei,r.length(),r)}uint64Number(e){let r=ut.fromNumber(e);return this._push(Ei,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=ut.fromBigInt(e).zzEncode();return this._push(Ei,r.length(),r)}sint64Number(e){let r=ut.fromNumber(e).zzEncode();return this._push(Ei,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(_c,1,e?1:0)}fixed32(e){return this._push(vi,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=ut.fromBigInt(e);return this._push(vi,4,r.lo)._push(vi,4,r.hi)}fixed64Number(e){let r=ut.fromNumber(e);return this._push(vi,4,r.lo)._push(vi,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(Y0,4,e)}double(e){return this._push(X0,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(_c,1,0):this.uint32(r)._push(T2,r,e)}string(e){let r=J0(e);return r!==0?this.uint32(r)._push(yc,r,e):this._push(_c,1,0)}fork(){return this.states=new Sc(this),this.head=this.tail=new Xr(vc,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 Xr(vc,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=R2(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function _c(t,e,r){e[r]=t&255}function C2(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Ac=class extends Xr{next;constructor(e,r){super(C2,e,r),this.next=void 0}};function Ei(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 vi(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 T2(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(_i.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(B2,e,t),this},_i.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(L2,e,t),this});function B2(t,e,r){e.set(t,r)}function L2(t,e,r){t.length<40?yc(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(sh(t),r)}function Ic(){return new _i}function We(t,e){let r=Ic();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Nn;(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"})(Nn||(Nn={}));function Os(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Rc(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return Os("enum",Nn.VARINT,r,n)}function Ye(t,e){return Os("message",Nn.LENGTH_DELIMITED,t,e)}var be;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(be||(be={}));var Cc;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Cc||(Cc={}));(function(t){t.codec=()=>Rc(Cc)})(be||(be={}));var Gt;(function(t){let e;t.codec=()=>(e==null&&(e=Ye((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={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>We(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Gt||(Gt={}));var Wt;(function(t){let e;t.codec=()=>(e==null&&(e=Ye((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={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>We(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Wt||(Wt={}));var Si=class{_key;constructor(e){this._key=kn(e,Dn)}verify(e,r){return H0(this._key,r,e)}marshal(){return this._key}get bytes(){return Gt.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return De(this.bytes,e.bytes)}hash(){let e=He.digest(this.bytes);return Et(e)?e.then(({bytes:r})=>r):e.bytes}},Zr=class{_key;_publicKey;constructor(e,r){this._key=kn(e,ar),this._publicKey=kn(r,Dn)}sign(e){return z0(this._key,e)}get public(){return new Si(this._publicKey)}marshal(){return this._key}get bytes(){return Wt.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return De(this.bytes,e.bytes)}async hash(){let e=He.digest(this.bytes),r;return Et(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=Er.digest(this.public.bytes);return Ee.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Pn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function D2(t){if(t.length>ar){t=kn(t,ar+Dn);let n=t.subarray(0,ar),i=t.subarray(ar,t.length);return new Zr(n,i)}t=kn(t,ar);let e=t.subarray(0,ar),r=t.subarray(Dn);return new Zr(e,r)}function P2(t){return t=kn(t,Dn),new Si(t)}async function N2(){let{privateKey:t,publicKey:e}=V0();return new Zr(t,e)}async function oh(t){let{privateKey:e,publicKey:r}=$0(t);return new Zr(e,r)}function kn(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new S(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var k2={"P-256":256,"P-384":384,"P-521":521},O2=Object.keys(k2),fI=O2.join(" / ");var Nc={};Me(Nc,{MAX_KEY_SIZE:()=>Ci,RsaPrivateKey:()=>On,RsaPublicKey:()=>Ri,fromJwk:()=>W2,generateKeyPair:()=>Y2,unmarshalRsaPrivateKey:()=>H2,unmarshalRsaPublicKey:()=>G2});var Ii=we(fe(),1);var QI=we(fh(),1);function Us(t){if(isNaN(t)||t<=0)throw new S("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Tn(t)}var LI=we(ms(),1),Dc=we(fe(),1);function hh(t,e){return e.map(r=>pt(t[r]))}function dh(t){return Dc.default.pki.setRsaPrivateKey(...hh(t,["n","e","d","p","q","dp","dq","qi"]))}function ph(t){return Dc.default.pki.setRsaPublicKey(...hh(t,["n","e"]))}var Jr={};Me(Jr,{jwkToPkcs1:()=>K2,jwkToPkix:()=>V2,pkcs1ToJwk:()=>F2,pkixToJwk:()=>q2});var NI=we(li(),1),kI=we(ms(),1);var cr=we(fe(),1);function F2(t){let e=cr.default.asn1.fromDer(Pe(t,"ascii")),r=cr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Tt(r.n),e:Tt(r.e),d:Tt(r.d),p:Tt(r.p),q:Tt(r.q),dp:Tt(r.dP),dq:Tt(r.dQ),qi:Tt(r.qInv),alg:"RS256"}}function K2(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 S("JWK was missing components","ERR_INVALID_PARAMETERS");let e=cr.default.pki.privateKeyToAsn1({n:pt(t.n),e:pt(t.e),d:pt(t.d),p:pt(t.p),q:pt(t.q),dP:pt(t.dp),dQ:pt(t.dq),qInv:pt(t.qi)});return Z(cr.default.asn1.toDer(e).getBytes(),"ascii")}function q2(t){let e=cr.default.asn1.fromDer(Pe(t,"ascii")),r=cr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Tt(r.n),e:Tt(r.e)}}function V2(t){if(t.n==null||t.e==null)throw new S("JWK was missing components","ERR_INVALID_PARAMETERS");let e=cr.default.pki.publicKeyToAsn1({n:pt(t.n),e:pt(t.e)});return Z(cr.default.asn1.toDer(e).getBytes(),"ascii")}async function mh(t){let e=await ct.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 xh(e);return{privateKey:r[0],publicKey:r[1]}}async function Pc(t){let r=[await ct.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await $2(t)],n=await xh({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function gh(t,e){let r=await ct.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ct.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function yh(t,e,r){let n=await ct.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ct.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function xh(t){if(t.privateKey==null||t.publicKey==null)throw new S("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ct.get().subtle.exportKey("jwk",t.privateKey),ct.get().subtle.exportKey("jwk",t.publicKey)])}async function $2(t){return ct.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 bh(t,e,r,n){let i=e?ph(t):dh(t),s=Pe(r instanceof Uint8Array?r:r.subarray(),"ascii"),o=n(s,i);return Z(o,"ascii")}function wh(t,e){return bh(t,!0,e,(r,n)=>n.encrypt(r))}function Eh(t,e){return bh(t,!1,e,(r,n)=>n.decrypt(r))}function Fs(t){if(t.kty!=="RSA")throw new S("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new S("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Z(t.n,"base64url").length*8}var Ci=8192,Ri=class{_key;constructor(e){this._key=e}verify(e,r){return yh(this._key,r,e)}marshal(){return Jr.jwkToPkix(this._key)}get bytes(){return Gt.encode({Type:be.RSA,Data:this.marshal()}).subarray()}encrypt(e){return wh(this._key,e)}equals(e){return De(this.bytes,e.bytes)}hash(){let e=He.digest(this.bytes);return Et(e)?e.then(({bytes:r})=>r):e.bytes}},On=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return Us(16)}sign(e){return gh(this._key,e)}get public(){if(this._publicKey==null)throw new S("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Ri(this._publicKey)}decrypt(e){return Eh(this._key,e)}marshal(){return Jr.jwkToPkcs1(this._key)}get bytes(){return Wt.encode({Type:be.RSA,Data:this.marshal()}).subarray()}equals(e){return De(this.bytes,e.bytes)}hash(){let e=He.digest(this.bytes);return Et(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return Pe(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ii.default.util.ByteBuffer(this.marshal()),i=Ii.default.asn1.fromDer(n),s=Ii.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ii.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Pn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function H2(t){let e=Jr.pkcs1ToJwk(t);if(Fs(e)>Ci)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Pc(e);return new On(r.privateKey,r.publicKey)}function G2(t){let e=Jr.pkixToJwk(t);if(Fs(e)>Ci)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Ri(e)}async function W2(t){if(Fs(t)>Ci)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Pc(t);return new On(e.privateKey,e.publicKey)}async function Y2(t){if(t>Ci)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await mh(t);return new On(e.privateKey,e.publicKey)}var Kc={};Me(Kc,{Secp256k1PrivateKey:()=>Bi,Secp256k1PublicKey:()=>Ti,generateKeyPair:()=>ub,unmarshalSecp256k1PrivateKey:()=>ab,unmarshalSecp256k1PublicKey:()=>cb});var Q2=(t,e,r)=>t&e^~t&r,X2=(t,e,r)=>t&e^t&r^e&r,Z2=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]),Rr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Cr=new Uint32Array(64),kc=class extends Bn{constructor(){super(64,32,8,!1),this.A=Rr[0]|0,this.B=Rr[1]|0,this.C=Rr[2]|0,this.D=Rr[3]|0,this.E=Rr[4]|0,this.F=Rr[5]|0,this.G=Rr[6]|0,this.H=Rr[7]|0}get(){let{A:e,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[e,r,n,i,s,o,a,c]}set(e,r,n,i,s,o,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,r){for(let f=0;f<16;f++,r+=4)Cr[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let d=Cr[f-15],p=Cr[f-2],h=Bt(d,7)^Bt(d,18)^d>>>3,m=Bt(p,17)^Bt(p,19)^p>>>10;Cr[f]=m+Cr[f-7]+h+Cr[f-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let d=Bt(a,6)^Bt(a,11)^Bt(a,25),p=l+d+Q2(a,c,u)+Z2[f]+Cr[f]|0,m=(Bt(n,2)^Bt(n,13)^Bt(n,22))+X2(n,i,s)|0;l=u,u=c,c=a,a=o+p|0,o=s,s=i,i=n,n=p+m|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,i,s,o,a,c,u,l)}roundClean(){Cr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var vh=Ss(()=>new kc);function j2(t){let e=wi(t);Ht(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:J2,hexToBytes:eb}=Rs,en={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=en;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:J2(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=en,r=typeof t=="string"?eb(t):t;if(!Lt(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:s}=en._parseInt(r.subarray(2)),{d:o,l:a}=en._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let l=u.toString(16);return l.length&1?`0${l}`:l},n=e(r(t.s)),i=e(r(t.r)),s=n.length/2,o=i.length/2,a=r(s),c=r(o);return`30${r(o+s+4)}02${c}${i}02${a}${n}`}},ur=BigInt(0),vt=BigInt(1),s4=BigInt(2),_h=BigInt(3),o4=BigInt(4);function tb(t){let e=j2(t),{Fp:r}=e,n=e.toBytes||((h,m,g)=>{let y=m.toAffine();return sr(Uint8Array.from([4]),r.toBytes(y.x),r.toBytes(y.y))}),i=e.fromBytes||(h=>{let m=h.subarray(1),g=r.fromBytes(m.subarray(0,r.BYTES)),y=r.fromBytes(m.subarray(r.BYTES,2*r.BYTES));return{x:g,y}});function s(h){let{a:m,b:g}=e,y=r.sqr(h),x=r.mul(y,h);return r.add(r.add(x,r.mul(h,m)),g)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(h){return typeof h=="bigint"&&ur<h&&h<e.n}function a(h){if(!o(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:m,nByteLength:g,wrapPrivateKey:y,n:x}=e;if(m&&typeof h!="bigint"){if(Lt(h)&&(h=nr(h)),typeof h!="string"||!m.includes(h.length))throw new Error("Invalid key");h=h.padStart(g*2,"0")}let b;try{b=typeof h=="bigint"?h:ir(Se("private key",h,g))}catch{throw new Error(`private key must be ${g} bytes, hex or bigint, not ${typeof h}`)}return y&&(b=he(b,x)),a(b),b}let u=new Map;function l(h){if(!(h instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(m,g,y){if(this.px=m,this.py=g,this.pz=y,m==null||!r.isValid(m))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(m){let{x:g,y}=m||{};if(!m||!r.isValid(g)||!r.isValid(y))throw new Error("invalid affine point");if(m instanceof f)throw new Error("projective point not allowed");let x=b=>r.eql(b,r.ZERO);return x(g)&&x(y)?f.ZERO:new f(g,y,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(m){let g=r.invertBatch(m.map(y=>y.pz));return m.map((y,x)=>y.toAffine(g[x])).map(f.fromAffine)}static fromHex(m){let g=f.fromAffine(i(Se("pointHex",m)));return g.assertValidity(),g}static fromPrivateKey(m){return f.BASE.multiply(c(m))}_setWindowSize(m){this._WINDOW_SIZE=m,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:m,y:g}=this.toAffine();if(!r.isValid(m)||!r.isValid(g))throw new Error("bad point: x or y not FE");let y=r.sqr(g),x=s(m);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:m}=this.toAffine();if(r.isOdd)return!r.isOdd(m);throw new Error("Field doesn't support isOdd")}equals(m){l(m);let{px:g,py:y,pz:x}=this,{px:b,py:I,pz:v}=m,_=r.eql(r.mul(g,v),r.mul(b,x)),D=r.eql(r.mul(y,v),r.mul(I,x));return _&&D}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:g}=e,y=r.mul(g,_h),{px:x,py:b,pz:I}=this,v=r.ZERO,_=r.ZERO,D=r.ZERO,P=r.mul(x,x),H=r.mul(b,b),G=r.mul(I,I),$=r.mul(x,b);return $=r.add($,$),D=r.mul(x,I),D=r.add(D,D),v=r.mul(m,D),_=r.mul(y,G),_=r.add(v,_),v=r.sub(H,_),_=r.add(H,_),_=r.mul(v,_),v=r.mul($,v),D=r.mul(y,D),G=r.mul(m,G),$=r.sub(P,G),$=r.mul(m,$),$=r.add($,D),D=r.add(P,P),P=r.add(D,P),P=r.add(P,G),P=r.mul(P,$),_=r.add(_,P),G=r.mul(b,I),G=r.add(G,G),P=r.mul(G,$),v=r.sub(v,P),D=r.mul(G,H),D=r.add(D,D),D=r.add(D,D),new f(v,_,D)}add(m){l(m);let{px:g,py:y,pz:x}=this,{px:b,py:I,pz:v}=m,_=r.ZERO,D=r.ZERO,P=r.ZERO,H=e.a,G=r.mul(e.b,_h),$=r.mul(g,b),J=r.mul(y,I),le=r.mul(x,v),Ve=r.add(g,y),T=r.add(b,I);Ve=r.mul(Ve,T),T=r.add($,J),Ve=r.sub(Ve,T),T=r.add(g,x);let k=r.add(b,v);return T=r.mul(T,k),k=r.add($,le),T=r.sub(T,k),k=r.add(y,x),_=r.add(I,v),k=r.mul(k,_),_=r.add(J,le),k=r.sub(k,_),P=r.mul(H,T),_=r.mul(G,le),P=r.add(_,P),_=r.sub(J,P),P=r.add(J,P),D=r.mul(_,P),J=r.add($,$),J=r.add(J,$),le=r.mul(H,le),T=r.mul(G,T),J=r.add(J,le),le=r.sub($,le),le=r.mul(H,le),T=r.add(T,le),$=r.mul(J,T),D=r.add(D,$),$=r.mul(k,T),_=r.mul(Ve,_),_=r.sub(_,$),$=r.mul(Ve,J),P=r.mul(k,P),P=r.add(P,$),new f(_,D,P)}subtract(m){return this.add(m.negate())}is0(){return this.equals(f.ZERO)}wNAF(m){return p.wNAFCached(this,u,m,g=>{let y=r.invertBatch(g.map(x=>x.pz));return g.map((x,b)=>x.toAffine(y[b])).map(f.fromAffine)})}multiplyUnsafe(m){let g=f.ZERO;if(m===ur)return g;if(a(m),m===vt)return this;let{endo:y}=e;if(!y)return p.unsafeLadder(this,m);let{k1neg:x,k1:b,k2neg:I,k2:v}=y.splitScalar(m),_=g,D=g,P=this;for(;b>ur||v>ur;)b&vt&&(_=_.add(P)),v&vt&&(D=D.add(P)),P=P.double(),b>>=vt,v>>=vt;return x&&(_=_.negate()),I&&(D=D.negate()),D=new f(r.mul(D.px,y.beta),D.py,D.pz),_.add(D)}multiply(m){a(m);let g=m,y,x,{endo:b}=e;if(b){let{k1neg:I,k1:v,k2neg:_,k2:D}=b.splitScalar(g),{p:P,f:H}=this.wNAF(v),{p:G,f:$}=this.wNAF(D);P=p.constTimeNegate(I,P),G=p.constTimeNegate(_,G),G=new f(r.mul(G.px,b.beta),G.py,G.pz),y=P.add(G),x=H.add($)}else{let{p:I,f:v}=this.wNAF(g);y=I,x=v}return f.normalizeZ([y,x])[0]}multiplyAndAddUnsafe(m,g,y){let x=f.BASE,b=(v,_)=>_===ur||_===vt||!v.equals(x)?v.multiplyUnsafe(_):v.multiply(_),I=b(this,g).add(b(m,y));return I.is0()?void 0:I}toAffine(m){let{px:g,py:y,pz:x}=this,b=this.is0();m==null&&(m=b?r.ONE:r.inv(x));let I=r.mul(g,m),v=r.mul(y,m),_=r.mul(x,m);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(_,r.ONE))throw new Error("invZ was invalid");return{x:I,y:v}}isTorsionFree(){let{h:m,isTorsionFree:g}=e;if(m===vt)return!0;if(g)return g(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:m,clearCofactor:g}=e;return m===vt?this:g?g(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return nr(this.toRawBytes(m))}}f.BASE=new f(e.Gx,e.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let d=e.nBitLength,p=Bs(f,e.endo?Math.ceil(d/2):d);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:o}}function rb(t){let e=wi(t);return Ht(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Sh(t){let e=rb(t),{Fp:r,n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function o(T){return ur<T&&T<r.ORDER}function a(T){return he(T,n)}function c(T){return Cs(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:d}=tb({...e,toBytes(T,k,L){let N=k.toAffine(),R=r.toBytes(N.x),U=sr;return L?U(Uint8Array.from([k.hasEvenY()?2:3]),R):U(Uint8Array.from([4]),R,r.toBytes(N.y))},fromBytes(T){let k=T.length,L=T[0],N=T.subarray(1);if(k===i&&(L===2||L===3)){let R=ir(N);if(!o(R))throw new Error("Point is not on curve");let U=f(R),K=r.sqrt(U),z=(K&vt)===vt;return(L&1)===1!==z&&(K=r.neg(K)),{x:R,y:K}}else if(k===s&&L===4){let R=r.fromBytes(N.subarray(0,r.BYTES)),U=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:R,y:U}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),p=T=>nr(Ar(T,e.nByteLength));function h(T){let k=n>>vt;return T>k}function m(T){return h(T)?a(-T):T}let g=(T,k,L)=>ir(T.slice(k,L));class y{constructor(k,L,N){this.r=k,this.s=L,this.recovery=N,this.assertValidity()}static fromCompact(k){let L=e.nByteLength;return k=Se("compactSignature",k,L*2),new y(g(k,0,L),g(k,L,2*L))}static fromDER(k){let{r:L,s:N}=en.toSig(Se("DER",k));return new y(L,N)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(k){return new y(this.r,this.s,k)}recoverPublicKey(k){let{r:L,s:N,recovery:R}=this,U=D(Se("msgHash",k));if(R==null||![0,1,2,3].includes(R))throw new Error("recovery id invalid");let K=R===2||R===3?L+e.n:L;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let z=R&1?"03":"02",X=u.fromHex(z+p(K)),ee=c(K),ce=a(-U*ee),te=a(N*ee),ie=u.BASE.multiplyAndAddUnsafe(X,ce,te);if(!ie)throw new Error("point at infinify");return ie.assertValidity(),ie}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Hr(this.toDERHex())}toDERHex(){return en.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Hr(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let x={isValidPrivateKey(T){try{return l(T),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let T=cc(e.n);return M0(e.randomBytes(T),e.n)},precompute(T=8,k=u.BASE){return k._setWindowSize(T),k.multiply(BigInt(3)),k}};function b(T,k=!0){return u.fromPrivateKey(T).toRawBytes(k)}function I(T){let k=Lt(T),L=typeof T=="string",N=(k||L)&&T.length;return k?N===i||N===s:L?N===2*i||N===2*s:T instanceof u}function v(T,k,L=!0){if(I(T))throw new Error("first arg must be private key");if(!I(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(T)).toRawBytes(L)}let _=e.bits2int||function(T){let k=ir(T),L=T.length*8-e.nBitLength;return L>0?k>>BigInt(L):k},D=e.bits2int_modN||function(T){return a(_(T))},P=bi(e.nBitLength);function H(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(ur<=T&&T<P))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Ar(T,e.nByteLength)}function G(T,k,L=$){if(["recovered","canonical"].some(ve=>ve in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:R}=e,{lowS:U,prehash:K,extraEntropy:z}=L;U==null&&(U=!0),T=Se("msgHash",T),K&&(T=Se("prehashed msgHash",N(T)));let X=D(T),ee=l(k),ce=[H(ee),H(X)];if(z!=null){let ve=z===!0?R(r.BYTES):z;ce.push(Se("extraEntropy",ve))}let te=sr(...ce),ie=X;function Ce(ve){let $e=_(ve);if(!d($e))return;let ze=c($e),Le=u.BASE.multiply($e).toAffine(),Ze=a(Le.x);if(Ze===ur)return;let Xt=a(ze*a(ie+Ze*ee));if(Xt===ur)return;let Or=(Le.x===Ze?0:2)|Number(Le.y&vt),oi=Xt;return U&&h(Xt)&&(oi=m(Xt),Or^=1),new y(Ze,oi,Or)}return{seed:te,k2sig:Ce}}let $={lowS:e.lowS,prehash:!1},J={lowS:e.lowS,prehash:!1};function le(T,k,L=$){let{seed:N,k2sig:R}=G(T,k,L),U=e;return ic(U.hash.outputLen,U.nByteLength,U.hmac)(N,R)}u.BASE._setWindowSize(8);function Ve(T,k,L,N=J){let R=T;if(k=Se("msgHash",k),L=Se("publicKey",L),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:U,prehash:K}=N,z,X;try{if(typeof R=="string"||Lt(R))try{z=y.fromDER(R)}catch(Le){if(!(Le instanceof en.Err))throw Le;z=y.fromCompact(R)}else if(typeof R=="object"&&typeof R.r=="bigint"&&typeof R.s=="bigint"){let{r:Le,s:Ze}=R;z=new y(Le,Ze)}else throw new Error("PARSE");X=u.fromHex(L)}catch(Le){if(Le.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(U&&z.hasHighS())return!1;K&&(k=e.hash(k));let{r:ee,s:ce}=z,te=D(k),ie=c(ce),Ce=a(te*ie),ve=a(ee*ie),$e=u.BASE.multiplyAndAddUnsafe(X,Ce,ve)?.toAffine();return $e?a($e.x)===ee:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:v,sign:le,verify:Ve,ProjectivePoint:u,Signature:y,utils:x}}var Ks=class extends Cn{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,S0(e);let n=xi(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,s=new Uint8Array(i);s.set(n.length>i?e.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return Rn(this),this.iHash.update(e),this}digestInto(e){Rn(this),Za(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:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=s,e.blockLen=o,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()}},Oc=(t,e,r)=>new Ks(t,e).update(r).digest();Oc.create=(t,e)=>new Ks(t,e);function nb(t){return{hash:t,hmac:(e,...r)=>Oc(t,e,_s(...r)),randomBytes:Tn}}function Ah(t,e){let r=n=>Sh({...t,...nb(n)});return Object.freeze({...r(e),create:r})}var Ch=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Ih=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),ib=BigInt(1),Mc=BigInt(2),Rh=(t,e)=>(t+e/Mc)/e;function sb(t){let e=Ch,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,f=xe(l,r,e)*l%e,d=xe(f,r,e)*l%e,p=xe(d,Mc,e)*u%e,h=xe(p,i,e)*p%e,m=xe(h,s,e)*h%e,g=xe(m,a,e)*m%e,y=xe(g,c,e)*g%e,x=xe(y,a,e)*m%e,b=xe(x,r,e)*l%e,I=xe(b,o,e)*h%e,v=xe(I,n,e)*u%e,_=xe(v,Mc,e);if(!Uc.eql(Uc.sqr(_),t))throw new Error("Cannot find square root");return _}var Uc=Ts(Ch,void 0,void 0,{sqrt:sb}),Nt=Ah({a:BigInt(0),b:BigInt(7),Fp:Uc,n:Ih,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=Ih,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ib*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=Rh(s*t,e),c=Rh(-n*t,e),u=he(t-a*r-c*i,e),l=he(-a*n-c*s,e),f=u>o,d=l>o;if(f&&(u=e-u),d&&(l=e-l),u>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:d,k2:l}}}},vh),x4=BigInt(0);var b4=Nt.ProjectivePoint;function Th(){return Nt.utils.randomPrivateKey()}function Bh(t,e){let r=He.digest(e instanceof Uint8Array?e:e.subarray());if(Et(r))return r.then(({digest:n})=>Nt.sign(n,t).toDERRawBytes()).catch(n=>{throw new S(String(n),"ERR_INVALID_INPUT")});try{return Nt.sign(r.digest,t).toDERRawBytes()}catch(n){throw new S(String(n),"ERR_INVALID_INPUT")}}function Lh(t,e,r){let n=He.digest(r instanceof Uint8Array?r:r.subarray());if(Et(n))return n.then(({digest:i})=>Nt.verify(e,i,t)).catch(i=>{throw new S(String(i),"ERR_INVALID_INPUT")});try{return Nt.verify(e,n.digest,t)}catch(i){throw new S(String(i),"ERR_INVALID_INPUT")}}function Dh(t){return Nt.ProjectivePoint.fromHex(t).toRawBytes(!0)}function Ph(t){try{Nt.getPublicKey(t,!0)}catch(e){throw new S(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Fc(t){try{Nt.ProjectivePoint.fromHex(t)}catch(e){throw new S(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Nh(t){try{return Nt.getPublicKey(t,!0)}catch(e){throw new S(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Ti=class{_key;constructor(e){Fc(e),this._key=e}verify(e,r){return Lh(this._key,r,e)}marshal(){return Dh(this._key)}get bytes(){return Gt.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return De(this.bytes,e.bytes)}async hash(){let e=He.digest(this.bytes),r;return Et(e)?{bytes:r}=await e:r=e.bytes,r}},Bi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Nh(e),Ph(this._key),Fc(this._publicKey)}sign(e){return Bh(this._key,e)}get public(){return new Ti(this._publicKey)}marshal(){return this._key}get bytes(){return Wt.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return De(this.bytes,e.bytes)}hash(){let e=He.digest(this.bytes);return Et(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return Pe(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Pn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function ab(t){return new Bi(t)}function cb(t){return new Ti(t)}async function ub(){let t=Th();return new Bi(t)}var Tr={rsa:Nc,ed25519:Tc,secp256k1:Kc};function qc(t){let e=Object.keys(Tr).join(" / ");return new S(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Vc(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Tr[t];throw qc(t)}async function kh(t,e){return Vc(t).generateKeyPair(e??2048)}function Li(t){let e=Gt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return Tr.rsa.unmarshalRsaPublicKey(r);case be.Ed25519:return Tr.ed25519.unmarshalEd25519PublicKey(r);case be.Secp256k1:return Tr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw qc(e.Type??"unknown")}}function Oh(t,e){return e=(e??"rsa").toLowerCase(),Vc(e),t.bytes}async function $c(t){let e=Wt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return Tr.rsa.unmarshalRsaPrivateKey(r);case be.Ed25519:return Tr.ed25519.unmarshalEd25519PrivateKey(r);case be.Secp256k1:return Tr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw qc(e.Type??"RSA")}}function Mh(t,e){return e=(e??"rsa").toLowerCase(),Vc(e),t.bytes}var yt=we(Hc(),1);yt.default.formatters.b=t=>t==null?"undefined":Ee.baseEncode(t);yt.default.formatters.t=t=>t==null?"undefined":dt.baseEncode(t);yt.default.formatters.m=t=>t==null?"undefined":_n.baseEncode(t);yt.default.formatters.p=t=>t==null?"undefined":t.toString();yt.default.formatters.c=t=>t==null?"undefined":t.toString();yt.default.formatters.k=t=>t==null?"undefined":t.toString();yt.default.formatters.a=t=>t==null?"undefined":t.toString();function _b(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 $s(){return{forComponent(t){return Sb(t)}}}function Sb(t){let e=_b(`${t}:trace`);return yt.default.enabled(`${t}:trace`)&&yt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,yt.default)(`${t}:trace`)),Object.assign((0,yt.default)(t),{error:(0,yt.default)(`${t}:error`),trace:e})}var Ab=Symbol.for("nodejs.util.inspect.custom"),qh=Object.values(at).map(t=>t.decoder).reduce((t,e)=>t.or(e),at.identity.decoder),Vh=114,Gc=36,Wc=37,Di=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()})`}[Sa]=!0;toString(){return this.string==null&&(this.string=Ee.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ct.createV1(Vh,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return De(this.multihash.bytes,e);if(typeof e=="string")return oe(e).equals(this);if(e?.multihash?.bytes!=null)return De(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Ab](){return`PeerId(${this.toString()})`}},rn=class extends Di{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},nn=class extends Di{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},sn=class extends Di{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function $h(t){if(t.type==="RSA")return new rn(t);if(t.type==="Ed25519")return new nn(t);if(t.type==="secp256k1")return new sn(t);throw new S("Not a PeerId","ERR_INVALID_PARAMETERS")}function oe(t,e){if(e=e??qh,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=$r(Ee.decode(`z${t}`));return t.startsWith("12D")?new nn({multihash:r}):t.startsWith("16U")?new sn({multihash:r}):new rn({multihash:r})}return Kn(qh.decode(t))}function Kn(t){try{let e=$r(t);if(e.code===Er.code){if(e.digest.length===Gc)return new nn({multihash:e});if(e.digest.length===Wc)return new sn({multihash:e})}if(e.code===He.code)return new rn({multihash:e})}catch{return Ib(Ct.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Ib(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Vh)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===He.code)return new rn({multihash:t.multihash});if(e.code===Er.code){if(e.digest.length===Gc)return new nn({multihash:t.multihash});if(e.digest.length===Wc)return new sn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function zs(t,e){return t.length===Gc?new nn({multihash:zt(Er.code,t),privateKey:e}):t.length===Wc?new sn({multihash:zt(Er.code,t),privateKey:e}):new rn({multihash:await He.digest(t),publicKey:t,privateKey:e})}function lr(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 Je=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){return this.map.delete(e.toString())}entries(){return lr(this.map.entries(),e=>[oe(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,oe(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return lr(this.map.keys(),e=>oe(e))}values(){return this.map.values()}get size(){return this.map.size}};var _t=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 lr(this.set.entries(),e=>{let r=oe(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=oe(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return lr(this.set.values(),e=>oe(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 Hs=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return lr(this.list.entries(),e=>oe(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return lr(this.list.entries(),e=>[e[0],oe(e[1])])}every(e){return this.list.every((r,n)=>e(oe(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let s=oe(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(oe(n),i,this));if(r!=null)return oe(r)}findIndex(e){return this.list.findIndex((r,n)=>e(oe(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(oe(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return oe(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return oe(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}clear(){this.list=[]}get length(){return this.list.length}};var Yc;(function(t){let e;t.codec=()=>(e==null&&(e=Ye((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>We(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Yc||(Yc={}));var zh=async()=>{let t=await kh("Ed25519"),e=await Rb(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function Rb(t){return zs(Oh(t.public),Mh(t))}function Hh(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Gh(t=0){return globalThis.Buffer?.allocUnsafe!=null?Hh(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}var Cb=Math.pow(2,7),Tb=Math.pow(2,14),Bb=Math.pow(2,21),Qc=Math.pow(2,28),Xc=Math.pow(2,35),Zc=Math.pow(2,42),jc=Math.pow(2,49),ae=128,et=127;function tt(t){if(t<Cb)return 1;if(t<Tb)return 2;if(t<Bb)return 3;if(t<Qc)return 4;if(t<Xc)return 5;if(t<Zc)return 6;if(t<jc)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Lb(t,e,r=0){switch(tt(t)){case 8:e[r++]=t&255|ae,t/=128;case 7:e[r++]=t&255|ae,t/=128;case 6:e[r++]=t&255|ae,t/=128;case 5:e[r++]=t&255|ae,t/=128;case 4:e[r++]=t&255|ae,t>>>=7;case 3:e[r++]=t&255|ae,t>>>=7;case 2:e[r++]=t&255|ae,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Db(t,e,r=0){switch(tt(t)){case 8:e.set(r++,t&255|ae),t/=128;case 7:e.set(r++,t&255|ae),t/=128;case 6:e.set(r++,t&255|ae),t/=128;case 5:e.set(r++,t&255|ae),t/=128;case 4:e.set(r++,t&255|ae),t>>>=7;case 3:e.set(r++,t&255|ae),t>>>=7;case 2:e.set(r++,t&255|ae),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Pb(t,e){let r=t[e],n=0;if(n+=r&et,r<ae||(r=t[e+1],n+=(r&et)<<7,r<ae)||(r=t[e+2],n+=(r&et)<<14,r<ae)||(r=t[e+3],n+=(r&et)<<21,r<ae)||(r=t[e+4],n+=(r&et)*Qc,r<ae)||(r=t[e+5],n+=(r&et)*Xc,r<ae)||(r=t[e+6],n+=(r&et)*Zc,r<ae)||(r=t[e+7],n+=(r&et)*jc,r<ae))return n;throw new RangeError("Could not decode varint")}function Nb(t,e){let r=t.get(e),n=0;if(n+=r&et,r<ae||(r=t.get(e+1),n+=(r&et)<<7,r<ae)||(r=t.get(e+2),n+=(r&et)<<14,r<ae)||(r=t.get(e+3),n+=(r&et)<<21,r<ae)||(r=t.get(e+4),n+=(r&et)*Qc,r<ae)||(r=t.get(e+5),n+=(r&et)*Xc,r<ae)||(r=t.get(e+6),n+=(r&et)*Zc,r<ae)||(r=t.get(e+7),n+=(r&et)*jc,r<ae))return n;throw new RangeError("Could not decode varint")}function lt(t,e,r=0){return e==null&&(e=Gh(tt(t))),e instanceof Uint8Array?Lb(t,e,r):Db(t,e,r)}function kt(t,e=0){return t instanceof Uint8Array?Pb(t,e):Nb(t,e)}function Pi(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function fr(t=0){return globalThis.Buffer?.alloc!=null?Pi(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ni(t=0){return globalThis.Buffer?.allocUnsafe!=null?Pi(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Jc(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Ni(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Pi(r)}function Wh(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 Qh=Symbol.for("@achingbrain/uint8arraylist");function Yh(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 Gs(t){return!!t?.[Qh]}var qe=class t{bufs;length;[Qh]=!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(Gs(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(Gs(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=Yh(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Yh(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(Gs(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 Jc(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Jc(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new t;return s.length=i,s.bufs=[...n],s}_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 s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Gs(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 s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let d=u;d>=0;d--){let p=this.get(f+d);if(n[d]!==p){l=Math.max(1,d-a[p]);break}}if(l===0)return f}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=Ni(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=fr(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=fr(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=fr(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=Ni(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=fr(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=fr(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=fr(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=fr(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=fr(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(!Wh(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,s)=>i+s.byteLength,0)),n.length=r,n}};var Xh={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var ki;(function(t){let e;t.codec=()=>(e==null&&(e=Ye((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>We(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(ki||(ki={}));var qn=class t{static createFromProtobuf=async e=>{let r=ki.decode(e),n=await zs(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,s=e.marshal(),o=Zh(n,i,s),c=await(await $c(r.privateKey)).sign(o.subarray());return new t({peerId:r,payloadType:i,payload:s,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new S("envelope signature is not valid for the given domain",Xh.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:s}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=ki.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return De(this.marshal(),e.marshal())}async validate(e){let r=Zh(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return Li(this.peerId.publicKey).verify(r.subarray(),this.signature)}},Zh=(t,e,r)=>{let n=Z(t),i=lt(n.byteLength),s=lt(e.length),o=lt(r.length);return new qe(i,n,s,e,o,r)};function jh(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}function Jh(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 Vn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Ws(t=0){return globalThis.Buffer?.allocUnsafe!=null?Vn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function td(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var ed=td("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),eu=td("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=Ws(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),kb={utf8:ed,"utf-8":ed,hex:at.base16,latin1:eu,ascii:eu,binary:eu,...at},Ys=kb;function ft(t,e="utf8"){let r=Ys[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 hr(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Ws(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Vn(r)}var Qs=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 s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,e);if(!Number.isNaN(d))return d});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}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 o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];r[i]=s>>8,r[i+1]=s&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 s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var rd=45,Ob=15,$n=new Qs;function tu(t){if(!(t.length>Ob))return $n.new(t).parseWith(()=>$n.readIPv4Addr())}function ru(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>rd))return $n.new(t).parseWith(()=>$n.readIPv6Addr())}function Xs(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>rd))return $n.new(t).parseWith(()=>$n.readIPAddr())}var MR=parseInt("0xFFFF",16),UR=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function nu(t,e="utf8"){let r=Ys[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Vn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Zs(t){return!!tu(t)}function js(t){return!!ru(t)}function zn(t){return!!Xs(t)}var sd=Zs,qb=js,iu=function(t){let e=0;if(t=t.toString().trim(),sd(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(qb(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=sd(r[n]),o;s&&(o=iu(r[n]),r[n]=ft(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,ft(o.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 s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},od=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 s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Hn={},su={},$b=[[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"]];$b.forEach(t=>{let e=zb(...t);su[e.code]=e,Hn[e.name]=e});function zb(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ue(t){if(typeof t=="number"){if(su[t]!=null)return su[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Hn[t]!=null)return Hn[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var SC=ue("ip4"),AC=ue("ip6"),IC=ue("ipcidr");function au(t,e){switch(ue(t).code){case 4:case 41:return Gb(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 Xb(e);case 444:return ld(e);case 445:return ld(e);case 466:return Qb(e);default:return ft(e,"base16")}}function cu(t,e){switch(ue(t).code){case 4:return ad(e);case 41:return ad(e);case 42:return cd(e);case 6:case 273:case 33:case 132:return uu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return cd(e);case 421:return Wb(e);case 444:return Zb(e);case 445:return jb(e);case 466:return Yb(e);default:return nu(e,"base16")}}var ou=Object.values(at).map(t=>t.decoder),Hb=function(){let t=ou[0].or(ou[1]);return ou.slice(2).forEach(e=>t=t.or(e)),t}();function ad(t){if(!zn(t))throw new Error("invalid ip address");return iu(t)}function Gb(t){let e=od(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!zn(e))throw new Error("invalid ip address");return e}function uu(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 cd(t){let e=nu(t),r=Uint8Array.from(lt(e.length));return hr([r,e],r.length+e.length)}function ud(t){let e=kt(t);if(t=t.slice(tt(e)),t.length!==e)throw new Error("inconsistent lengths");return ft(t)}function Wb(t){let e;t[0]==="Q"||t[0]==="1"?e=$r(Ee.decode(`z${t}`)).bytes:e=Ct.parse(t).multihash.bytes;let r=Uint8Array.from(lt(e.length));return hr([r,e],r.length+e.length)}function Yb(t){let e=Hb.decode(t),r=Uint8Array.from(lt(e.length));return hr([r,e],r.length+e.length)}function Qb(t){let e=kt(t),r=t.slice(tt(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+ft(r,"base64url")}function Xb(t){let e=kt(t),r=t.slice(tt(e));if(r.length!==e)throw new Error("inconsistent lengths");return ft(r,"base58btc")}function Zb(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=dt.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=uu(n);return hr([r,i],r.length+i.length)}function jb(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=dt.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=uu(n);return hr([r,i],r.length+i.length)}function ld(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=ft(e,"base32"),i=fd(r);return`${n}:${i}`}function hd(t){t=lu(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 s=0;s<i.length;s++){let o=i[s],a=ue(o);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw pd("invalid address: "+t);if(a.path===!0){n=lu(i.slice(s).join("/")),e.push([a.code,cu(a.code,n)]),r.push([a.code,n]);break}let c=cu(a.code,i[s]);e.push([a.code,c]),r.push([a.code,au(a.code,c)])}return{string:dd(r),bytes:hu(e),tuples:e,stringTuples:r,path:n}}function fu(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let s=kt(t,i),o=tt(s),a=ue(s),c=Jb(a,t.slice(i+o));if(c===0){e.push([s]),r.push([s]),i+=o;continue}let u=t.slice(i+o,i+o+c);if(i+=c+o,i>t.length)throw pd("Invalid address Uint8Array: "+ft(t,"base16"));e.push([s,u]);let l=au(s,u);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:dd(r),tuples:e,stringTuples:r,path:n}}function dd(t){let e=[];return t.map(r=>{let n=ue(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),lu(e.join("/"))}function hu(t){return hr(t.map(e=>{let r=ue(e[0]),n=Uint8Array.from(lt(r.code));return e.length>1&&e[1]!=null&&(n=hr([n,e[1]])),n}))}function Jb(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=kt(e instanceof Uint8Array?e:Uint8Array.from(e));return r+tt(r)}}function lu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function pd(t){return new Error("Error parsing address: "+t)}var ew=Symbol.for("nodejs.util.inspect.custom"),du=Symbol.for("@multiformats/js-multiaddr/multiaddr"),tw=[ue("dns").code,ue("dns4").code,ue("dns6").code,ue("dnsaddr").code],Js=class t{bytes;#e;#t;#s;#a;[du]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=fu(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=hd(e)}else if(Br(e))r=fu(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.#s=r.stringTuples,this.#a=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=ue("tcp"),a=ue("udp"),c=ue("ip4"),u=ue("ip6"),l=ue("dns6"),f=ue("ip6zone");for(let[p,h]of this.stringTuples())p===f.code&&(s=`%${h??""}`),tw.includes(p)&&(r=o.name,i=443,n=`${h??""}${s}`,e=p===l.code?6:4),(p===o.code||p===a.code)&&(r=ue(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=ue(p).name,n=`${h??""}${s}`,e=p===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({},ue(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>ue(e).name)}tuples(){return this.#t}stringTuples(){return this.#s}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(hu(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Hn.p2p.code&&e.push([n,i]),n===Hn["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?ft(Ee.decode(`z${n}`),"base58btc"):ft(Ct.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(e){return Jh(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=eo.get(r.name);if(n==null)throw new S(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new t(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 r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[ew](){return`Multiaddr(${this.#e})`}};var eo=new Map;function Br(t){return!!t?.[du]}function ke(t){return new Js(t)}var md="libp2p-peer-record",gd=Uint8Array.from([3,1]);var Oi;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=Ye((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(u&7);break}}return a})),i),n.encode=s=>We(s,n.codec()),n.decode=s=>Ge(s,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=Ye((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),t.encode=n=>We(n,t.codec()),t.decode=n=>Ge(n,t.codec())})(Oi||(Oi={}));var an=class t{static createFromProtobuf=e=>{let r=Oi.decode(e),n=Kn(r.peerId),i=(r.addresses??[]).map(o=>ke(o.multiaddr)),s=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:s})};static DOMAIN=md;static CODEC=gd;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Oi.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!jh(this.multiaddrs,e.multiaddrs))}};function rw(t){return t[Symbol.asyncIterator]!=null}function nw(t){if(rw(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var Mi=nw;var mu=we(xd(),1);var Fi=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},gu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},bd=t=>globalThis.DOMException===void 0?new gu(t):new DOMException(t),wd=t=>{let e=t.reason===void 0?bd("This operation was aborted."):t.reason;return e instanceof Error?e:bd(e)};function Ki(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,c=new Promise((u,l)=>{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:d}=e;d.aborted&&l(wd(d)),d.addEventListener("abort",()=>{l(wd(d))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new Fi;o=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){l(d)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(d){l(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}function yu(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var qi=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=yu(this.#e,n,(s,o)=>o.priority-s.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 Ot=class extends mu.default{#e;#t;#s=0;#a;#c;#p=0;#n;#u;#r;#m;#i=0;#l;#o;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:qi,...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.#o=e.autoStart===!1}get#b(){return this.#t||this.#s<this.#a}get#w(){return this.#i<this.#l}#E(){this.#i--,this.#f(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#_(){let e=Date.now();if(this.#n===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#i:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#r.size===0)return this.#n&&clearInterval(this.#n),this.#n=void 0,this.emit("empty"),this.#i===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#_;if(this.#b&&this.#w){let r=this.#r.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#t||this.#n!==void 0||(this.#n=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#i===0&&this.#n&&(clearInterval(this.#n),this.#n=void 0),this.#s=this.#e?this.#i: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#S(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.#r.enqueue(async()=>{this.#i++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=Ki(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof Fi&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!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.#i===0&&this.#r.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.#r.size}sizeBy(e){return this.#r.filter(e).length}get pending(){return this.#i}get isPaused(){return this.#o}};var Lr={},Gn=t=>{t.addEventListener("message",e=>{Gn.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{Gn.dispatchEvent("message",t,e)})};Gn.addEventListener=(t,e)=>{Lr[t]==null&&(Lr[t]=[]),Lr[t].push(e)};Gn.removeEventListener=(t,e)=>{Lr[t]!=null&&(Lr[t]=Lr[t].filter(r=>r===e))};Gn.dispatchEvent=function(t,e,r){Lr[t]!=null&&Lr[t].forEach(n=>n(e,r))};var xu=Gn;var bu="lock:worker:request-read",wu="lock:worker:release-read",Eu="lock:master:grant-read",vu="lock:worker:request-write",_u="lock:worker:release-write",Su="lock:master:grant-write";var Ed=(t=21)=>Math.random().toString().substring(2);var vd=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>{s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})}}}))},_d=(t,e,r,n)=>async()=>{let i=Ed();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},ow={singleProcess:!1},Sd=t=>{if(t=Object.assign({},ow,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return xu.addEventListener("message",vd(r,"requestReadLock",bu,wu,Eu)),xu.addEventListener("message",vd(r,"requestWriteLock",vu,_u,Su)),r}return{isWorker:!0,readLock:r=>_d(r,bu,Eu,wu),writeLock:r=>_d(r,vu,Su,_u)}};var cn={},Dr;async function Au(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>Ki((async()=>{await new Promise(i=>{r(()=>{i()})})})(),{milliseconds:e.timeout})),n}var aw=(t,e)=>{if(Dr.isWorker===!0)return{readLock:Dr.readLock(t,e),writeLock:Dr.writeLock(t,e)};let r=new Ot({concurrency:1}),n;return{async readLock(){if(n!=null)return Au(n,e);n=new Ot({concurrency:e.concurrency,autoStart:!1});let i=n,s=Au(n,e);return r.add(async()=>{i.start(),await i.onIdle().then(()=>{n===i&&(n=null)})}),s},async writeLock(){return n=null,Au(r,e)}}},cw={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Iu(t){let e=Object.assign({},cw,t);return Dr==null&&(Dr=Sd(e),Dr.isWorker!==!0&&(Dr.addEventListener("requestReadLock",r=>{cn[r.data.name]!=null&&cn[r.data.name].readLock().then(async n=>r.data.handler().finally(()=>{n()}))}),Dr.addEventListener("requestWriteLock",async r=>{cn[r.data.name]!=null&&cn[r.data.name].writeLock().then(async n=>r.data.handler().finally(()=>{n()}))}))),cn[e.name]==null&&(cn[e.name]=aw(e.name,e)),cn[e.name]}var Qe={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Wn;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=Ye((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>We(o,i.codec()),i.decode=o=>Ge(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=Ye((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),no.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=no.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>We(o,i.codec()),i.decode=o=>Ge(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=Ye((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),ro.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(ro.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>We(i,t.codec()),t.decode=i=>Ge(i,t.codec())})(Wn||(Wn={}));var ro;(function(t){let e;t.codec=()=>(e==null&&(e=Ye((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>We(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(ro||(ro={}));var no;(function(t){let e;t.codec=()=>(e==null&&(e=Ye((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>We(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(no||(no={}));function Yn(t,e){let r=Wn.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=$h({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:ke(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var dr="/",Ad=new TextEncoder().encode(dr),io=Ad[0],un=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=Z(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]!==io)throw new Error("Invalid key")}toString(e="utf8"){return Pe(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(dr))}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=Ad),this._buf[0]!==io){let e=new Uint8Array(this._buf.byteLength+1);e.fill(io,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===io;)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 s=r[i],o=n[i];if(s<o)return!0;if(s>o)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(dr).slice(1)}type(){return uw(this.baseNamespace())}name(){return lw(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(dr)||(e+=dr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(dr):new t(e.slice(0,-1).join(dr))}child(e){return this.toString()===dr?e:e.toString()===dr?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(),...fw(e.map(r=>r.namespaces()))])}};function uw(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function lw(t){let e=t.split(":");return e[e.length-1]}function fw(t){return[].concat(...t)}var Ru="/peers/";function Qn(t){if(!gs(t)||t.type==null)throw new S("Invalid PeerId",Qe.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new un(`${Ru}${e}`)}async function Id(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=ke(i.multiaddr)),!Br(i.multiaddr))throw new S("Multiaddr was invalid",Qe.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function oo(t,e,r,n){if(e==null)throw new S("Invalid PeerData",Qe.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!De(e.publicKey,t.publicKey))throw new S("publicKey bytes do not match peer id publicKey bytes",Qe.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new S("peer id did not match existing peer id",Qe.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=so(f,{validate:Rd})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=so(f,{validate:Cd,map:Td})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[d,p]of f)p==null?a.delete(d):a.set(d,p);a=so([...a.entries()],{validate:Rd})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),d=new Map(c);for(let[p,h]of f)h==null?d.delete(p):d.set(p,h);c=so([...d.entries()],{validate:Cd,map:Td})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Id(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,d)=>f.localeCompare(d)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function so(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function Rd(t,e){if(typeof t!="string")throw new S("Metadata key must be a string",Qe.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new S("Metadata value must be a Uint8Array",Qe.ERR_INVALID_PARAMETERS)}function Cd(t,e){if(typeof t!="string")throw new S("Tag name must be a string",Qe.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new S("Tag value must be an integer",Qe.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new S("Tag value must be between 0-100",Qe.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new S("Tag ttl must be an integer",Qe.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new S("Tag ttl must be between greater than 0",Qe.ERR_INVALID_PARAMETERS)}}function Td(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function ao(t,e,r){let n=t.toString().split("/")[2],i=dt.decode(n),s=Kn(i),o=r.get(s);if(o!=null)return o;let a=Yn(s,e);return r.set(s,a),a}function hw(t,e){return t==null?{}:{prefix:Ru,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(ao(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(ao(n.key,n.value,e),ao(i.key,i.value,e)))}}var co=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Iu({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Qn(e))}async delete(e){if(this.peerId.equals(e))throw new S("Cannot delete self peer",Qe.ERR_INVALID_PARAMETERS);await this.datastore.delete(Qn(e))}async load(e){let r=await this.datastore.get(Qn(e));return Yn(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await oo(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await oo(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await oo(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,s,n,i)}async*all(e){let r=new Je;for await(let{key:n,value:i}of this.datastore.query(hw(e??{},r))){let s=ao(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#e(e){try{let r=await this.datastore.get(Qn(e)),n=Yn(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#t(e,r,n,i){let s=Wn.encode(r);return n!=null&&De(s,n)?{peer:Yn(e,s),previous:i,updated:!1}:(await this.datastore.put(Qn(e),s),{peer:Yn(e,s),previous:i,updated:!0})}};var uo=class{store;events;peerId;log;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:peer-store"),this.events=e.events,this.peerId=e.peerId,this.store=new co(e,r)}async forEach(e,r){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{this.log.trace("forEach release read lock"),n()}}async all(e){this.log.trace("all await read lock");let r=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await Mi(this.store.all(e))}finally{this.log.trace("all release read lock"),r()}}async delete(e){this.log.trace("delete await write lock");let r=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(e)}finally{this.log.trace("delete release write lock"),r()}}async has(e){this.log.trace("has await read lock");let r=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(e)}finally{this.log.trace("has release read lock"),r()}}async get(e){this.log.trace("get await read lock");let r=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(e)}finally{this.log.trace("get release read lock"),r()}}async save(e,r){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("save release write lock"),n()}}async patch(e,r){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(e,r){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await qn.openAndCertify(e,an.DOMAIN);if(r?.equals(n.peerId)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=an.createFromProtobuf(n.payload),s;try{s=await this.get(n.peerId)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}if(s?.peerRecordEnvelope!=null){let o=await qn.createFromProtobuf(s.peerRecordEnvelope),a=an.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(o=>({isCertified:!0,multiaddr:o}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function dw(t){return t[Symbol.asyncIterator]!=null}function pw(t){if(dw(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Cu=pw;function mw(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 Bd=mw;function gw(t){return t[Symbol.asyncIterator]!=null}function yw(t,e){if(gw(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Bd(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var ln=yw;function xw(t){return t[Symbol.asyncIterator]!=null}function bw(t,e){return xw(t)?async function*(){yield*(await Mi(t)).sort(e)}():function*(){yield*Mi(t).sort(e)}()}var Tu=bw;function ww(t){return t[Symbol.asyncIterator]!=null}function Ew(t,e){return ww(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 Bu=Ew;var lo=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await Cu(this.putMany(e,n)),e=[],await Cu(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=ln(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>ln(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Tu(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=ln(n,()=>i++>=s)}return e.limit!=null&&(n=Bu(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=ln(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>ln(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Tu(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=ln(n,()=>s++>=i)}return e.limit!=null&&(n=Bu(n,e.limit)),n}};var Pd=we(Lu(),1);function Nd(t){return t=t??new Error("Not Found"),(0,Pd.default)(t,"ERR_NOT_FOUND")}var fo=class extends lo{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw Nd();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new un(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new un(e)}};function kd(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var Sw=t=>t;function Du(t,e){let r=t.getPeerId();return r!=null&&oe(r).equals(e)&&(t=t.decapsulate(ke(`/p2p/${e.toString()}`))),t}var ho=class{log;components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.log=e.logger.forComponent("libp2p:address-manager"),this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??Sw,this._updatePeerStoreAddresses=kd(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>ke(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{this.log.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>ke(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>ke(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>ke(e))}addObservedAddr(e){e=Du(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Du(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=Du(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>ke(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Pu=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n;this.components.logger==null&&(this.components.logger=$s())}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>e0(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},Aw=["metrics","connectionProtector"],Iw=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Od(t={}){let e=new Pu(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!Iw.includes(i)){let o=e.components[i];if(o==null&&!Aw.includes(i))throw new S(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var $d=we(Md(),1);var Ud="[a-fA-F\\d:]",Pr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Ud})|(?<=${Ud})(?=\\s|$))`:"",Mt="(?: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}",Be="[a-fA-F\\d]{1,4}",po=`
35
+ expire = ${s}
36
+ RETURNING points, expire;`,values:[e,r,o,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
37
+ SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};gv.exports=Ip});var bv=z(()=>{});var vv=z((QX,wv)=>{wv.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var Av=z((jX,Ev)=>{var vN=vv(),_p=bt();Ev.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return!this._storage[e].expiresAt||i>0?(this._storage[e].value=this._storage[e].value+r,new _p(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new vN(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new _p(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new _p(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var Rp=z((JX,Cv)=>{var EN=js(),AN=Av(),Sv=bt(),Tp=class extends EN{constructor(e={}){super(e),this._memoryStorage=new AN}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(s,c.consumedPoints,this.blockDuration)),o(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new Sv(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new Sv(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};Cv.exports=Tp});var Lv=z((ZX,Dv)=>{var Iv=bv(),SN=$o(),CN=js(),Tv=Rp(),IN=bt(),Pt="rate_limiter_flexible",Bo=null,_v=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:Pt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},Rv=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Rv.call(this,t)},30)},To=function(t,e,r,n,i){let o={channel:Pt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):Rv.call(this,o)},Bv=function(t,e){if(!e||e.channel!==Pt||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{_v(t,e,"resolve",n)}).catch(n=>{_v(t,e,"reject",n)})},_N=function(t){if(!t||t.channel!==Pt||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new IN(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},TN=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Ro=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=SN.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},Bp=class{constructor(){if(Bo)return Bo;this._rateLimiters={},Iv.setMaxListeners(0),Iv.on("message",(e,r)=>{r&&r.channel===Pt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new Tv(r.opts)),e.send({channel:Pt,type:"init",keyPrefix:r.opts.keyPrefix})):Bv.call(this,e,r)}),Bo=this}},Dp=class{constructor(e){if(Bo)return Bo;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===Pt&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new Tv(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Pt,channel:Pt,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=Pt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,f)=>{u&&console.log(u,f)})}};Bv.call(this,s,o)}})}),Bo=this}},Lp=class extends CN{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===Pt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:_N.call(this,r)}),process.send({channel:Pt,type:"init",opts:TN.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Ro.call(this,n,i);To.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Ro.call(this,n,i);To.call(this,"delete",o,e,r)})}};Dv.exports={RateLimiterClusterMaster:Bp,RateLimiterClusterMasterPM2:Dp,RateLimiterCluster:Lp}});var Pv=z((ej,Nv)=>{var RN=ti(),BN=bt(),Np=class extends RN{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new BN;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,f=>{f?a(f):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(h)})}):this.client.incr(e,r,(f,h)=>{f||h===!1?this.client.add(e,r,u,(p,y)=>{if(p||!y)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let l=Object.assign({},o);l.attemptNumber=l.attemptNumber?l.attemptNumber+1:1,this._upsert(e,r,n,i,l).then(d=>s(d)).catch(d=>a(d))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let l={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(l)})}):this.client.get(`${e}_expire`,(p,y)=>{if(p)a(p);else{let l=y===!1?0:y,d={consumedPoints:h,msBeforeNext:l>=0?Math.max(l-c,0):-1};s(d)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(o,s)=>{s?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,f={consumedPoints:s,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(f)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};Nv.exports=Np});var Uv=z((rj,kv)=>{var Ov=bt();kv.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new Ov(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Ov(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var Fv=z((ij,Mv)=>{var DN=js();Mv.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof DN))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<s.length;u++)c&&s[u].rejected===!0?a[this._limiters[u].keyPrefix]=s[u].rej:c||(a[this._limiters[u].keyPrefix]=s[u]);c?i(a):n(a)})})}}});var Vv=z((sj,Kv)=>{Kv.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var Hv=z((cj,$v)=>{var qv=Vv(),zv=4294967295,Pp="limiter";$v.exports=class{constructor(e,r={maxQueueSize:zv}){this._queueLimiters={KEY_DEFAULT:new nu(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Pp){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Pp){return this._queueLimiters[r]||(this._queueLimiters[r]=new nu(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var nu=class{constructor(e,r={maxQueueSize:zv,key:Pp}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new qv(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),o.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new qv(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var Wv=z((fj,Gv)=>{var Op=bt();Gv.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new Op(e.remainingPoints,Math.min(e.msBeforeNext,r?r.msBeforeNext:0),e.consumedPoints,e.isFirstInDuration):null}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Op?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof Op?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var Qv=z((lj,Yv)=>{var LN=bt(),NN=ti(),iu=class{constructor(e,r,n){this.key=e,this.points=r,this.expire=n}},PN=25,ON=25,kp=class extends NN{constructor(e,r=null){super(e),this.client=e.storeClient,this.tableName=e.tableName,this.tableCreated=e.tableCreated,this.tableCreated?this._setTTL().finally(()=>{typeof r=="function"&&r()}):this._createTable(e.dynamoTableOpts).then(n=>{this.tableCreated=!0,this._setTTL().finally(()=>{typeof r=="function"&&r()})}).catch(n=>{if(typeof r=="function")r(n);else throw n})}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?"node-rate-limiter-flexible":e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}async _createTable(e){let r={TableName:this.tableName,AttributeDefinitions:[{AttributeName:"key",AttributeType:"S"}],KeySchema:[{AttributeName:"key",KeyType:"HASH"}],ProvisionedThroughput:{ReadCapacityUnits:e&&e.readCapacityUnits?e.readCapacityUnits:PN,WriteCapacityUnits:e&&e.writeCapacityUnits?e.writeCapacityUnits:ON}};try{return await this.client.createTable(r)}catch(n){if(n.__type&&n.__type.includes("ResourceInUseException"))return null;throw n}}async _get(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}}},n=await this.client.getItem(r);return n.Item?new iu(n.Item.key.S,Number(n.Item.points.N),Number(n.Item.expire.N)):null}async _delete(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}},ConditionExpression:"attribute_exists(#k)",ExpressionAttributeNames:{"#k":"key"}};try{return(await this._client.deleteItem(r)).$metadata.httpStatusCode===200}catch(n){if(n.__type&&n.__type.includes("ConditionalCheckFailedException"))return!1;throw n}}async _upsert(e,r,n,i=!1,o={}){if(!this.tableCreated)throw new Error("Table is not created yet");let s=Date.now(),a=s/1e3,c=n>0?(s+n)/1e3:-1;if(i)return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :points, expire = :expire",ExpressionAttributeValues:{":points":{N:r.toString()},":expire":{N:c.toString()}},ReturnValues:"ALL_NEW"});try{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :new_points, expire = :new_expire",ExpressionAttributeValues:{":new_points":{N:r.toString()},":new_expire":{N:c.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire <= :where_expire OR attribute_not_exists(points)",ReturnValues:"ALL_NEW"})}catch{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = points + :new_points",ExpressionAttributeValues:{":new_points":{N:r.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire > :where_expire",ReturnValues:"ALL_NEW"})}}async _baseUpsert(e){if(!this.tableCreated)throw new Error("Table is not created yet");try{let r=await this.client.updateItem(e);return new iu(r.Attributes.key.S,Number(r.Attributes.points.N),Number(r.Attributes.expire.N))}catch(r){throw r}}async _setTTL(){if(!this.tableCreated)throw new Error("Table is not created yet");try{if(await this._isTTLSet())return;let r={TableName:this.tableName,TimeToLiveSpecification:{AttributeName:"expire",Enabled:!0}};return await this.client.updateTimeToLive(r)}catch(e){throw e}}async _isTTLSet(){if(!this.tableCreated)throw new Error("Table is not created yet");try{let e=await this.client.describeTimeToLive({TableName:this.tableName});return e.$metadata.httpStatusCode==200&&e.TimeToLiveDescription.TimeToLiveStatus==="ENABLED"&&e.TimeToLiveDescription.AttributeName==="expire"}catch(e){throw e}}_getRateLimiterRes(e,r,n){let i=new LN;return i.isFirstInDuration=r===n.points,i.consumedPoints=i.isFirstInDuration?r:n.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.expire!=-1?Math.max(n.expire*1e3-Date.now(),0):-1,i}};Yv.exports=kp});var jv=z((hj,Xv)=>{var kN=lv(),UN=pv(),MN=yv(),FN=xv(),{RateLimiterClusterMaster:KN,RateLimiterClusterMasterPM2:VN,RateLimiterCluster:qN}=Lv(),zN=Rp(),$N=Pv(),HN=Uv(),GN=Fv(),WN=Hv(),YN=Wv(),QN=bt(),XN=Qv();Xv.exports={RateLimiterRedis:kN,RateLimiterMongo:UN,RateLimiterMySQL:MN,RateLimiterPostgres:FN,RateLimiterMemory:zN,RateLimiterMemcache:$N,RateLimiterClusterMaster:KN,RateLimiterClusterMasterPM2:VN,RateLimiterCluster:qN,RLWrapperBlackAndWhite:HN,RateLimiterUnion:GN,RateLimiterQueue:WN,BurstyRateLimiter:YN,RateLimiterRes:QN,RateLimiterDynamo:XN}});var BO={};R(BO,{createLibp2p:()=>RO});var jF=we(zo(),1),JF=we(Yy(),1);var Qy=Symbol.for("@libp2p/connection");var of=Symbol.for("@libp2p/content-routing");var sf=Symbol.for("@libp2p/peer-discovery");var af=Symbol.for("@libp2p/peer-id");function Ta(t){return t!=null&&!!t[af]}var cf=Symbol.for("@libp2p/peer-routing");var Xy="keep-alive";var jy;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(jy||(jy={}));var lk=Symbol.for("@libp2p/transport");var $r;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})($r||($r={}));var hi=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"},_=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ra="ERR_TIMEOUT",uf="ERR_INVALID_PARAMETERS";var Wo=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 lf(e,r))}},ff=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},lf=globalThis.CustomEvent??ff;var wt=(t,...e)=>{try{[...e]}catch{}};function Jy(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var oT=we(le(),1);function An(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var yf={};R(yf,{base10:()=>_8});function E8(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 h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var A8=E8,S8=A8,Zy=S8;var Hk=new Uint8Array(0);var eg=(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},yr=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 tg=t=>new TextEncoder().encode(t),rg=t=>new TextDecoder().decode(t);var hf=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")}},df=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 ig(this,e)}},pf=class{constructor(e){this.decoders=e}or(e){return ig(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`)}},ig=(t,e)=>new pf({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),mf=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new hf(e,r,n),this.decoder=new df(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},di=({name:t,prefix:e,encode:r,decode:n})=>new mf(t,e,r,n),Hr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Zy(r,e);return di({prefix:t,name:e,encode:n,decode:o=>yr(i(o))})},C8=(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 h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,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},I8=(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},Ee=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>di({prefix:e,name:t,encode(i){return I8(i,n,r)},decode(i){return C8(i,n,r,t)}});var _8=Hr({prefix:"9",name:"base10",alphabet:"0123456789"});var gf={};R(gf,{base16:()=>T8,base16upper:()=>R8});var T8=Ee({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),R8=Ee({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var xf={};R(xf,{base2:()=>B8});var B8=Ee({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var bf={};R(bf,{base256emoji:()=>O8});var og=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}"),D8=og.reduce((t,e,r)=>(t[r]=e,t),[]),L8=og.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function N8(t){return t.reduce((e,r)=>(e+=D8[r],e),"")}function P8(t){let e=[];for(let r of t){let n=L8[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var O8=di({prefix:"\u{1F680}",name:"base256emoji",encode:N8,decode:P8});var wf={};R(wf,{base32:()=>pi,base32hex:()=>F8,base32hexpad:()=>V8,base32hexpadupper:()=>q8,base32hexupper:()=>K8,base32pad:()=>U8,base32padupper:()=>M8,base32upper:()=>k8,base32z:()=>z8});var pi=Ee({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),k8=Ee({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),U8=Ee({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),M8=Ee({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),F8=Ee({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),K8=Ee({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),V8=Ee({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),q8=Ee({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),z8=Ee({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var vf={};R(vf,{base36:()=>$8,base36upper:()=>H8});var $8=Hr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),H8=Hr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ef={};R(Ef,{base58btc:()=>jt,base58flickr:()=>G8});var jt=Hr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),G8=Hr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Af={};R(Af,{base64:()=>W8,base64pad:()=>Y8,base64url:()=>Q8,base64urlpad:()=>X8});var W8=Ee({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Y8=Ee({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Q8=Ee({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),X8=Ee({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Sf={};R(Sf,{base8:()=>j8});var j8=Ee({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Cf={};R(Cf,{identity:()=>J8});var J8=di({prefix:"\0",name:"identity",encode:t=>rg(t),decode:t=>tg(t)});var sU=new TextEncoder,aU=new TextDecoder;var _f={};R(_f,{identity:()=>vC});var tC=cg,sg=128,rC=127,nC=~rC,iC=Math.pow(2,31);function cg(t,e,r){e=e||[],r=r||0;for(var n=r;t>=iC;)e[r++]=t&255|sg,t/=128;for(;t&nC;)e[r++]=t&255|sg,t>>>=7;return e[r]=t|0,cg.bytes=r-n+1,e}var oC=If,sC=128,ag=127;function If(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw If.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&ag)<<i:(s&ag)*Math.pow(2,i),i+=7}while(s>=sC);return If.bytes=o-n,r}var aC=Math.pow(2,7),cC=Math.pow(2,14),uC=Math.pow(2,21),fC=Math.pow(2,28),lC=Math.pow(2,35),hC=Math.pow(2,42),dC=Math.pow(2,49),pC=Math.pow(2,56),mC=Math.pow(2,63),yC=function(t){return t<aC?1:t<cC?2:t<uC?3:t<fC?4:t<lC?5:t<hC?6:t<dC?7:t<pC?8:t<mC?9:10},gC={encode:tC,decode:oC,encodingLength:yC},xC=gC,Yo=xC;var Qo=(t,e=0)=>[Yo.decode(t,e),Yo.decode.bytes],mi=(t,e,r=0)=>(Yo.encode(t,e,r),e),yi=t=>Yo.encodingLength(t);var Sn=(t,e)=>{let r=e.byteLength,n=yi(t),i=n+yi(r),o=new Uint8Array(i+r);return mi(t,o,0),mi(r,o,n),o.set(e,i),new gi(t,r,e,o)},ug=t=>{let e=yr(t),[r,n]=Qo(e),[i,o]=Qo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new gi(r,i,s,e)},fg=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&eg(t.bytes,r.bytes)}},gi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var lg=0,bC="identity",hg=yr,wC=t=>Sn(lg,hg(t)),vC={code:lg,name:bC,encode:hg,digest:wC};var Bf={};R(Bf,{sha256:()=>EC,sha512:()=>AC});var Rf=({name:t,code:e,encode:r})=>new Tf(t,e,r),Tf=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?Sn(this.code,r):r.then(n=>Sn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var pg=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),EC=Rf({name:"sha2-256",code:18,encode:pg("SHA-256")}),AC=Rf({name:"sha2-512",code:19,encode:pg("SHA-512")});var mg=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return CC(r,Df(t),e||jt.encoder);default:return IC(r,Df(t),e||pi.encoder)}};var yg=new WeakMap,Df=t=>{let e=yg.get(t);if(e==null){let r=new Map;return yg.set(t,r),r}return e},Da=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!==jo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==_C)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=Sn(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&&fg(e.multihash,n.multihash)}toString(e){return mg(this,e)}toJSON(){return{"/":mg(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||gg(n,i,o.bytes))}else if(r[TC]===!0){let{version:n,multihash:i,code:o}=r,s=ug(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!==jo)throw new Error(`Version 0 CID must use dag-pb (code: ${jo}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=gg(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,jo,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=yr(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 gi(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[h,p]=Qo(e.subarray(r));return r+=p,h},i=n(),o=jo;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]=SC(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 Df(o).set(n,e),o}},SC=(t,e)=>{switch(t[0]){case"Q":{let r=e||jt;return[jt.prefix,r.decode(`${jt.prefix}${t}`)]}case jt.prefix:{let r=e||jt;return[jt.prefix,r.decode(t)]}case pi.prefix:{let r=e||pi;return[pi.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)]}}},CC=(t,e,r)=>{let{prefix:n}=r;if(n!==jt.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},IC=(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},jo=112,_C=18,gg=(t,e,r)=>{let n=yi(t),i=n+yi(e),o=new Uint8Array(i+r.byteLength);return mi(t,o,0),mi(e,o,n),o.set(r,i),o},TC=Symbol.for("@ipld/js-cid/CID");var Lf={...Cf,...xf,...Sf,...yf,...gf,...wf,...vf,...Ef,...Af,...bf},AU={...Bf,..._f};function La(t=0){return globalThis.Buffer?.allocUnsafe!=null?An(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function bg(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var xg=bg("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Nf=bg("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=La(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),RC={utf8:xg,"utf-8":xg,hex:Lf.base16,latin1:Nf,ascii:Nf,binary:Nf,...Lf},Na=RC;function vt(t,e="utf8"){let r=Na[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?An(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var $l={};R($l,{Ed25519PrivateKey:()=>Nn,Ed25519PublicKey:()=>hs,generateKeyPair:()=>R_,generateKeyPairFromSeed:()=>kx,unmarshalEd25519PrivateKey:()=>__,unmarshalEd25519PublicKey:()=>T_});var Mf={};R(Mf,{base58btc:()=>Qe,base58flickr:()=>OC});var NU=new Uint8Array(0);function wg(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 gr(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 vg(t){return new TextEncoder().encode(t)}function Eg(t){return new TextDecoder().decode(t)}function BC(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 h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var DC=BC,LC=DC,Sg=LC;var Pf=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")}},Of=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 Cg(this,e)}},kf=class{decoders;constructor(e){this.decoders=e}or(e){return Cg(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 Cg(t,e){return new kf({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Uf=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 Pf(e,r,n),this.decoder=new Of(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function xi({name:t,prefix:e,encode:r,decode:n}){return new Uf(t,e,r,n)}function Gr({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=Sg(r,t);return xi({prefix:e,name:t,encode:n,decode:o=>gr(i(o))})}function NC(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 h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,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 PC(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 Ae({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return xi({prefix:e,name:t,encode(i){return PC(i,n,r)},decode(i){return NC(i,n,r,t)}})}var Qe=Gr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),OC=Gr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Kf={};R(Kf,{identity:()=>Wr});var kC=Tg,Ig=128,UC=127,MC=~UC,FC=Math.pow(2,31);function Tg(t,e,r){e=e||[],r=r||0;for(var n=r;t>=FC;)e[r++]=t&255|Ig,t/=128;for(;t&MC;)e[r++]=t&255|Ig,t>>>=7;return e[r]=t|0,Tg.bytes=r-n+1,e}var KC=Ff,VC=128,_g=127;function Ff(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Ff.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&_g)<<i:(s&_g)*Math.pow(2,i),i+=7}while(s>=VC);return Ff.bytes=o-n,r}var qC=Math.pow(2,7),zC=Math.pow(2,14),$C=Math.pow(2,21),HC=Math.pow(2,28),GC=Math.pow(2,35),WC=Math.pow(2,42),YC=Math.pow(2,49),QC=Math.pow(2,56),XC=Math.pow(2,63),jC=function(t){return t<qC?1:t<zC?2:t<$C?3:t<HC?4:t<GC?5:t<WC?6:t<YC?7:t<QC?8:t<XC?9:10},JC={encode:kC,decode:KC,encodingLength:jC},ZC=JC,Jo=ZC;function Zo(t,e=0){return[Jo.decode(t,e),Jo.decode.bytes]}function bi(t,e,r=0){return Jo.encode(t,e,r),e}function wi(t){return Jo.encodingLength(t)}function Jt(t,e){let r=e.byteLength,n=wi(t),i=n+wi(r),o=new Uint8Array(i+r);return bi(t,o,0),bi(r,o,n),o.set(e,i),new vi(t,r,e,o)}function es(t){let e=gr(t),[r,n]=Zo(e),[i,o]=Zo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new vi(r,i,s,e)}function Rg(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&wg(t.bytes,r.bytes)}}var vi=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Bg=0,eI="identity",Dg=gr;function tI(t){return Jt(Bg,Dg(t))}var Wr={code:Bg,name:eI,encode:Dg,digest:tI};var zf={};R(zf,{sha256:()=>Xe,sha512:()=>rI});function qf({name:t,code:e,encode:r}){return new Vf(t,e,r)}var Vf=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?Jt(this.code,r):r.then(n=>Jt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Ng(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Xe=qf({name:"sha2-256",code:18,encode:Ng("SHA-256")}),rI=qf({name:"sha2-512",code:19,encode:Ng("SHA-512")});function Zt(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 XU=we(ke(),1),jU=we(Sa(),1),Pg=we(le(),1);function Cn(t,e){if(globalThis.Buffer!=null)return An(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=La(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return An(r)}function Et(t,e="utf8"){let r=Na[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 Ut(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=Cn([new Uint8Array(e-r.length),r])}return Et(r,"base64url")}function At(t){let e=Og(t);return new Pg.default.jsbn.BigInteger(Et(e,"base16"),16)}function Og(t,e){let r=vt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Cn([new Uint8Array(e-r.length),r])}return r}function Rt(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function kg(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function nI(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function $f(t,...e){if(!nI(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 Ug(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");kg(t.outputLen),kg(t.blockLen)}function Ai(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 Mg(t,e){$f(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Oa=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Fg(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var ka=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Mt=(t,e)=>t<<32-e|t>>>e,iI=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!iI)throw new Error("Non little-endian hardware is not supported");function Hf(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function ts(t){if(typeof t=="string"&&(t=Hf(t)),!Fg(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function Ua(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!Fg(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 Si=class{clone(){return this._cloneInto()}},oM={}.toString;function Ma(t){let e=n=>t().update(ts(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Ci(t=32){if(Oa&&typeof Oa.getRandomValues=="function")return Oa.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function oI(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 Ii=class extends Si{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=ka(this.buffer)}update(e){Ai(this);let{view:r,buffer:n,blockLen:i}=this;e=ts(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=ka(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){Ai(this),Mg(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 h=s;h<i;h++)r[h]=0;oI(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=ka(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 h=0;h<u;h++)a.setUint32(4*h,f[h],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 Fa=BigInt(4294967295),Gf=BigInt(32);function Kg(t,e=!1){return e?{h:Number(t&Fa),l:Number(t>>Gf&Fa)}:{h:Number(t>>Gf&Fa)|0,l:Number(t&Fa)|0}}function sI(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}=Kg(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var aI=(t,e)=>BigInt(t>>>0)<<Gf|BigInt(e>>>0),cI=(t,e,r)=>t>>>r,uI=(t,e,r)=>t<<32-r|e>>>r,fI=(t,e,r)=>t>>>r|e<<32-r,lI=(t,e,r)=>t<<32-r|e>>>r,hI=(t,e,r)=>t<<64-r|e>>>r-32,dI=(t,e,r)=>t>>>r-32|e<<64-r,pI=(t,e)=>e,mI=(t,e)=>t,yI=(t,e,r)=>t<<r|e>>>32-r,gI=(t,e,r)=>e<<r|t>>>32-r,xI=(t,e,r)=>e<<r-32|t>>>64-r,bI=(t,e,r)=>t<<r-32|e>>>64-r;function wI(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var vI=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),EI=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,AI=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),SI=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,CI=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),II=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var _I={fromBig:Kg,split:sI,toBig:aI,shrSH:cI,shrSL:uI,rotrSH:fI,rotrSL:lI,rotrBH:hI,rotrBL:dI,rotr32H:pI,rotr32L:mI,rotlSH:yI,rotlSL:gI,rotlBH:xI,rotlBL:bI,add:wI,add3L:vI,add3H:EI,add4L:AI,add4H:SI,add5H:II,add5L:CI},X=_I;var[TI,RI]=X.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))),Yr=new Uint32Array(80),Qr=new Uint32Array(80),Wf=class extends Ii{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:h,Fl:p,Gh:y,Gl:l,Hh:d,Hl:m}=this;return[e,r,n,i,o,s,a,c,u,f,h,p,y,l,d,m]}set(e,r,n,i,o,s,a,c,u,f,h,p,y,l,d,m){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=h|0,this.Fl=p|0,this.Gh=y|0,this.Gl=l|0,this.Hh=d|0,this.Hl=m|0}process(e,r){for(let b=0;b<16;b++,r+=4)Yr[b]=e.getUint32(r),Qr[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let v=Yr[b-15]|0,w=Qr[b-15]|0,E=X.rotrSH(v,w,1)^X.rotrSH(v,w,8)^X.shrSH(v,w,7),A=X.rotrSL(v,w,1)^X.rotrSL(v,w,8)^X.shrSL(v,w,7),C=Yr[b-2]|0,P=Qr[b-2]|0,W=X.rotrSH(C,P,19)^X.rotrBH(C,P,61)^X.shrSH(C,P,6),H=X.rotrSL(C,P,19)^X.rotrBL(C,P,61)^X.shrSL(C,P,6),Z=X.add4L(A,H,Qr[b-7],Qr[b-16]),fe=X.add4H(Z,E,W,Yr[b-7],Yr[b-16]);Yr[b]=fe|0,Qr[b]=Z|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:h,El:p,Fh:y,Fl:l,Gh:d,Gl:m,Hh:g,Hl:x}=this;for(let b=0;b<80;b++){let v=X.rotrSH(h,p,14)^X.rotrSH(h,p,18)^X.rotrBH(h,p,41),w=X.rotrSL(h,p,14)^X.rotrSL(h,p,18)^X.rotrBL(h,p,41),E=h&y^~h&d,A=p&l^~p&m,C=X.add5L(x,w,A,RI[b],Qr[b]),P=X.add5H(C,g,v,E,TI[b],Yr[b]),W=C|0,H=X.rotrSH(n,i,28)^X.rotrBH(n,i,34)^X.rotrBH(n,i,39),Z=X.rotrSL(n,i,28)^X.rotrBL(n,i,34)^X.rotrBL(n,i,39),fe=n&o^n&a^o&a,Ge=i&s^i&c^s&c;g=d|0,x=m|0,d=y|0,m=l|0,y=h|0,l=p|0,{h,l:p}=X.add(u|0,f|0,P|0,W|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let L=X.add3L(W,Z,Ge);n=X.add3H(L,P,H,fe),i=L|0}({h:n,l:i}=X.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=X.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=X.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=X.add(this.Dh|0,this.Dl|0,u|0,f|0),{h,l:p}=X.add(this.Eh|0,this.El|0,h|0,p|0),{h:y,l}=X.add(this.Fh|0,this.Fl|0,y|0,l|0),{h:d,l:m}=X.add(this.Gh|0,this.Gl|0,d|0,m|0),{h:g,l:x}=X.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,o,s,a,c,u,f,h,p,y,l,d,m,g,x)}roundClean(){Yr.fill(0),Qr.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 Yf=Ma(()=>new Wf);var Va={};R(Va,{bitGet:()=>kI,bitLen:()=>OI,bitMask:()=>rs,bitSet:()=>UI,bytesToHex:()=>br,bytesToNumberBE:()=>wr,bytesToNumberLE:()=>Xr,concatBytes:()=>vr,createHmacDrbg:()=>jf,ensureBytes:()=>Se,equalBytes:()=>NI,hexToBytes:()=>In,hexToNumber:()=>Xf,isBytes:()=>Ft,numberToBytesBE:()=>jr,numberToBytesLE:()=>_n,numberToHexUnpadded:()=>$g,numberToVarBytesBE:()=>LI,utf8ToBytes:()=>PI,validateObject:()=>er});var zg=BigInt(0),Ka=BigInt(1),BI=BigInt(2);function Ft(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var DI=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function br(t){if(!Ft(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=DI[t[r]];return e}function $g(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Xf(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var xr={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function Vg(t){if(t>=xr._0&&t<=xr._9)return t-xr._0;if(t>=xr._A&&t<=xr._F)return t-(xr._A-10);if(t>=xr._a&&t<=xr._f)return t-(xr._a-10)}function In(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=Vg(t.charCodeAt(o)),a=Vg(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 wr(t){return Xf(br(t))}function Xr(t){if(!Ft(t))throw new Error("Uint8Array expected");return Xf(br(Uint8Array.from(t).reverse()))}function jr(t,e){return In(t.toString(16).padStart(e*2,"0"))}function _n(t,e){return jr(t,e).reverse()}function LI(t){return In($g(t))}function Se(t,e,r){let n;if(typeof e=="string")try{n=In(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(Ft(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(!Ft(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 NI(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 PI(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function OI(t){let e;for(e=0;t>zg;t>>=Ka,e+=1);return e}function kI(t,e){return t>>BigInt(e)&Ka}var UI=(t,e,r)=>t|(r?Ka:zg)<<BigInt(e),rs=t=>(BI<<BigInt(t-1))-Ka,Qf=t=>new Uint8Array(t),qg=t=>Uint8Array.from(t);function jf(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=Qf(t),i=Qf(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...h)=>r(i,n,...h),c=(h=Qf())=>{i=a(qg([0]),h),n=a(),h.length!==0&&(i=a(qg([1]),h),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let h=0,p=[];for(;h<e;){n=a();let y=n.slice();p.push(y),h+=n.length}return vr(...p)};return(h,p)=>{s(),c(h);let y;for(;!(y=p(u()));)c();return s(),y}}var MI={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"||Ft(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 er(t,e,r={}){let n=(i,o,s)=>{let a=MI[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 Fe=BigInt(0),ge=BigInt(1),Tn=BigInt(2),FI=BigInt(3),Jf=BigInt(4),Hg=BigInt(5),Gg=BigInt(8),KI=BigInt(9),VI=BigInt(16);function he(t,e){let r=t%e;return r>=Fe?r:e+r}function qI(t,e,r){if(r<=Fe||e<Fe)throw new Error("Expected power/modulo > 0");if(r===ge)return Fe;let n=ge;for(;e>Fe;)e&ge&&(n=n*t%r),t=t*t%r,e>>=ge;return n}function xe(t,e,r){let n=t;for(;e-- >Fe;)n*=n,n%=r;return n}function qa(t,e){if(t===Fe||e<=Fe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=he(t,e),n=e,i=Fe,o=ge,s=ge,a=Fe;for(;r!==Fe;){let u=n/r,f=n%r,h=i-s*u,p=o-a*u;n=r,r=f,i=s,o=a,s=h,a=p}if(n!==ge)throw new Error("invert: does not exist");return he(i,e)}function zI(t){let e=(t-ge)/Tn,r,n,i;for(r=t-ge,n=0;r%Tn===Fe;r/=Tn,n++);for(i=Tn;i<t&&qI(i,e,t)!==t-ge;i++);if(n===1){let s=(t+ge)/Jf;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+ge)/Tn;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),h=a.pow(c,o),p=a.pow(c,r);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let y=1;for(let d=a.sqr(p);y<u&&!a.eql(d,a.ONE);y++)d=a.sqr(d);let l=a.pow(f,ge<<BigInt(u-y-1));f=a.sqr(l),h=a.mul(h,l),p=a.mul(p,f),u=y}return h}}function $I(t){if(t%Jf===FI){let e=(t+ge)/Jf;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%Gg===Hg){let e=(t-Hg)/Gg;return function(n,i){let o=n.mul(i,Tn),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,Tn),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%VI,zI(t)}var Wg=(t,e)=>(he(t,e)&ge)===ge,HI=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Zf(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=HI.reduce((n,i)=>(n[i]="function",n),e);return er(t,r)}function GI(t,e,r){if(r<Fe)throw new Error("Expected power > 0");if(r===Fe)return t.ONE;if(r===ge)return e;let n=t.ONE,i=e;for(;r>Fe;)r&ge&&(n=t.mul(n,i)),i=t.sqr(i),r>>=ge;return n}function WI(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 el(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function za(t,e,r=!1,n={}){if(t<=Fe)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=el(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=$I(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:rs(i),ZERO:Fe,ONE:ge,create:c=>he(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Fe<=c&&c<t},is0:c=>c===Fe,isOdd:c=>(c&ge)===ge,neg:c=>he(-c,t),eql:(c,u)=>c===u,sqr:c=>he(c*c,t),add:(c,u)=>he(c+u,t),sub:(c,u)=>he(c-u,t),mul:(c,u)=>he(c*u,t),pow:(c,u)=>GI(a,c,u),div:(c,u)=>he(c*qa(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>qa(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>WI(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?_n(c,o):jr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Xr(c):wr(c)}});return Object.freeze(a)}function Yg(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 Qg(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 tl(t){let e=Qg(t);return e+Math.ceil(e/2)}function Xg(t,e,r=!1){let n=t.length,i=Qg(e),o=tl(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?wr(t):Xr(t),a=he(s,e-ge)+ge;return r?_n(a,i):jr(a,i)}var QI=BigInt(0),rl=BigInt(1);function $a(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>QI;)o&rl&&(s=s.add(a)),a=a.double(),o>>=rl;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let h=0;h<s;h++){f=u,c.push(f);for(let p=1;p<a;p++)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,h=BigInt(2**i-1),p=2**i,y=BigInt(i);for(let l=0;l<a;l++){let d=l*c,m=Number(s&h);s>>=y,m>c&&(m-=p,s+=rl);let g=d,x=d+Math.abs(m)-1,b=l%2!==0,v=m<0;m===0?f=f.add(r(b,o[g])):u=u.add(r(v,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 ns(t){return Zf(t.Fp),er(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...el(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Kt=BigInt(0),St=BigInt(1),Ha=BigInt(2),XI=BigInt(8),jI={zip215:!0};function JI(t){let e=ns(t);return er(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Ga(t){let e=JI(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=Ha<<BigInt(a*8)-St,f=r.create,h=e.uvRatio||((k,B)=>{try{return{isValid:!0,value:r.sqrt(k*r.inv(B))}}catch{return{isValid:!1,value:Kt}}}),p=e.adjustScalarBytes||(k=>k),y=e.domain||((k,B,K)=>{if(B.length||K)throw new Error("Contexts/pre-hash are not supported");return k}),l=k=>typeof k=="bigint"&&Kt<k,d=(k,B)=>l(k)&&l(B)&&k<B,m=k=>k===Kt||d(k,u);function g(k,B){if(d(k,B))return k;throw new Error(`Expected valid scalar < ${B}, got ${typeof k} ${k}`)}function x(k){return k===Kt?k:g(k,n)}let b=new Map;function v(k){if(!(k instanceof w))throw new Error("ExtendedPoint expected")}class w{constructor(B,K,q,G){if(this.ex=B,this.ey=K,this.ez=q,this.et=G,!m(B))throw new Error("x required");if(!m(K))throw new Error("y required");if(!m(q))throw new Error("z required");if(!m(G))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(B){if(B instanceof w)throw new Error("extended point not allowed");let{x:K,y:q}=B||{};if(!m(K)||!m(q))throw new Error("invalid affine point");return new w(K,q,St,f(K*q))}static normalizeZ(B){let K=r.invertBatch(B.map(q=>q.ez));return B.map((q,G)=>q.toAffine(K[G])).map(w.fromAffine)}_setWindowSize(B){this._WINDOW_SIZE=B,b.delete(this)}assertValidity(){let{a:B,d:K}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:q,ey:G,ez:j,et:ee}=this,ce=f(q*q),te=f(G*G),ie=f(j*j),Oe=f(ie*ie),ve=f(ce*B),We=f(ie*f(ve+te)),Ye=f(Oe+f(K*f(ce*te)));if(We!==Ye)throw new Error("bad point: equation left != right (1)");let Me=f(q*G),rt=f(j*ee);if(Me!==rt)throw new Error("bad point: equation left != right (2)")}equals(B){v(B);let{ex:K,ey:q,ez:G}=this,{ex:j,ey:ee,ez:ce}=B,te=f(K*ce),ie=f(j*G),Oe=f(q*ce),ve=f(ee*G);return te===ie&&Oe===ve}is0(){return this.equals(w.ZERO)}negate(){return new w(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:B}=e,{ex:K,ey:q,ez:G}=this,j=f(K*K),ee=f(q*q),ce=f(Ha*f(G*G)),te=f(B*j),ie=K+q,Oe=f(f(ie*ie)-j-ee),ve=te+ee,We=ve-ce,Ye=te-ee,Me=f(Oe*We),rt=f(ve*Ye),hr=f(Oe*Ye),gn=f(We*ve);return new w(Me,rt,gn,hr)}add(B){v(B);let{a:K,d:q}=e,{ex:G,ey:j,ez:ee,et:ce}=this,{ex:te,ey:ie,ez:Oe,et:ve}=B;if(K===BigInt(-1)){let Cm=f((j-G)*(ie+te)),Im=f((j+G)*(ie-te)),Ou=f(Im-Cm);if(Ou===Kt)return this.double();let _m=f(ee*Ha*ve),Tm=f(ce*Ha*Oe),Rm=Tm+_m,Bm=Im+Cm,Dm=Tm-_m,qE=f(Rm*Ou),zE=f(Bm*Dm),$E=f(Rm*Dm),HE=f(Ou*Bm);return new w(qE,zE,HE,$E)}let We=f(G*te),Ye=f(j*ie),Me=f(ce*q*ve),rt=f(ee*Oe),hr=f((G+j)*(te+ie)-We-Ye),gn=rt-Me,Fo=rt+Me,Sm=f(Ye-K*We),ME=f(hr*gn),FE=f(Fo*Sm),KE=f(hr*Sm),VE=f(gn*Fo);return new w(ME,FE,VE,KE)}subtract(B){return this.add(B.negate())}wNAF(B){return C.wNAFCached(this,b,B,w.normalizeZ)}multiply(B){let{p:K,f:q}=this.wNAF(g(B,n));return w.normalizeZ([K,q])[0]}multiplyUnsafe(B){let K=x(B);return K===Kt?A:this.equals(A)||K===St?this:this.equals(E)?this.wNAF(K).p:C.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return C.unsafeLadder(this,n).is0()}toAffine(B){let{ex:K,ey:q,ez:G}=this,j=this.is0();B==null&&(B=j?XI:r.inv(G));let ee=f(K*B),ce=f(q*B),te=f(G*B);if(j)return{x:Kt,y:St};if(te!==St)throw new Error("invZ was invalid");return{x:ee,y:ce}}clearCofactor(){let{h:B}=e;return B===St?this:this.multiplyUnsafe(B)}static fromHex(B,K=!1){let{d:q,a:G}=e,j=r.BYTES;B=Se("pointHex",B,j);let ee=B.slice(),ce=B[j-1];ee[j-1]=ce&-129;let te=Xr(ee);te===Kt||(K?g(te,u):g(te,r.ORDER));let ie=f(te*te),Oe=f(ie-St),ve=f(q*ie-G),{isValid:We,value:Ye}=h(Oe,ve);if(!We)throw new Error("Point.fromHex: invalid y coordinate");let Me=(Ye&St)===St,rt=(ce&128)!==0;if(!K&&Ye===Kt&&rt)throw new Error("Point.fromHex: x=0 and x_0=1");return rt!==Me&&(Ye=f(-Ye)),w.fromAffine({x:Ye,y:te})}static fromPrivateKey(B){return H(B).point}toRawBytes(){let{x:B,y:K}=this.toAffine(),q=_n(K,r.BYTES);return q[q.length-1]|=B&St?128:0,q}toHex(){return br(this.toRawBytes())}}w.BASE=new w(e.Gx,e.Gy,St,f(e.Gx*e.Gy)),w.ZERO=new w(Kt,St,St,Kt);let{BASE:E,ZERO:A}=w,C=$a(w,a*8);function P(k){return he(k,n)}function W(k){return P(Xr(k))}function H(k){let B=a;k=Se("private key",k,B);let K=Se("hashed private key",o(k),2*B),q=p(K.slice(0,B)),G=K.slice(B,2*B),j=W(q),ee=E.multiply(j),ce=ee.toRawBytes();return{head:q,prefix:G,scalar:j,point:ee,pointBytes:ce}}function Z(k){return H(k).pointBytes}function fe(k=new Uint8Array,...B){let K=vr(...B);return W(o(y(K,Se("context",k),!!i)))}function Ge(k,B,K={}){k=Se("message",k),i&&(k=i(k));let{prefix:q,scalar:G,pointBytes:j}=H(B),ee=fe(K.context,q,k),ce=E.multiply(ee).toRawBytes(),te=fe(K.context,ce,j,k),ie=P(ee+te*G);x(ie);let Oe=vr(ce,_n(ie,r.BYTES));return Se("result",Oe,a*2)}let L=jI;function U(k,B,K,q=L){let{context:G,zip215:j}=q,ee=r.BYTES;k=Se("signature",k,2*ee),B=Se("message",B),i&&(B=i(B));let ce=Xr(k.slice(ee,2*ee)),te,ie,Oe;try{te=w.fromHex(K,j),ie=w.fromHex(k.slice(0,ee),j),Oe=E.multiplyUnsafe(ce)}catch{return!1}if(!j&&te.isSmallOrder())return!1;let ve=fe(G,ie.toRawBytes(),te.toRawBytes(),B);return ie.add(te.multiplyUnsafe(ve)).subtract(Oe).clearCofactor().equals(w.ZERO)}return E._setWindowSize(8),{CURVE:e,getPublicKey:Z,sign:Ge,verify:U,ExtendedPoint:w,utils:{getExtendedPublicKey:H,randomPrivateKey:()=>s(r.BYTES),precompute(k=8,B=w.BASE){return B._setWindowSize(k),B.multiply(BigInt(3)),B}}}}var il=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),jg=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),_M=BigInt(0),ZI=BigInt(1),nl=BigInt(2),e4=BigInt(5),Jg=BigInt(10),t4=BigInt(20),r4=BigInt(40),Zg=BigInt(80);function n4(t){let e=il,n=t*t%e*t%e,i=xe(n,nl,e)*n%e,o=xe(i,ZI,e)*t%e,s=xe(o,e4,e)*o%e,a=xe(s,Jg,e)*s%e,c=xe(a,t4,e)*a%e,u=xe(c,r4,e)*c%e,f=xe(u,Zg,e)*u%e,h=xe(f,Zg,e)*u%e,p=xe(h,Jg,e)*s%e;return{pow_p_5_8:xe(p,nl,e)*t%e,b2:n}}function i4(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function o4(t,e){let r=il,n=he(e*e*e,r),i=he(n*n*e,r),o=n4(t*i).pow_p_5_8,s=he(t*n*o,r),a=he(e*s*s,r),c=s,u=he(s*jg,r),f=a===t,h=a===he(-t,r),p=a===he(-t*jg,r);return f&&(s=c),(h||p)&&(s=u),Wg(s,r)&&(s=he(-s,r)),{isValid:f||h,value:s}}var Er=za(il,void 0,!0),ol={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Er,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Yf,randomBytes:Ci,adjustScalarBytes:i4,uvRatio:o4},_i=Ga(ol);function ex(t,e,r){if(e.length>255)throw new Error("Context is too big");return Ua(Hf("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var TM=Ga({...ol,domain:ex}),RM=Ga({...ol,domain:ex,prehash:Yf});var s4=(Er.ORDER+BigInt(3))/BigInt(8),BM=Er.pow(nl,s4),DM=Er.sqrt(Er.neg(Er.ONE)),LM=(Er.ORDER-BigInt(5))/BigInt(8),NM=BigInt(486662);var PM=Yg(Er,Er.neg(BigInt(486664)));var OM=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),kM=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),UM=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),MM=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var FM=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Ti=32,Ar=64,Wa=32;function tx(){let t=_i.utils.randomPrivateKey(),e=_i.getPublicKey(t);return{privateKey:ox(t,e),publicKey:e}}function rx(t){if(t.length!==Wa)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=_i.getPublicKey(e);return{privateKey:ox(e,r),publicKey:r}}function nx(t,e){let r=t.subarray(0,Wa);return _i.sign(e instanceof Uint8Array?e:e.subarray(),r)}function ix(t,e,r){return _i.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function ox(t,e){let r=new Uint8Array(Ar);for(let n=0;n<Wa;n++)r[n]=t[n],r[Wa+n]=e[n];return r}var sl={};R(sl,{base64:()=>Ri,base64pad:()=>c4,base64url:()=>u4,base64urlpad:()=>f4});var Ri=Ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),c4=Ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),u4=Ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),f4=Ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var pt={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 al={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function cl(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=pt.get();r*=8;async function c(h,p){let y=a.getRandomValues(new Uint8Array(o)),l=a.getRandomValues(new Uint8Array(n)),d={name:e,iv:l};typeof p=="string"&&(p=vt(p));let m;if(p.length===0){m=await a.subtle.importKey("jwk",al,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",al,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(d,m,h);return Cn([y,d.iv,new Uint8Array(g)])}async function u(h,p){let y=h.subarray(0,o),l=h.subarray(o,o+n),d=h.subarray(o+n),m={name:e,iv:l};typeof p=="string"&&(p=vt(p));let g;if(p.length===0)try{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,v,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",al,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,v,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(m,g,d);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Bi(t,e){let n=await cl().encrypt(t,e);return Ri.encode(n)}var ul=new Float32Array([-0]),Jr=new Uint8Array(ul.buffer);function ax(t,e,r){ul[0]=t,e[r]=Jr[0],e[r+1]=Jr[1],e[r+2]=Jr[2],e[r+3]=Jr[3]}function cx(t,e){return Jr[0]=t[e],Jr[1]=t[e+1],Jr[2]=t[e+2],Jr[3]=t[e+3],ul[0]}var fl=new Float64Array([-0]),nt=new Uint8Array(fl.buffer);function ux(t,e,r){fl[0]=t,e[r]=nt[0],e[r+1]=nt[1],e[r+2]=nt[2],e[r+3]=nt[3],e[r+4]=nt[4],e[r+5]=nt[5],e[r+6]=nt[6],e[r+7]=nt[7]}function fx(t,e){return nt[0]=t[e],nt[1]=t[e+1],nt[2]=t[e+2],nt[3]=t[e+3],nt[4]=t[e+4],nt[5]=t[e+5],nt[6]=t[e+6],nt[7]=t[e+7],fl[0]}var l4=BigInt(Number.MAX_SAFE_INTEGER),h4=BigInt(Number.MIN_SAFE_INTEGER),mt=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 Rn;if(e<l4&&e>h4)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>lx&&(i=0n,++n>lx&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return Rn;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):Rn}},Rn=new mt(0,0);Rn.toBigInt=function(){return 0n};Rn.zzEncode=Rn.zzDecode=function(){return this};Rn.length=function(){return 1};var lx=4294967296n;function hx(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 dx(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 ll(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 Vt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Ya(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var hl=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,Vt(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 Vt(this,4);return Ya(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Vt(this,4);return Ya(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Vt(this,4);let e=cx(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw Vt(this,4);let e=fx(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 Vt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return dx(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Vt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Vt(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 mt(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 Vt(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 Vt(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 Vt(this,8);let e=Ya(this.buf,this.pos+=4),r=Ya(this.buf,this.pos+=4);return new mt(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 dl(t){return new hl(t instanceof Uint8Array?t:t.subarray())}function je(t,e){let r=dl(t);return e.decode(r)}function Bn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Sr(t=0){return globalThis.Buffer?.alloc!=null?Bn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function it(t=0){return globalThis.Buffer?.allocUnsafe!=null?Bn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}var xl={};R(xl,{base10:()=>x4});function d4(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 h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var p4=d4,m4=p4,mx=m4;var s7=new Uint8Array(0);var yx=(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},Cr=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 gx=t=>new TextEncoder().encode(t),xx=t=>new TextDecoder().decode(t);var pl=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")}},ml=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 wx(this,e)}},yl=class{constructor(e){this.decoders=e}or(e){return wx(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`)}},wx=(t,e)=>new yl({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),gl=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new pl(e,r,n),this.decoder=new ml(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Di=({name:t,prefix:e,encode:r,decode:n})=>new gl(t,e,r,n),Zr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=mx(r,e);return Di({prefix:t,name:e,encode:n,decode:o=>Cr(i(o))})},y4=(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 h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,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},g4=(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},Ce=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Di({prefix:e,name:t,encode(i){return g4(i,n,r)},decode(i){return y4(i,n,r,t)}});var x4=Zr({prefix:"9",name:"base10",alphabet:"0123456789"});var bl={};R(bl,{base16:()=>b4,base16upper:()=>w4});var b4=Ce({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),w4=Ce({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var wl={};R(wl,{base2:()=>v4});var v4=Ce({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var vl={};R(vl,{base256emoji:()=>I4});var vx=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}"),E4=vx.reduce((t,e,r)=>(t[r]=e,t),[]),A4=vx.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function S4(t){return t.reduce((e,r)=>(e+=E4[r],e),"")}function C4(t){let e=[];for(let r of t){let n=A4[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var I4=Di({prefix:"\u{1F680}",name:"base256emoji",encode:S4,decode:C4});var El={};R(El,{base32:()=>Li,base32hex:()=>B4,base32hexpad:()=>L4,base32hexpadupper:()=>N4,base32hexupper:()=>D4,base32pad:()=>T4,base32padupper:()=>R4,base32upper:()=>_4,base32z:()=>P4});var Li=Ce({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_4=Ce({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),T4=Ce({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),R4=Ce({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),B4=Ce({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),D4=Ce({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),L4=Ce({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),N4=Ce({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),P4=Ce({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Al={};R(Al,{base36:()=>O4,base36upper:()=>k4});var O4=Zr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),k4=Zr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Sl={};R(Sl,{base58btc:()=>tr,base58flickr:()=>U4});var tr=Zr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),U4=Zr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Cl={};R(Cl,{base64:()=>M4,base64pad:()=>F4,base64url:()=>K4,base64urlpad:()=>V4});var M4=Ce({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),F4=Ce({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),K4=Ce({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),V4=Ce({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Il={};R(Il,{base8:()=>q4});var q4=Ce({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var _l={};R(_l,{identity:()=>z4});var z4=Di({prefix:"\0",name:"identity",encode:t=>xx(t),decode:t=>gx(t)});var v7=new TextEncoder,E7=new TextDecoder;var Rl={};R(Rl,{identity:()=>h_});var G4=Sx,Ex=128,W4=127,Y4=~W4,Q4=Math.pow(2,31);function Sx(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Q4;)e[r++]=t&255|Ex,t/=128;for(;t&Y4;)e[r++]=t&255|Ex,t>>>=7;return e[r]=t|0,Sx.bytes=r-n+1,e}var X4=Tl,j4=128,Ax=127;function Tl(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Tl.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Ax)<<i:(s&Ax)*Math.pow(2,i),i+=7}while(s>=j4);return Tl.bytes=o-n,r}var J4=Math.pow(2,7),Z4=Math.pow(2,14),e_=Math.pow(2,21),t_=Math.pow(2,28),r_=Math.pow(2,35),n_=Math.pow(2,42),i_=Math.pow(2,49),o_=Math.pow(2,56),s_=Math.pow(2,63),a_=function(t){return t<J4?1:t<Z4?2:t<e_?3:t<t_?4:t<r_?5:t<n_?6:t<i_?7:t<o_?8:t<s_?9:10},c_={encode:G4,decode:X4,encodingLength:a_},u_=c_,is=u_;var os=(t,e=0)=>[is.decode(t,e),is.decode.bytes],Ni=(t,e,r=0)=>(is.encode(t,e,r),e),Pi=t=>is.encodingLength(t);var Dn=(t,e)=>{let r=e.byteLength,n=Pi(t),i=n+Pi(r),o=new Uint8Array(i+r);return Ni(t,o,0),Ni(r,o,n),o.set(e,i),new Oi(t,r,e,o)},Cx=t=>{let e=Cr(t),[r,n]=os(e),[i,o]=os(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Oi(r,i,s,e)},Ix=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&yx(t.bytes,r.bytes)}},Oi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var _x=0,f_="identity",Tx=Cr,l_=t=>Dn(_x,Tx(t)),h_={code:_x,name:f_,encode:Tx,digest:l_};var Ll={};R(Ll,{sha256:()=>d_,sha512:()=>p_});var Dl=({name:t,code:e,encode:r})=>new Bl(t,e,r),Bl=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?Dn(this.code,r):r.then(n=>Dn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Bx=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),d_=Dl({name:"sha2-256",code:18,encode:Bx("SHA-256")}),p_=Dl({name:"sha2-512",code:19,encode:Bx("SHA-512")});var Dx=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return y_(r,Nl(t),e||tr.encoder);default:return g_(r,Nl(t),e||Li.encoder)}};var Lx=new WeakMap,Nl=t=>{let e=Lx.get(t);if(e==null){let r=new Map;return Lx.set(t,r),r}return e},Xa=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!==as)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==x_)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=Dn(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&&Ix(e.multihash,n.multihash)}toString(e){return Dx(this,e)}toJSON(){return{"/":Dx(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||Nx(n,i,o.bytes))}else if(r[b_]===!0){let{version:n,multihash:i,code:o}=r,s=Cx(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!==as)throw new Error(`Version 0 CID must use dag-pb (code: ${as}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Nx(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,as,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=Cr(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 Oi(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[h,p]=os(e.subarray(r));return r+=p,h},i=n(),o=as;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]=m_(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 Nl(o).set(n,e),o}},m_=(t,e)=>{switch(t[0]){case"Q":{let r=e||tr;return[tr.prefix,r.decode(`${tr.prefix}${t}`)]}case tr.prefix:{let r=e||tr;return[tr.prefix,r.decode(t)]}case Li.prefix:{let r=e||Li;return[Li.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)]}}},y_=(t,e,r)=>{let{prefix:n}=r;if(n!==tr.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},g_=(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},as=112,x_=18,Nx=(t,e,r)=>{let n=Pi(t),i=n+Pi(e),o=new Uint8Array(i+r.byteLength);return Ni(t,o,0),Ni(e,o,n),o.set(r,i),o},b_=Symbol.for("@ipld/js-cid/CID");var Pl={..._l,...wl,...Il,...xl,...bl,...El,...Al,...Sl,...Cl,...vl},M7={...Ll,...Rl};function Ox(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Px=Ox("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Ol=Ox("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=it(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),w_={utf8:Px,"utf-8":Px,hex:Pl.base16,latin1:Ol,ascii:Ol,binary:Ol,...Pl},ja=w_;function cs(t,e="utf8"){let r=ja[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Bn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function kl(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return it(s);i+s>e&&(n=it(e),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Ln=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Ul(){}var Fl=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},v_=kl();function E_(t){return globalThis.Buffer!=null?it(t):v_(t)}var ls=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ln(Ul,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new Ln(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Kl((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(us,10,mt.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=mt.fromBigInt(e);return this._push(us,r.length(),r)}uint64Number(e){let r=mt.fromNumber(e);return this._push(us,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=mt.fromBigInt(e).zzEncode();return this._push(us,r.length(),r)}sint64Number(e){let r=mt.fromNumber(e).zzEncode();return this._push(us,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Ml,1,e?1:0)}fixed32(e){return this._push(fs,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=mt.fromBigInt(e);return this._push(fs,4,r.lo)._push(fs,4,r.hi)}fixed64Number(e){let r=mt.fromNumber(e);return this._push(fs,4,r.lo)._push(fs,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(ax,4,e)}double(e){return this._push(ux,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Ml,1,0):this.uint32(r)._push(S_,r,e)}string(e){let r=hx(e);return r!==0?this.uint32(r)._push(ll,r,e):this._push(Ml,1,0)}fork(){return this.states=new Fl(this),this.head=this.tail=new Ln(Ul,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 Ln(Ul,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=E_(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Ml(t,e,r){e[r]=t&255}function A_(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Kl=class extends Ln{next;constructor(e,r){super(A_,e,r),this.next=void 0}};function us(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 fs(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 S_(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(ls.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(C_,e,t),this},ls.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(I_,e,t),this});function C_(t,e,r){e.set(t,r)}function I_(t,e,r){t.length<40?ll(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(cs(t),r)}function Vl(){return new ls}function Je(t,e){let r=Vl();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ki;(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"})(ki||(ki={}));function Ja(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function ql(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 Ja("enum",ki.VARINT,r,n)}function Ze(t,e){return Ja("message",ki.LENGTH_DELIMITED,t,e)}var be;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(be||(be={}));var zl;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(zl||(zl={}));(function(t){t.codec=()=>ql(zl)})(be||(be={}));var rr;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((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=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(rr||(rr={}));var nr;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((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=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(nr||(nr={}));var hs=class{_key;constructor(e){this._key=Ui(e,Ti)}verify(e,r){return ix(this._key,r,e)}marshal(){return this._key}get bytes(){return rr.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}},Nn=class{_key;_publicKey;constructor(e,r){this._key=Ui(e,Ar),this._publicKey=Ui(r,Ti)}sign(e){return nx(this._key,e)}get public(){return new hs(this._publicKey)}marshal(){return this._key}get bytes(){return nr.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}async hash(){let e=Xe.digest(this.bytes),r;return Rt(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=Wr.digest(this.public.bytes);return Qe.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Bi(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function __(t){if(t.length>Ar){t=Ui(t,Ar+Ti);let n=t.subarray(0,Ar),i=t.subarray(Ar,t.length);return new Nn(n,i)}t=Ui(t,Ar);let e=t.subarray(0,Ar),r=t.subarray(Ti);return new Nn(e,r)}function T_(t){return t=Ui(t,Ti),new hs(t)}async function R_(){let{privateKey:t,publicKey:e}=tx();return new Nn(t,e)}async function kx(t){let{privateKey:e,publicKey:r}=rx(t);return new Nn(e,r)}function Ui(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new _(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var B_={"P-256":256,"P-384":384,"P-521":521},D_=Object.keys(B_),T9=D_.join(" / ");var Ql={};R(Ql,{MAX_KEY_SIZE:()=>ys,RsaPrivateKey:()=>Mi,RsaPublicKey:()=>ms,fromJwk:()=>q_,generateKeyPair:()=>z_,unmarshalRsaPrivateKey:()=>K_,unmarshalRsaPublicKey:()=>V_});var ps=we(le(),1);var hF=we(Vx(),1);function ec(t){if(isNaN(t)||t<=0)throw new _("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ci(t)}var Y9=we(_a(),1),Wl=we(le(),1);function qx(t,e){return e.map(r=>At(t[r]))}function zx(t){return Wl.default.pki.setRsaPrivateKey(...qx(t,["n","e","d","p","q","dp","dq","qi"]))}function $x(t){return Wl.default.pki.setRsaPublicKey(...qx(t,["n","e"]))}var On={};R(On,{jwkToPkcs1:()=>O_,jwkToPkix:()=>U_,pkcs1ToJwk:()=>P_,pkixToJwk:()=>k_});var j9=we(zo(),1),J9=we(_a(),1);var Ir=we(le(),1);function P_(t){let e=Ir.default.asn1.fromDer(Et(t,"ascii")),r=Ir.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Ut(r.n),e:Ut(r.e),d:Ut(r.d),p:Ut(r.p),q:Ut(r.q),dp:Ut(r.dP),dq:Ut(r.dQ),qi:Ut(r.qInv),alg:"RS256"}}function O_(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 _("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ir.default.pki.privateKeyToAsn1({n:At(t.n),e:At(t.e),d:At(t.d),p:At(t.p),q:At(t.q),dP:At(t.dp),dQ:At(t.dq),qInv:At(t.qi)});return vt(Ir.default.asn1.toDer(e).getBytes(),"ascii")}function k_(t){let e=Ir.default.asn1.fromDer(Et(t,"ascii")),r=Ir.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Ut(r.n),e:Ut(r.e)}}function U_(t){if(t.n==null||t.e==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ir.default.pki.publicKeyToAsn1({n:At(t.n),e:At(t.e)});return vt(Ir.default.asn1.toDer(e).getBytes(),"ascii")}async function Hx(t){let e=await pt.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 Yx(e);return{privateKey:r[0],publicKey:r[1]}}async function Yl(t){let r=[await pt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await M_(t)],n=await Yx({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Gx(t,e){let r=await pt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await pt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function Wx(t,e,r){let n=await pt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return pt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function Yx(t){if(t.privateKey==null||t.publicKey==null)throw new _("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([pt.get().subtle.exportKey("jwk",t.privateKey),pt.get().subtle.exportKey("jwk",t.publicKey)])}async function M_(t){return pt.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 Qx(t,e,r,n){let i=e?$x(t):zx(t),o=Et(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return vt(s,"ascii")}function Xx(t,e){return Qx(t,!0,e,(r,n)=>n.encrypt(r))}function jx(t,e){return Qx(t,!1,e,(r,n)=>n.decrypt(r))}function tc(t){if(t.kty!=="RSA")throw new _("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new _("invalid key modulus","ERR_INVALID_KEY_MODULUS");return vt(t.n,"base64url").length*8}var ys=8192,ms=class{_key;constructor(e){this._key=e}verify(e,r){return Wx(this._key,r,e)}marshal(){return On.jwkToPkix(this._key)}get bytes(){return rr.encode({Type:be.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Xx(this._key,e)}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}},Mi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return ec(16)}sign(e){return Gx(this._key,e)}get public(){if(this._publicKey==null)throw new _("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ms(this._publicKey)}decrypt(e){return jx(this._key,e)}marshal(){return On.jwkToPkcs1(this._key)}get bytes(){return nr.encode({Type:be.RSA,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return Et(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new ps.default.util.ByteBuffer(this.marshal()),i=ps.default.asn1.fromDer(n),o=ps.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return ps.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return Bi(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function K_(t){let e=On.pkcs1ToJwk(t);if(tc(e)>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Yl(e);return new Mi(r.privateKey,r.publicKey)}function V_(t){let e=On.pkixToJwk(t);if(tc(e)>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ms(e)}async function q_(t){if(tc(t)>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Yl(t);return new Mi(e.privateKey,e.publicKey)}async function z_(t){if(t>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Hx(t);return new Mi(e.privateKey,e.publicKey)}var th={};R(th,{Secp256k1PrivateKey:()=>xs,Secp256k1PublicKey:()=>gs,generateKeyPair:()=>iT,unmarshalSecp256k1PrivateKey:()=>rT,unmarshalSecp256k1PublicKey:()=>nT});var $_=(t,e,r)=>t&e^~t&r,H_=(t,e,r)=>t&e^t&r^e&r,G_=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]),en=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),tn=new Uint32Array(64),Xl=class extends Ii{constructor(){super(64,32,8,!1),this.A=en[0]|0,this.B=en[1]|0,this.C=en[2]|0,this.D=en[3]|0,this.E=en[4]|0,this.F=en[5]|0,this.G=en[6]|0,this.H=en[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 h=0;h<16;h++,r+=4)tn[h]=e.getUint32(r,!1);for(let h=16;h<64;h++){let p=tn[h-15],y=tn[h-2],l=Mt(p,7)^Mt(p,18)^p>>>3,d=Mt(y,17)^Mt(y,19)^y>>>10;tn[h]=d+tn[h-7]+l+tn[h-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let h=0;h<64;h++){let p=Mt(a,6)^Mt(a,11)^Mt(a,25),y=f+p+$_(a,c,u)+G_[h]+tn[h]|0,d=(Mt(n,2)^Mt(n,13)^Mt(n,22))+H_(n,i,o)|0;f=u,u=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+d|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(){tn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Jx=Ma(()=>new Xl);function W_(t){let e=ns(t);er(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:Y_,hexToBytes:Q_}=Va,kn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=kn;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:Y_(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=kn,r=typeof t=="string"?Q_(t):t;if(!Ft(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}=kn._parseInt(r.subarray(2)),{d:s,l:a}=kn._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),Bt=BigInt(1),EF=BigInt(2),Zx=BigInt(3),AF=BigInt(4);function X_(t){let e=W_(t),{Fp:r}=e,n=e.toBytes||((l,d,m)=>{let g=d.toAffine();return vr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.fromBytes||(l=>{let d=l.subarray(1),m=r.fromBytes(d.subarray(0,r.BYTES)),g=r.fromBytes(d.subarray(r.BYTES,2*r.BYTES));return{x:m,y:g}});function o(l){let{a:d,b:m}=e,g=r.sqr(l),x=r.mul(g,l);return r.add(r.add(x,r.mul(l,d)),m)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(l){return typeof l=="bigint"&&_r<l&&l<e.n}function a(l){if(!s(l))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(l){let{allowedPrivateKeyLengths:d,nByteLength:m,wrapPrivateKey:g,n:x}=e;if(d&&typeof l!="bigint"){if(Ft(l)&&(l=br(l)),typeof l!="string"||!d.includes(l.length))throw new Error("Invalid key");l=l.padStart(m*2,"0")}let b;try{b=typeof l=="bigint"?l:wr(Se("private key",l,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof l}`)}return g&&(b=he(b,x)),a(b),b}let u=new Map;function f(l){if(!(l instanceof h))throw new Error("ProjectivePoint expected")}class h{constructor(d,m,g){if(this.px=d,this.py=m,this.pz=g,d==null||!r.isValid(d))throw new Error("x required");if(m==null||!r.isValid(m))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(d){let{x:m,y:g}=d||{};if(!d||!r.isValid(m)||!r.isValid(g))throw new Error("invalid affine point");if(d instanceof h)throw new Error("projective point not allowed");let x=b=>r.eql(b,r.ZERO);return x(m)&&x(g)?h.ZERO:new h(m,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let m=r.invertBatch(d.map(g=>g.pz));return d.map((g,x)=>g.toAffine(m[x])).map(h.fromAffine)}static fromHex(d){let m=h.fromAffine(i(Se("pointHex",d)));return m.assertValidity(),m}static fromPrivateKey(d){return h.BASE.multiply(c(d))}_setWindowSize(d){this._WINDOW_SIZE=d,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:d,y:m}=this.toAffine();if(!r.isValid(d)||!r.isValid(m))throw new Error("bad point: x or y not FE");let g=r.sqr(m),x=o(d);if(!r.eql(g,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:d}=this.toAffine();if(r.isOdd)return!r.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:m,py:g,pz:x}=this,{px:b,py:v,pz:w}=d,E=r.eql(r.mul(m,w),r.mul(b,x)),A=r.eql(r.mul(g,w),r.mul(v,x));return E&&A}negate(){return new h(this.px,r.neg(this.py),this.pz)}double(){let{a:d,b:m}=e,g=r.mul(m,Zx),{px:x,py:b,pz:v}=this,w=r.ZERO,E=r.ZERO,A=r.ZERO,C=r.mul(x,x),P=r.mul(b,b),W=r.mul(v,v),H=r.mul(x,b);return H=r.add(H,H),A=r.mul(x,v),A=r.add(A,A),w=r.mul(d,A),E=r.mul(g,W),E=r.add(w,E),w=r.sub(P,E),E=r.add(P,E),E=r.mul(w,E),w=r.mul(H,w),A=r.mul(g,A),W=r.mul(d,W),H=r.sub(C,W),H=r.mul(d,H),H=r.add(H,A),A=r.add(C,C),C=r.add(A,C),C=r.add(C,W),C=r.mul(C,H),E=r.add(E,C),W=r.mul(b,v),W=r.add(W,W),C=r.mul(W,H),w=r.sub(w,C),A=r.mul(W,P),A=r.add(A,A),A=r.add(A,A),new h(w,E,A)}add(d){f(d);let{px:m,py:g,pz:x}=this,{px:b,py:v,pz:w}=d,E=r.ZERO,A=r.ZERO,C=r.ZERO,P=e.a,W=r.mul(e.b,Zx),H=r.mul(m,b),Z=r.mul(g,v),fe=r.mul(x,w),Ge=r.add(m,g),L=r.add(b,v);Ge=r.mul(Ge,L),L=r.add(H,Z),Ge=r.sub(Ge,L),L=r.add(m,x);let U=r.add(b,w);return L=r.mul(L,U),U=r.add(H,fe),L=r.sub(L,U),U=r.add(g,x),E=r.add(v,w),U=r.mul(U,E),E=r.add(Z,fe),U=r.sub(U,E),C=r.mul(P,L),E=r.mul(W,fe),C=r.add(E,C),E=r.sub(Z,C),C=r.add(Z,C),A=r.mul(E,C),Z=r.add(H,H),Z=r.add(Z,H),fe=r.mul(P,fe),L=r.mul(W,L),Z=r.add(Z,fe),fe=r.sub(H,fe),fe=r.mul(P,fe),L=r.add(L,fe),H=r.mul(Z,L),A=r.add(A,H),H=r.mul(U,L),E=r.mul(Ge,E),E=r.sub(E,H),H=r.mul(Ge,Z),C=r.mul(U,C),C=r.add(C,H),new h(E,A,C)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return y.wNAFCached(this,u,d,m=>{let g=r.invertBatch(m.map(x=>x.pz));return m.map((x,b)=>x.toAffine(g[b])).map(h.fromAffine)})}multiplyUnsafe(d){let m=h.ZERO;if(d===_r)return m;if(a(d),d===Bt)return this;let{endo:g}=e;if(!g)return y.unsafeLadder(this,d);let{k1neg:x,k1:b,k2neg:v,k2:w}=g.splitScalar(d),E=m,A=m,C=this;for(;b>_r||w>_r;)b&Bt&&(E=E.add(C)),w&Bt&&(A=A.add(C)),C=C.double(),b>>=Bt,w>>=Bt;return x&&(E=E.negate()),v&&(A=A.negate()),A=new h(r.mul(A.px,g.beta),A.py,A.pz),E.add(A)}multiply(d){a(d);let m=d,g,x,{endo:b}=e;if(b){let{k1neg:v,k1:w,k2neg:E,k2:A}=b.splitScalar(m),{p:C,f:P}=this.wNAF(w),{p:W,f:H}=this.wNAF(A);C=y.constTimeNegate(v,C),W=y.constTimeNegate(E,W),W=new h(r.mul(W.px,b.beta),W.py,W.pz),g=C.add(W),x=P.add(H)}else{let{p:v,f:w}=this.wNAF(m);g=v,x=w}return h.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(d,m,g){let x=h.BASE,b=(w,E)=>E===_r||E===Bt||!w.equals(x)?w.multiplyUnsafe(E):w.multiply(E),v=b(this,m).add(b(d,g));return v.is0()?void 0:v}toAffine(d){let{px:m,py:g,pz:x}=this,b=this.is0();d==null&&(d=b?r.ONE:r.inv(x));let v=r.mul(m,d),w=r.mul(g,d),E=r.mul(x,d);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:v,y:w}}isTorsionFree(){let{h:d,isTorsionFree:m}=e;if(d===Bt)return!0;if(m)return m(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:m}=e;return d===Bt?this:m?m(h,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return this.assertValidity(),n(h,this,d)}toHex(d=!0){return br(this.toRawBytes(d))}}h.BASE=new h(e.Gx,e.Gy,r.ONE),h.ZERO=new h(r.ZERO,r.ONE,r.ZERO);let p=e.nBitLength,y=$a(h,e.endo?Math.ceil(p/2):p);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function j_(t){let e=ns(t);return er(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function eb(t){let e=j_(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(L){return _r<L&&L<r.ORDER}function a(L){return he(L,n)}function c(L){return qa(L,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:h,isWithinCurveOrder:p}=X_({...e,toBytes(L,U,O){let k=U.toAffine(),B=r.toBytes(k.x),K=vr;return O?K(Uint8Array.from([U.hasEvenY()?2:3]),B):K(Uint8Array.from([4]),B,r.toBytes(k.y))},fromBytes(L){let U=L.length,O=L[0],k=L.subarray(1);if(U===i&&(O===2||O===3)){let B=wr(k);if(!s(B))throw new Error("Point is not on curve");let K=h(B),q=r.sqrt(K),G=(q&Bt)===Bt;return(O&1)===1!==G&&(q=r.neg(q)),{x:B,y:q}}else if(U===o&&O===4){let B=r.fromBytes(k.subarray(0,r.BYTES)),K=r.fromBytes(k.subarray(r.BYTES,2*r.BYTES));return{x:B,y:K}}else throw new Error(`Point of length ${U} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=L=>br(jr(L,e.nByteLength));function l(L){let U=n>>Bt;return L>U}function d(L){return l(L)?a(-L):L}let m=(L,U,O)=>wr(L.slice(U,O));class g{constructor(U,O,k){this.r=U,this.s=O,this.recovery=k,this.assertValidity()}static fromCompact(U){let O=e.nByteLength;return U=Se("compactSignature",U,O*2),new g(m(U,0,O),m(U,O,2*O))}static fromDER(U){let{r:O,s:k}=kn.toSig(Se("DER",U));return new g(O,k)}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(U){return new g(this.r,this.s,U)}recoverPublicKey(U){let{r:O,s:k,recovery:B}=this,K=A(Se("msgHash",U));if(B==null||![0,1,2,3].includes(B))throw new Error("recovery id invalid");let q=B===2||B===3?O+e.n:O;if(q>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let G=B&1?"03":"02",j=u.fromHex(G+y(q)),ee=c(q),ce=a(-K*ee),te=a(k*ee),ie=u.BASE.multiplyAndAddUnsafe(j,ce,te);if(!ie)throw new Error("point at infinify");return ie.assertValidity(),ie}hasHighS(){return l(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return In(this.toDERHex())}toDERHex(){return kn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return In(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let x={isValidPrivateKey(L){try{return f(L),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let L=tl(e.n);return Xg(e.randomBytes(L),e.n)},precompute(L=8,U=u.BASE){return U._setWindowSize(L),U.multiply(BigInt(3)),U}};function b(L,U=!0){return u.fromPrivateKey(L).toRawBytes(U)}function v(L){let U=Ft(L),O=typeof L=="string",k=(U||O)&&L.length;return U?k===i||k===o:O?k===2*i||k===2*o:L instanceof u}function w(L,U,O=!0){if(v(L))throw new Error("first arg must be private key");if(!v(U))throw new Error("second arg must be public key");return u.fromHex(U).multiply(f(L)).toRawBytes(O)}let E=e.bits2int||function(L){let U=wr(L),O=L.length*8-e.nBitLength;return O>0?U>>BigInt(O):U},A=e.bits2int_modN||function(L){return a(E(L))},C=rs(e.nBitLength);function P(L){if(typeof L!="bigint")throw new Error("bigint expected");if(!(_r<=L&&L<C))throw new Error(`bigint expected < 2^${e.nBitLength}`);return jr(L,e.nByteLength)}function W(L,U,O=H){if(["recovered","canonical"].some(ve=>ve in O))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:B}=e,{lowS:K,prehash:q,extraEntropy:G}=O;K==null&&(K=!0),L=Se("msgHash",L),q&&(L=Se("prehashed msgHash",k(L)));let j=A(L),ee=f(U),ce=[P(ee),P(j)];if(G!=null){let ve=G===!0?B(r.BYTES):G;ce.push(Se("extraEntropy",ve))}let te=vr(...ce),ie=j;function Oe(ve){let We=E(ve);if(!p(We))return;let Ye=c(We),Me=u.BASE.multiply(We).toAffine(),rt=a(Me.x);if(rt===_r)return;let hr=a(Ye*a(ie+rt*ee));if(hr===_r)return;let gn=(Me.x===rt?0:2)|Number(Me.y&Bt),Fo=hr;return K&&l(hr)&&(Fo=d(hr),gn^=1),new g(rt,Fo,gn)}return{seed:te,k2sig:Oe}}let H={lowS:e.lowS,prehash:!1},Z={lowS:e.lowS,prehash:!1};function fe(L,U,O=H){let{seed:k,k2sig:B}=W(L,U,O),K=e;return jf(K.hash.outputLen,K.nByteLength,K.hmac)(k,B)}u.BASE._setWindowSize(8);function Ge(L,U,O,k=Z){let B=L;if(U=Se("msgHash",U),O=Se("publicKey",O),"strict"in k)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:q}=k,G,j;try{if(typeof B=="string"||Ft(B))try{G=g.fromDER(B)}catch(Me){if(!(Me instanceof kn.Err))throw Me;G=g.fromCompact(B)}else if(typeof B=="object"&&typeof B.r=="bigint"&&typeof B.s=="bigint"){let{r:Me,s:rt}=B;G=new g(Me,rt)}else throw new Error("PARSE");j=u.fromHex(O)}catch(Me){if(Me.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&G.hasHighS())return!1;q&&(U=e.hash(U));let{r:ee,s:ce}=G,te=A(U),ie=c(ce),Oe=a(te*ie),ve=a(ee*ie),We=u.BASE.multiplyAndAddUnsafe(j,Oe,ve)?.toAffine();return We?a(We.x)===ee:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:w,sign:fe,verify:Ge,ProjectivePoint:u,Signature:g,utils:x}}var rc=class extends Si{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Ug(e);let n=ts(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 Ai(this),this.iHash.update(e),this}digestInto(e){Ai(this),$f(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()}},jl=(t,e,r)=>new rc(t,e).update(r).digest();jl.create=(t,e)=>new rc(t,e);function J_(t){return{hash:t,hmac:(e,...r)=>jl(t,e,Ua(...r)),randomBytes:Ci}}function tb(t,e){let r=n=>eb({...t,...J_(n)});return Object.freeze({...r(e),create:r})}var ib=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),rb=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Z_=BigInt(1),Jl=BigInt(2),nb=(t,e)=>(t+e/Jl)/e;function eT(t){let e=ib,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,h=xe(f,r,e)*f%e,p=xe(h,r,e)*f%e,y=xe(p,Jl,e)*u%e,l=xe(y,i,e)*y%e,d=xe(l,o,e)*l%e,m=xe(d,a,e)*d%e,g=xe(m,c,e)*m%e,x=xe(g,a,e)*d%e,b=xe(x,r,e)*f%e,v=xe(b,s,e)*l%e,w=xe(v,n,e)*u%e,E=xe(w,Jl,e);if(!Zl.eql(Zl.sqr(E),t))throw new Error("Cannot find square root");return E}var Zl=za(ib,void 0,void 0,{sqrt:eT}),qt=tb({a:BigInt(0),b:BigInt(7),Fp:Zl,n:rb,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=rb,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Z_*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=nb(o*t,e),c=nb(-n*t,e),u=he(t-a*r-c*i,e),f=he(-a*n-c*o,e),h=u>s,p=f>s;if(h&&(u=e-u),p&&(f=e-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:h,k1:u,k2neg:p,k2:f}}}},Jx),OF=BigInt(0);var kF=qt.ProjectivePoint;function ob(){return qt.utils.randomPrivateKey()}function sb(t,e){let r=Xe.digest(e instanceof Uint8Array?e:e.subarray());if(Rt(r))return r.then(({digest:n})=>qt.sign(n,t).toDERRawBytes()).catch(n=>{throw new _(String(n),"ERR_INVALID_INPUT")});try{return qt.sign(r.digest,t).toDERRawBytes()}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}function ab(t,e,r){let n=Xe.digest(r instanceof Uint8Array?r:r.subarray());if(Rt(n))return n.then(({digest:i})=>qt.verify(e,i,t)).catch(i=>{throw new _(String(i),"ERR_INVALID_INPUT")});try{return qt.verify(e,n.digest,t)}catch(i){throw new _(String(i),"ERR_INVALID_INPUT")}}function cb(t){return qt.ProjectivePoint.fromHex(t).toRawBytes(!0)}function ub(t){try{qt.getPublicKey(t,!0)}catch(e){throw new _(String(e),"ERR_INVALID_PRIVATE_KEY")}}function eh(t){try{qt.ProjectivePoint.fromHex(t)}catch(e){throw new _(String(e),"ERR_INVALID_PUBLIC_KEY")}}function fb(t){try{return qt.getPublicKey(t,!0)}catch(e){throw new _(String(e),"ERR_INVALID_PRIVATE_KEY")}}var gs=class{_key;constructor(e){eh(e),this._key=e}verify(e,r){return ab(this._key,r,e)}marshal(){return cb(this._key)}get bytes(){return rr.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}async hash(){let e=Xe.digest(this.bytes),r;return Rt(e)?{bytes:r}=await e:r=e.bytes,r}},xs=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??fb(e),ub(this._key),eh(this._publicKey)}sign(e){return sb(this._key,e)}get public(){return new gs(this._publicKey)}marshal(){return this._key}get bytes(){return nr.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return Et(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Bi(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function rT(t){return new xs(t)}function nT(t){return new gs(t)}async function iT(){let t=ob();return new xs(t)}var rn={rsa:Ql,ed25519:$l,secp256k1:th};function rh(t){let e=Object.keys(rn).join(" / ");return new _(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function nh(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return rn[t];throw rh(t)}async function lb(t,e){return nh(t).generateKeyPair(e??2048)}function bs(t){let e=rr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return rn.rsa.unmarshalRsaPublicKey(r);case be.Ed25519:return rn.ed25519.unmarshalEd25519PublicKey(r);case be.Secp256k1:return rn.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw rh(e.Type??"unknown")}}function hb(t,e){return e=(e??"rsa").toLowerCase(),nh(e),t.bytes}async function ih(t){let e=nr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return rn.rsa.unmarshalRsaPrivateKey(r);case be.Ed25519:return rn.ed25519.unmarshalEd25519PrivateKey(r);case be.Secp256k1:return rn.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw rh(e.Type??"RSA")}}function db(t,e){return e=(e??"rsa").toLowerCase(),nh(e),t.bytes}var It=we(sh(),1);var ah={};R(ah,{base32:()=>ir,base32hex:()=>vT,base32hexpad:()=>AT,base32hexpadupper:()=>ST,base32hexupper:()=>ET,base32pad:()=>bT,base32padupper:()=>wT,base32upper:()=>xT,base32z:()=>CT});var ir=Ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),xT=Ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),bT=Ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),wT=Ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),vT=Ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ET=Ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),AT=Ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ST=Ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),CT=Ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});It.default.formatters.b=t=>t==null?"undefined":Qe.baseEncode(t);It.default.formatters.t=t=>t==null?"undefined":ir.baseEncode(t);It.default.formatters.m=t=>t==null?"undefined":Ri.baseEncode(t);It.default.formatters.p=t=>t==null?"undefined":t.toString();It.default.formatters.c=t=>t==null?"undefined":t.toString();It.default.formatters.k=t=>t==null?"undefined":t.toString();It.default.formatters.a=t=>t==null?"undefined":t.toString();function IT(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 oc(){return{forComponent(t){return _T(t)}}}function _T(t){let e=IT(`${t}:trace`);return It.default.enabled(`${t}:trace`)&&It.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,It.default)(`${t}:trace`)),Object.assign((0,It.default)(t),{error:(0,It.default)(`${t}:error`),trace:e})}var ch={};R(ch,{base10:()=>TT});var TT=Gr({prefix:"9",name:"base10",alphabet:"0123456789"});var uh={};R(uh,{base16:()=>RT,base16upper:()=>BT});var RT=Ae({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),BT=Ae({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var fh={};R(fh,{base2:()=>DT});var DT=Ae({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var lh={};R(lh,{base256emoji:()=>kT});var gb=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}"),LT=gb.reduce((t,e,r)=>(t[r]=e,t),[]),NT=gb.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function PT(t){return t.reduce((e,r)=>(e+=LT[r],e),"")}function OT(t){let e=[];for(let r of t){let n=NT[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var kT=xi({prefix:"\u{1F680}",name:"base256emoji",encode:PT,decode:OT});var hh={};R(hh,{base36:()=>UT,base36upper:()=>MT});var UT=Gr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),MT=Gr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var dh={};R(dh,{base8:()=>FT});var FT=Ae({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ph={};R(ph,{identity:()=>KT});var KT=xi({prefix:"\0",name:"identity",encode:t=>Eg(t),decode:t=>vg(t)});var AK=new TextEncoder,SK=new TextDecoder;function xb(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return $T(r,mh(t),e??Qe.encoder);default:return HT(r,mh(t),e??ir.encoder)}}var bb=new WeakMap;function mh(t){let e=bb.get(t);if(e==null){let r=new Map;return bb.set(t,r),r}return e}var Mn=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!==ws)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==GT)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=Jt(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&&Rg(e.multihash,n.multihash)}toString(e){return xb(this,e)}toJSON(){return{"/":xb(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??wb(n,i,o.bytes))}else if(r[WT]===!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!==ws)throw new Error(`Version 0 CID must use dag-pb (code: ${ws}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=wb(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,ws,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=gr(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 vi(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[h,p]=Zo(e.subarray(r));return r+=p,h},i=n(),o=ws;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]=zT(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 mh(o).set(n,e),o}};function zT(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 ir.prefix:{let r=e??ir;return[ir.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 $T(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 HT(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 ws=112,GT=18;function wb(t,e,r){let n=wi(t),i=n+wi(e),o=new Uint8Array(i+r.byteLength);return bi(t,o,0),bi(e,o,n),o.set(r,i),o}var WT=Symbol.for("@ipld/js-cid/CID");var yh={...ph,...fh,...dh,...ch,...uh,...ah,...hh,...Mf,...sl,...lh},KK={...zf,...Kf};function gh(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 YT=Symbol.for("nodejs.util.inspect.custom"),vb=Object.values(yh).map(t=>t.decoder).reduce((t,e)=>t.or(e),yh.identity.decoder),Eb=114,xh=36,bh=37,vs=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()})`}[af]=!0;toString(){return this.string==null&&(this.string=Qe.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Mn.createV1(Eb,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return gh(this.multihash.bytes,e);if(typeof e=="string")return se(e).equals(this);if(e?.multihash?.bytes!=null)return gh(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[YT](){return`PeerId(${this.toString()})`}},Fn=class extends vs{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Kn=class extends vs{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Vn=class extends vs{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Ab(t){if(t.type==="RSA")return new Fn(t);if(t.type==="Ed25519")return new Kn(t);if(t.type==="secp256k1")return new Vn(t);throw new _("Not a PeerId","ERR_INVALID_PARAMETERS")}function se(t,e){if(e=e??vb,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=es(Qe.decode(`z${t}`));return t.startsWith("12D")?new Kn({multihash:r}):t.startsWith("16U")?new Vn({multihash:r}):new Fn({multihash:r})}return qi(vb.decode(t))}function qi(t){try{let e=es(t);if(e.code===Wr.code){if(e.digest.length===xh)return new Kn({multihash:e});if(e.digest.length===bh)return new Vn({multihash:e})}if(e.code===Xe.code)return new Fn({multihash:e})}catch{return QT(Mn.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function QT(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Eb)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Xe.code)return new Fn({multihash:t.multihash});if(e.code===Wr.code){if(e.digest.length===xh)return new Kn({multihash:t.multihash});if(e.digest.length===bh)return new Vn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function sc(t,e){return t.length===xh?new Kn({multihash:Jt(Wr.code,t),privateKey:e}):t.length===bh?new Vn({multihash:Jt(Wr.code,t),privateKey:e}):new Fn({multihash:await Xe.digest(t),publicKey:t,privateKey:e})}function Tr(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 ot=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){return this.map.delete(e.toString())}entries(){return Tr(this.map.entries(),e=>[se(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,se(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return Tr(this.map.keys(),e=>se(e))}values(){return this.map.values()}get size(){return this.map.size}};var Dt=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 Tr(this.set.entries(),e=>{let r=se(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=se(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Tr(this.set.values(),e=>se(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 ac=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Tr(this.list.entries(),e=>se(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Tr(this.list.entries(),e=>[e[0],se(e[1])])}every(e){return this.list.every((r,n)=>e(se(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let o=se(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(se(n),i,this));if(r!=null)return se(r)}findIndex(e){return this.list.findIndex((r,n)=>e(se(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(se(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return se(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return se(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}clear(){this.list=[]}get length(){return this.list.length}};function wh(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Ch={};R(Ch,{base10:()=>t3});function XT(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 h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var jT=XT,JT=jT,Sb=JT;var RV=new Uint8Array(0);var Cb=(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},Rr=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 Ib=t=>new TextEncoder().encode(t),_b=t=>new TextDecoder().decode(t);var vh=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")}},Eh=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 Rb(this,e)}},Ah=class{constructor(e){this.decoders=e}or(e){return Rb(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`)}},Rb=(t,e)=>new Ah({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Sh=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new vh(e,r,n),this.decoder=new Eh(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},zi=({name:t,prefix:e,encode:r,decode:n})=>new Sh(t,e,r,n),nn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Sb(r,e);return zi({prefix:t,name:e,encode:n,decode:o=>Rr(i(o))})},ZT=(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 h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,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},e3=(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},Ie=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>zi({prefix:e,name:t,encode(i){return e3(i,n,r)},decode(i){return ZT(i,n,r,t)}});var t3=nn({prefix:"9",name:"base10",alphabet:"0123456789"});var Ih={};R(Ih,{base16:()=>r3,base16upper:()=>n3});var r3=Ie({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),n3=Ie({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var _h={};R(_h,{base2:()=>i3});var i3=Ie({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Th={};R(Th,{base256emoji:()=>u3});var Bb=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}"),o3=Bb.reduce((t,e,r)=>(t[r]=e,t),[]),s3=Bb.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function a3(t){return t.reduce((e,r)=>(e+=o3[r],e),"")}function c3(t){let e=[];for(let r of t){let n=s3[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var u3=zi({prefix:"\u{1F680}",name:"base256emoji",encode:a3,decode:c3});var Rh={};R(Rh,{base32:()=>$i,base32hex:()=>d3,base32hexpad:()=>m3,base32hexpadupper:()=>y3,base32hexupper:()=>p3,base32pad:()=>l3,base32padupper:()=>h3,base32upper:()=>f3,base32z:()=>g3});var $i=Ie({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),f3=Ie({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),l3=Ie({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),h3=Ie({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),d3=Ie({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),p3=Ie({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),m3=Ie({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),y3=Ie({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),g3=Ie({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Bh={};R(Bh,{base36:()=>x3,base36upper:()=>b3});var x3=nn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),b3=nn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Dh={};R(Dh,{base58btc:()=>or,base58flickr:()=>w3});var or=nn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),w3=nn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Lh={};R(Lh,{base64:()=>v3,base64pad:()=>E3,base64url:()=>A3,base64urlpad:()=>S3});var v3=Ie({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),E3=Ie({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),A3=Ie({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),S3=Ie({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Nh={};R(Nh,{base8:()=>C3});var C3=Ie({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ph={};R(Ph,{identity:()=>I3});var I3=zi({prefix:"\0",name:"identity",encode:t=>_b(t),decode:t=>Ib(t)});var $V=new TextEncoder,HV=new TextDecoder;var kh={};R(kh,{identity:()=>Q3});var R3=Nb,Db=128,B3=127,D3=~B3,L3=Math.pow(2,31);function Nb(t,e,r){e=e||[],r=r||0;for(var n=r;t>=L3;)e[r++]=t&255|Db,t/=128;for(;t&D3;)e[r++]=t&255|Db,t>>>=7;return e[r]=t|0,Nb.bytes=r-n+1,e}var N3=Oh,P3=128,Lb=127;function Oh(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Oh.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Lb)<<i:(s&Lb)*Math.pow(2,i),i+=7}while(s>=P3);return Oh.bytes=o-n,r}var O3=Math.pow(2,7),k3=Math.pow(2,14),U3=Math.pow(2,21),M3=Math.pow(2,28),F3=Math.pow(2,35),K3=Math.pow(2,42),V3=Math.pow(2,49),q3=Math.pow(2,56),z3=Math.pow(2,63),$3=function(t){return t<O3?1:t<k3?2:t<U3?3:t<M3?4:t<F3?5:t<K3?6:t<V3?7:t<q3?8:t<z3?9:10},H3={encode:R3,decode:N3,encodingLength:$3},G3=H3,Es=G3;var As=(t,e=0)=>[Es.decode(t,e),Es.decode.bytes],Hi=(t,e,r=0)=>(Es.encode(t,e,r),e),Gi=t=>Es.encodingLength(t);var qn=(t,e)=>{let r=e.byteLength,n=Gi(t),i=n+Gi(r),o=new Uint8Array(i+r);return Hi(t,o,0),Hi(r,o,n),o.set(e,i),new Wi(t,r,e,o)},Pb=t=>{let e=Rr(t),[r,n]=As(e),[i,o]=As(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Wi(r,i,s,e)},Ob=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Cb(t.bytes,r.bytes)}},Wi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var kb=0,W3="identity",Ub=Rr,Y3=t=>qn(kb,Ub(t)),Q3={code:kb,name:W3,encode:Ub,digest:Y3};var Fh={};R(Fh,{sha256:()=>X3,sha512:()=>j3});var Mh=({name:t,code:e,encode:r})=>new Uh(t,e,r),Uh=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?qn(this.code,r):r.then(n=>qn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Fb=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),X3=Mh({name:"sha2-256",code:18,encode:Fb("SHA-256")}),j3=Mh({name:"sha2-512",code:19,encode:Fb("SHA-512")});var Kb=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Z3(r,Kh(t),e||or.encoder);default:return e6(r,Kh(t),e||$i.encoder)}};var Vb=new WeakMap,Kh=t=>{let e=Vb.get(t);if(e==null){let r=new Map;return Vb.set(t,r),r}return e},uc=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!==Cs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==t6)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=qn(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&&Ob(e.multihash,n.multihash)}toString(e){return Kb(this,e)}toJSON(){return{"/":Kb(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||qb(n,i,o.bytes))}else if(r[r6]===!0){let{version:n,multihash:i,code:o}=r,s=Pb(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!==Cs)throw new Error(`Version 0 CID must use dag-pb (code: ${Cs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=qb(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Cs,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=Rr(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 Wi(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[h,p]=As(e.subarray(r));return r+=p,h},i=n(),o=Cs;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]=J3(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 Kh(o).set(n,e),o}},J3=(t,e)=>{switch(t[0]){case"Q":{let r=e||or;return[or.prefix,r.decode(`${or.prefix}${t}`)]}case or.prefix:{let r=e||or;return[or.prefix,r.decode(t)]}case $i.prefix:{let r=e||$i;return[$i.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)]}}},Z3=(t,e,r)=>{let{prefix:n}=r;if(n!==or.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},e6=(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},Cs=112,t6=18,qb=(t,e,r)=>{let n=Gi(t),i=n+Gi(e),o=new Uint8Array(i+r.byteLength);return Hi(t,o,0),Hi(e,o,n),o.set(r,i),o},r6=Symbol.for("@ipld/js-cid/CID");var Vh={...Ph,..._h,...Nh,...Ch,...Ih,...Rh,...Bh,...Dh,...Lh,...Th},aq={...Fh,...kh};function zb(t=0){return globalThis.Buffer?.allocUnsafe!=null?wh(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Hb(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var $b=Hb("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),qh=Hb("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=zb(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),dq={utf8:$b,"utf-8":$b,hex:Vh.base16,latin1:qh,ascii:qh,binary:qh,...Vh};var zh;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),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.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(zh||(zh={}));var Gb=async()=>{let t=await lb("Ed25519"),e=await n6(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function n6(t){return sc(hb(t.public),db(t))}var i6=Math.pow(2,7),o6=Math.pow(2,14),s6=Math.pow(2,21),$h=Math.pow(2,28),Hh=Math.pow(2,35),Gh=Math.pow(2,42),Wh=Math.pow(2,49),ae=128,st=127;function at(t){if(t<i6)return 1;if(t<o6)return 2;if(t<s6)return 3;if(t<$h)return 4;if(t<Hh)return 5;if(t<Gh)return 6;if(t<Wh)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function a6(t,e,r=0){switch(at(t)){case 8:e[r++]=t&255|ae,t/=128;case 7:e[r++]=t&255|ae,t/=128;case 6:e[r++]=t&255|ae,t/=128;case 5:e[r++]=t&255|ae,t/=128;case 4:e[r++]=t&255|ae,t>>>=7;case 3:e[r++]=t&255|ae,t>>>=7;case 2:e[r++]=t&255|ae,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function c6(t,e,r=0){switch(at(t)){case 8:e.set(r++,t&255|ae),t/=128;case 7:e.set(r++,t&255|ae),t/=128;case 6:e.set(r++,t&255|ae),t/=128;case 5:e.set(r++,t&255|ae),t/=128;case 4:e.set(r++,t&255|ae),t>>>=7;case 3:e.set(r++,t&255|ae),t>>>=7;case 2:e.set(r++,t&255|ae),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function u6(t,e){let r=t[e],n=0;if(n+=r&st,r<ae||(r=t[e+1],n+=(r&st)<<7,r<ae)||(r=t[e+2],n+=(r&st)<<14,r<ae)||(r=t[e+3],n+=(r&st)<<21,r<ae)||(r=t[e+4],n+=(r&st)*$h,r<ae)||(r=t[e+5],n+=(r&st)*Hh,r<ae)||(r=t[e+6],n+=(r&st)*Gh,r<ae)||(r=t[e+7],n+=(r&st)*Wh,r<ae))return n;throw new RangeError("Could not decode varint")}function f6(t,e){let r=t.get(e),n=0;if(n+=r&st,r<ae||(r=t.get(e+1),n+=(r&st)<<7,r<ae)||(r=t.get(e+2),n+=(r&st)<<14,r<ae)||(r=t.get(e+3),n+=(r&st)<<21,r<ae)||(r=t.get(e+4),n+=(r&st)*$h,r<ae)||(r=t.get(e+5),n+=(r&st)*Hh,r<ae)||(r=t.get(e+6),n+=(r&st)*Gh,r<ae)||(r=t.get(e+7),n+=(r&st)*Wh,r<ae))return n;throw new RangeError("Could not decode varint")}function yt(t,e,r=0){return e==null&&(e=it(at(t))),e instanceof Uint8Array?a6(t,e,r):c6(t,e,r)}function zt(t,e=0){return t instanceof Uint8Array?u6(t,e):f6(t,e)}function Lt(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=it(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Bn(r)}function fc(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 Yb=Symbol.for("@achingbrain/uint8arraylist");function Wb(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 lc(t){return!!t?.[Yb]}var He=class t{bufs;length;[Yb]=!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(lc(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(lc(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=Wb(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Wb(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(lc(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 Lt(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Lt(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 h=e-a;n.push(s.subarray(h,h+(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(!lc(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 h=0;h<o;h++)s[h]=-1;for(let h=0;h<i;h++)s[n[h]]=h;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let h=r;h<=c;h+=f){f=0;for(let p=u;p>=0;p--){let y=this.get(h+p);if(n[p]!==y){f=Math.max(1,p-a[y]);break}}if(f===0)return h}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=it(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=Sr(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=Sr(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=Sr(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=it(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=Sr(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=Sr(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=Sr(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=Sr(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=Sr(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(!fc(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}};function Qb(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 hc(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Jh={};R(Jh,{base10:()=>y6});function l6(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 h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var h6=l6,d6=h6,Xb=d6;var Fq=new Uint8Array(0);var jb=(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},Br=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 Jb=t=>new TextEncoder().encode(t),Zb=t=>new TextDecoder().decode(t);var Yh=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")}},Qh=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 tw(this,e)}},Xh=class{constructor(e){this.decoders=e}or(e){return tw(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`)}},tw=(t,e)=>new Xh({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),jh=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Yh(e,r,n),this.decoder=new Qh(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 jh(t,e,r,n),on=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Xb(r,e);return Yi({prefix:t,name:e,encode:n,decode:o=>Br(i(o))})},p6=(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 h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,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},m6=(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},_e=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Yi({prefix:e,name:t,encode(i){return m6(i,n,r)},decode(i){return p6(i,n,r,t)}});var y6=on({prefix:"9",name:"base10",alphabet:"0123456789"});var Zh={};R(Zh,{base16:()=>g6,base16upper:()=>x6});var g6=_e({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),x6=_e({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ed={};R(ed,{base2:()=>b6});var b6=_e({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var td={};R(td,{base256emoji:()=>S6});var rw=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}"),w6=rw.reduce((t,e,r)=>(t[r]=e,t),[]),v6=rw.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function E6(t){return t.reduce((e,r)=>(e+=w6[r],e),"")}function A6(t){let e=[];for(let r of t){let n=v6[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var S6=Yi({prefix:"\u{1F680}",name:"base256emoji",encode:E6,decode:A6});var rd={};R(rd,{base32:()=>Qi,base32hex:()=>T6,base32hexpad:()=>B6,base32hexpadupper:()=>D6,base32hexupper:()=>R6,base32pad:()=>I6,base32padupper:()=>_6,base32upper:()=>C6,base32z:()=>L6});var Qi=_e({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),C6=_e({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),I6=_e({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_6=_e({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),T6=_e({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),R6=_e({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),B6=_e({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),D6=_e({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),L6=_e({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var nd={};R(nd,{base36:()=>N6,base36upper:()=>P6});var N6=on({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),P6=on({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var id={};R(id,{base58btc:()=>sr,base58flickr:()=>O6});var sr=on({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),O6=on({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var od={};R(od,{base64:()=>k6,base64pad:()=>U6,base64url:()=>M6,base64urlpad:()=>F6});var k6=_e({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),U6=_e({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),M6=_e({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),F6=_e({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var sd={};R(sd,{base8:()=>K6});var K6=_e({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ad={};R(ad,{identity:()=>V6});var V6=Yi({prefix:"\0",name:"identity",encode:t=>Zb(t),decode:t=>Jb(t)});var ez=new TextEncoder,tz=new TextDecoder;var ud={};R(ud,{identity:()=>f5});var $6=ow,nw=128,H6=127,G6=~H6,W6=Math.pow(2,31);function ow(t,e,r){e=e||[],r=r||0;for(var n=r;t>=W6;)e[r++]=t&255|nw,t/=128;for(;t&G6;)e[r++]=t&255|nw,t>>>=7;return e[r]=t|0,ow.bytes=r-n+1,e}var Y6=cd,Q6=128,iw=127;function cd(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw cd.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&iw)<<i:(s&iw)*Math.pow(2,i),i+=7}while(s>=Q6);return cd.bytes=o-n,r}var X6=Math.pow(2,7),j6=Math.pow(2,14),J6=Math.pow(2,21),Z6=Math.pow(2,28),e5=Math.pow(2,35),t5=Math.pow(2,42),r5=Math.pow(2,49),n5=Math.pow(2,56),i5=Math.pow(2,63),o5=function(t){return t<X6?1:t<j6?2:t<J6?3:t<Z6?4:t<e5?5:t<t5?6:t<r5?7:t<n5?8:t<i5?9:10},s5={encode:$6,decode:Y6,encodingLength:o5},a5=s5,Is=a5;var _s=(t,e=0)=>[Is.decode(t,e),Is.decode.bytes],Xi=(t,e,r=0)=>(Is.encode(t,e,r),e),ji=t=>Is.encodingLength(t);var $n=(t,e)=>{let r=e.byteLength,n=ji(t),i=n+ji(r),o=new Uint8Array(i+r);return Xi(t,o,0),Xi(r,o,n),o.set(e,i),new Ji(t,r,e,o)},sw=t=>{let e=Br(t),[r,n]=_s(e),[i,o]=_s(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Ji(r,i,s,e)},aw=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&jb(t.bytes,r.bytes)}},Ji=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var cw=0,c5="identity",uw=Br,u5=t=>$n(cw,uw(t)),f5={code:cw,name:c5,encode:uw,digest:u5};var hd={};R(hd,{sha256:()=>l5,sha512:()=>h5});var ld=({name:t,code:e,encode:r})=>new fd(t,e,r),fd=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?$n(this.code,r):r.then(n=>$n(this.code,n))}else throw Error("Unknown type, must be binary type")}};var lw=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),l5=ld({name:"sha2-256",code:18,encode:lw("SHA-256")}),h5=ld({name:"sha2-512",code:19,encode:lw("SHA-512")});var hw=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return p5(r,dd(t),e||sr.encoder);default:return m5(r,dd(t),e||Qi.encoder)}};var dw=new WeakMap,dd=t=>{let e=dw.get(t);if(e==null){let r=new Map;return dw.set(t,r),r}return e},pc=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!==Rs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==y5)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=$n(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&&aw(e.multihash,n.multihash)}toString(e){return hw(this,e)}toJSON(){return{"/":hw(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||pw(n,i,o.bytes))}else if(r[g5]===!0){let{version:n,multihash:i,code:o}=r,s=sw(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!==Rs)throw new Error(`Version 0 CID must use dag-pb (code: ${Rs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=pw(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Rs,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=Br(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 Ji(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[h,p]=_s(e.subarray(r));return r+=p,h},i=n(),o=Rs;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]=d5(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 dd(o).set(n,e),o}},d5=(t,e)=>{switch(t[0]){case"Q":{let r=e||sr;return[sr.prefix,r.decode(`${sr.prefix}${t}`)]}case sr.prefix:{let r=e||sr;return[sr.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)]}}},p5=(t,e,r)=>{let{prefix:n}=r;if(n!==sr.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},m5=(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},Rs=112,y5=18,pw=(t,e,r)=>{let n=ji(t),i=n+ji(e),o=new Uint8Array(i+r.byteLength);return Xi(t,o,0),Xi(e,o,n),o.set(r,i),o},g5=Symbol.for("@ipld/js-cid/CID");var pd={...ad,...ed,...sd,...Jh,...Zh,...rd,...nd,...id,...od,...td},gz={...hd,...ud};function mw(t=0){return globalThis.Buffer?.allocUnsafe!=null?hc(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function gw(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var yw=gw("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),md=gw("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=mw(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),x5={utf8:yw,"utf-8":yw,hex:pd.base16,latin1:md,ascii:md,binary:md,...pd},xw=x5;function bw(t,e="utf8"){let r=xw[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?hc(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var ww={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Bs;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(Bs||(Bs={}));var Zi=class t{static createFromProtobuf=async e=>{let r=Bs.decode(e),n=await sc(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,o=e.marshal(),s=vw(n,i,o),c=await(await ih(r.privateKey)).sign(s.subarray());return new t({peerId:r,payloadType:i,payload:o,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new _("envelope signature is not valid for the given domain",ww.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Bs.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Qb(this.marshal(),e.marshal())}async validate(e){let r=vw(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return bs(this.peerId.publicKey).verify(r.subarray(),this.signature)}},vw=(t,e,r)=>{let n=bw(t),i=yt(n.byteLength),o=yt(e.length),s=yt(r.length);return new He(i,n,o,e,s,r)};function Ew(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var wd={};R(wd,{base58btc:()=>gt,base58flickr:()=>S5});function b5(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 h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var w5=b5,v5=w5,Aw=v5;var Vz=new Uint8Array(0);var Sw=(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},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")};var Cw=t=>new TextEncoder().encode(t),Iw=t=>new TextDecoder().decode(t);var yd=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")}},gd=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 Tw(this,e)}},xd=class{constructor(e){this.decoders=e}or(e){return Tw(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`)}},Tw=(t,e)=>new xd({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),bd=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new yd(e,r,n),this.decoder=new gd(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},eo=({name:t,prefix:e,encode:r,decode:n})=>new bd(t,e,r,n),sn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Aw(r,e);return eo({prefix:t,name:e,encode:n,decode:o=>Dr(i(o))})},E5=(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 h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,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},A5=(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},Te=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>eo({prefix:e,name:t,encode(i){return A5(i,n,r)},decode(i){return E5(i,n,r,t)}});var gt=sn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),S5=sn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var vd={};R(vd,{base32:()=>Lr,base32hex:()=>T5,base32hexpad:()=>B5,base32hexpadupper:()=>D5,base32hexupper:()=>R5,base32pad:()=>I5,base32padupper:()=>_5,base32upper:()=>C5,base32z:()=>L5});var Lr=Te({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),C5=Te({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),I5=Te({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_5=Te({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),T5=Te({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),R5=Te({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),B5=Te({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),D5=Te({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),L5=Te({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var N5=Dw,Rw=128,P5=127,O5=~P5,k5=Math.pow(2,31);function Dw(t,e,r){e=e||[],r=r||0;for(var n=r;t>=k5;)e[r++]=t&255|Rw,t/=128;for(;t&O5;)e[r++]=t&255|Rw,t>>>=7;return e[r]=t|0,Dw.bytes=r-n+1,e}var U5=Ed,M5=128,Bw=127;function Ed(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Ed.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Bw)<<i:(s&Bw)*Math.pow(2,i),i+=7}while(s>=M5);return Ed.bytes=o-n,r}var F5=Math.pow(2,7),K5=Math.pow(2,14),V5=Math.pow(2,21),q5=Math.pow(2,28),z5=Math.pow(2,35),$5=Math.pow(2,42),H5=Math.pow(2,49),G5=Math.pow(2,56),W5=Math.pow(2,63),Y5=function(t){return t<F5?1:t<K5?2:t<V5?3:t<q5?4:t<z5?5:t<$5?6:t<H5?7:t<G5?8:t<W5?9:10},Q5={encode:N5,decode:U5,encodingLength:Y5},X5=Q5,Ds=X5;var Ls=(t,e=0)=>[Ds.decode(t,e),Ds.decode.bytes],to=(t,e,r=0)=>(Ds.encode(t,e,r),e),ro=t=>Ds.encodingLength(t);var Hn=(t,e)=>{let r=e.byteLength,n=ro(t),i=n+ro(r),o=new Uint8Array(i+r);return to(t,o,0),to(r,o,n),o.set(e,i),new no(t,r,e,o)},yc=t=>{let e=Dr(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 no(r,i,s,e)},Lw=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Sw(t.bytes,r.bytes)}},no=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Nw=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return J5(r,Ad(t),e||gt.encoder);default:return Z5(r,Ad(t),e||Lr.encoder)}};var Pw=new WeakMap,Ad=t=>{let e=Pw.get(t);if(e==null){let r=new Map;return Pw.set(t,r),r}return e},an=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!==Ns)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==eR)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=Hn(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&&Lw(e.multihash,n.multihash)}toString(e){return Nw(this,e)}toJSON(){return{"/":Nw(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||Ow(n,i,o.bytes))}else if(r[tR]===!0){let{version:n,multihash:i,code:o}=r,s=yc(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!==Ns)throw new Error(`Version 0 CID must use dag-pb (code: ${Ns}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Ow(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ns,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=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 no(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[h,p]=Ls(e.subarray(r));return r+=p,h},i=n(),o=Ns;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]=j5(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 Ad(o).set(n,e),o}},j5=(t,e)=>{switch(t[0]){case"Q":{let r=e||gt;return[gt.prefix,r.decode(`${gt.prefix}${t}`)]}case gt.prefix:{let r=e||gt;return[gt.prefix,r.decode(t)]}case Lr.prefix:{let r=e||Lr;return[Lr.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)]}}},J5=(t,e,r)=>{let{prefix:n}=r;if(n!==gt.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},Z5=(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},Ns=112,eR=18,Ow=(t,e,r)=>{let n=ro(t),i=n+ro(e),o=new Uint8Array(i+r.byteLength);return to(t,o,0),to(e,o,n),o.set(r,i),o},tR=Symbol.for("@ipld/js-cid/CID");function xt(t,e="utf8"){let r=ja[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 gc=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 h=this.readChar();if(h===void 0)return;let p=Number.parseInt(h,e);if(!Number.isNaN(p))return p});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 kw=45,rR=15,oo=new gc;function Sd(t){if(!(t.length>rR))return oo.new(t).parseWith(()=>oo.readIPv4Addr())}function Cd(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>kw))return oo.new(t).parseWith(()=>oo.readIPv6Addr())}function xc(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>kw))return oo.new(t).parseWith(()=>oo.readIPAddr())}var h$=parseInt("0xFFFF",16),d$=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Id={};R(Id,{base10:()=>aR});var aR=sn({prefix:"9",name:"base10",alphabet:"0123456789"});var _d={};R(_d,{base16:()=>cR,base16upper:()=>uR});var cR=Te({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),uR=Te({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Td={};R(Td,{base2:()=>fR});var fR=Te({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Rd={};R(Rd,{base256emoji:()=>mR});var Fw=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}"),lR=Fw.reduce((t,e,r)=>(t[r]=e,t),[]),hR=Fw.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function dR(t){return t.reduce((e,r)=>(e+=lR[r],e),"")}function pR(t){let e=[];for(let r of t){let n=hR[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var mR=eo({prefix:"\u{1F680}",name:"base256emoji",encode:dR,decode:pR});var Bd={};R(Bd,{base36:()=>yR,base36upper:()=>gR});var yR=sn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),gR=sn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Dd={};R(Dd,{base64:()=>xR,base64pad:()=>bR,base64url:()=>wR,base64urlpad:()=>vR});var xR=Te({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),bR=Te({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),wR=Te({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),vR=Te({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ld={};R(Ld,{base8:()=>ER});var ER=Te({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Nd={};R(Nd,{identity:()=>AR});var AR=eo({prefix:"\0",name:"identity",encode:t=>Iw(t),decode:t=>Cw(t)});var $$=new TextEncoder,H$=new TextDecoder;var Pd={};R(Pd,{identity:()=>TR});var Kw=0,IR="identity",Vw=Dr,_R=t=>Hn(Kw,Vw(t)),TR={code:Kw,name:IR,encode:Vw,digest:_R};var Ud={};R(Ud,{sha256:()=>RR,sha512:()=>BR});var kd=({name:t,code:e,encode:r})=>new Od(t,e,r),Od=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?Hn(this.code,r):r.then(n=>Hn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var zw=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),RR=kd({name:"sha2-256",code:18,encode:zw("SHA-256")}),BR=kd({name:"sha2-512",code:19,encode:zw("SHA-512")});var $w={...Nd,...Td,...Ld,...Id,..._d,...vd,...Bd,...wd,...Dd,...Rd},Z$={...Ud,...Pd};function bc(t){return!!Sd(t)}function wc(t){return!!Cd(t)}function so(t){return!!xc(t)}var Hw=bc,DR=wc,Md=function(t){let e=0;if(t=t.toString().trim(),Hw(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(DR(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Hw(r[n]),s;o&&(s=Md(r[n]),r[n]=xt(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,xt(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")},Gw=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 ao={},Fd={},NR=[[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"]];NR.forEach(t=>{let e=PR(...t);Fd[e.code]=e,ao[e.name]=e});function PR(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ue(t){if(typeof t=="number"){if(Fd[t]!=null)return Fd[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(ao[t]!=null)return ao[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var yH=ue("ip4"),gH=ue("ip6"),xH=ue("ipcidr");function Vd(t,e){switch(ue(t).code){case 4:case 41:return kR(e);case 42:return Qw(e);case 6:case 273:case 33:case 132:return jw(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qw(e);case 421:return KR(e);case 444:return Xw(e);case 445:return Xw(e);case 466:return FR(e);default:return xt(e,"base16")}}function qd(t,e){switch(ue(t).code){case 4:return Ww(e);case 41:return Ww(e);case 42:return Yw(e);case 6:case 273:case 33:case 132:return zd(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Yw(e);case 421:return UR(e);case 444:return VR(e);case 445:return qR(e);case 466:return MR(e);default:return cs(e,"base16")}}var Kd=Object.values($w).map(t=>t.decoder),OR=function(){let t=Kd[0].or(Kd[1]);return Kd.slice(2).forEach(e=>t=t.or(e)),t}();function Ww(t){if(!so(t))throw new Error("invalid ip address");return Md(t)}function kR(t){let e=Gw(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!so(e))throw new Error("invalid ip address");return e}function zd(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function jw(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Yw(t){let e=cs(t),r=Uint8Array.from(yt(e.length));return Lt([r,e],r.length+e.length)}function Qw(t){let e=zt(t);if(t=t.slice(at(e)),t.length!==e)throw new Error("inconsistent lengths");return xt(t)}function UR(t){let e;t[0]==="Q"||t[0]==="1"?e=yc(gt.decode(`z${t}`)).bytes:e=an.parse(t).multihash.bytes;let r=Uint8Array.from(yt(e.length));return Lt([r,e],r.length+e.length)}function MR(t){let e=OR.decode(t),r=Uint8Array.from(yt(e.length));return Lt([r,e],r.length+e.length)}function FR(t){let e=zt(t),r=t.slice(at(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+xt(r,"base64url")}function KR(t){let e=zt(t),r=t.slice(at(e));if(r.length!==e)throw new Error("inconsistent lengths");return xt(r,"base58btc")}function VR(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=Lr.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=zd(n);return Lt([r,i],r.length+i.length)}function qR(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=Lr.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=zd(n);return Lt([r,i],r.length+i.length)}function Xw(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=xt(e,"base32"),i=jw(r);return`${n}:${i}`}function Jw(t){t=$d(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=ue(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw e1("invalid address: "+t);if(a.path===!0){n=$d(i.slice(o).join("/")),e.push([a.code,qd(a.code,n)]),r.push([a.code,n]);break}let c=qd(a.code,i[o]);e.push([a.code,c]),r.push([a.code,Vd(a.code,c)])}return{string:Zw(r),bytes:Gd(e),tuples:e,stringTuples:r,path:n}}function Hd(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=zt(t,i),s=at(o),a=ue(o),c=zR(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 e1("Invalid address Uint8Array: "+xt(t,"base16"));e.push([o,u]);let f=Vd(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(t),string:Zw(r),tuples:e,stringTuples:r,path:n}}function Zw(t){let e=[];return t.map(r=>{let n=ue(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),$d(e.join("/"))}function Gd(t){return Lt(t.map(e=>{let r=ue(e[0]),n=Uint8Array.from(yt(r.code));return e.length>1&&e[1]!=null&&(n=Lt([n,e[1]])),n}))}function zR(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=zt(e instanceof Uint8Array?e:Uint8Array.from(e));return r+at(r)}}function $d(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function e1(t){return new Error("Error parsing address: "+t)}var $R=Symbol.for("nodejs.util.inspect.custom"),Wd=Symbol.for("@multiformats/js-multiaddr/multiaddr"),HR=[ue("dns").code,ue("dns4").code,ue("dns6").code,ue("dnsaddr").code],vc=class t{bytes;#e;#i;#o;#a;[Wd]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Hd(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Jw(e)}else if(cn(e))r=Hd(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#i=r.tuples,this.#o=r.stringTuples,this.#a=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=ue("tcp"),a=ue("udp"),c=ue("ip4"),u=ue("ip6"),f=ue("dns6"),h=ue("ip6zone");for(let[y,l]of this.stringTuples())y===h.code&&(o=`%${l??""}`),HR.includes(y)&&(r=s.name,i=443,n=`${l??""}${o}`,e=y===f.code?6:4),(y===s.code||y===a.code)&&(r=ue(y).name,i=parseInt(l??"")),(y===c.code||y===u.code)&&(r=ue(y).name,n=`${l??""}${o}`,e=y===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.#i.map(([e])=>Object.assign({},ue(e)))}protoCodes(){return this.#i.map(([e])=>e)}protoNames(){return this.#i.map(([e])=>ue(e).name)}tuples(){return this.#i}stringTuples(){return this.#o}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(Gd(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===ao.p2p.code&&e.push([n,i]),n===ao["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?xt(gt.decode(`z${n}`),"base58btc"):xt(an.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(e){return fc(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Ec.get(r.name);if(n==null)throw new _(`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)}[$R](){return`Multiaddr(${this.#e})`}};var Ec=new Map;function cn(t){return!!t?.[Wd]}function Ke(t){return new vc(t)}var t1="libp2p-peer-record",r1=Uint8Array.from([3,1]);var Ps;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=Ze((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let u=o.uint32();switch(u>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(u&7);break}}return a})),i),n.encode=o=>Je(o,n.codec()),n.decode=o=>je(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=Ze((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>Je(n,t.codec()),t.decode=n=>je(n,t.codec())})(Ps||(Ps={}));var Gn=class t{static createFromProtobuf=e=>{let r=Ps.decode(e),n=qi(r.peerId),i=(r.addresses??[]).map(s=>Ke(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=t1;static CODEC=r1;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Ps.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!Ew(this.multiaddrs,e.multiaddrs))}};function GR(t){return t[Symbol.asyncIterator]!=null}function WR(t){if(GR(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var Os=WR;var Wn=we(i1(),1);var Nr=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Qd=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},o1=t=>globalThis.DOMException===void 0?new Qd(t):new DOMException(t),s1=t=>{let e=t.reason===void 0?o1("This operation was aborted."):t.reason;return e instanceof Error?e:o1(e)};function Pr(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:p}=e;p.aborted&&f(s1(p)),p.addEventListener("abort",()=>{f(s1(p))})}if(r===Number.POSITIVE_INFINITY){t.then(u,f);return}let h=new Nr;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(p){f(p)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?f(i):(h.message=i??`Promise timed out after ${r} milliseconds`,f(h))},r),(async()=>{try{u(await t)}catch(p){f(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}function Xd(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 Us=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=Xd(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 co=class extends Wn.default{#e;#i;#o=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#f;#s;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Us,...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.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#s=e.autoStart===!1}get#b(){return this.#i||this.#o<this.#a}get#w(){return this.#n<this.#f}#v(){this.#n--,this.#l(),this.emit("next")}#E(){this.#x(),this.#g(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#o=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#o===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#o=this.#e?this.#n: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#S(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.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#o++;try{r.signal?.throwIfAborted();let o=e({signal:r.signal});r.timeout&&(o=Pr(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#S(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof Nr&&!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.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.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.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#s}};var un={},uo=t=>{t.addEventListener("message",e=>{uo.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{uo.dispatchEvent("message",t,e)})};uo.addEventListener=(t,e)=>{un[t]==null&&(un[t]=[]),un[t].push(e)};uo.removeEventListener=(t,e)=>{un[t]!=null&&(un[t]=un[t].filter(r=>r===e))};uo.dispatchEvent=function(t,e,r){un[t]!=null&&un[t].forEach(n=>n(e,r))};var jd=uo;var Jd="lock:worker:request-read",Zd="lock:worker:release-read",e0="lock:master:grant-read",t0="lock:worker:request-write",r0="lock:worker:release-write",n0="lock:master:grant-write";var a1=(t=21)=>Math.random().toString().substring(2);var c1=(t,e,r,n,i)=>(o,s)=>{if(s.data.type!==r)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>{o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=f=>{if(f==null||f.data==null)return;let h={type:f.data.type,name:f.data.name,identifier:f.data.identifier};h.type===n&&h.identifier===a.identifier&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)})}}}))},u1=(t,e,r,n)=>async()=>{let i=a1();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",s)})},XR={singleProcess:!1},f1=t=>{if(t=Object.assign({},XR,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return jd.addEventListener("message",c1(r,"requestReadLock",Jd,Zd,e0)),jd.addEventListener("message",c1(r,"requestWriteLock",t0,r0,n0)),r}return{isWorker:!0,readLock:r=>u1(r,Jd,e0,Zd),writeLock:r=>u1(r,t0,n0,r0)}};var Yn={},fn;async function i0(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>Pr((async()=>{await new Promise(i=>{r(()=>{i()})})})(),{milliseconds:e.timeout})),n}var jR=(t,e)=>{if(fn.isWorker===!0)return{readLock:fn.readLock(t,e),writeLock:fn.writeLock(t,e)};let r=new co({concurrency:1}),n;return{async readLock(){if(n!=null)return i0(n,e);n=new co({concurrency:e.concurrency,autoStart:!1});let i=n,o=i0(n,e);return r.add(async()=>{i.start(),await i.onIdle().then(()=>{n===i&&(n=null)})}),o},async writeLock(){return n=null,i0(r,e)}}},JR={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function o0(t){let e=Object.assign({},JR,t);return fn==null&&(fn=f1(e),fn.isWorker!==!0&&(fn.addEventListener("requestReadLock",r=>{Yn[r.data.name]!=null&&Yn[r.data.name].readLock().then(async n=>r.data.handler().finally(()=>{n()}))}),fn.addEventListener("requestWriteLock",async r=>{Yn[r.data.name]!=null&&Yn[r.data.name].writeLock().then(async n=>r.data.handler().finally(()=>{n()}))}))),Yn[e.name]==null&&(Yn[e.name]=jR(e.name,e)),Yn[e.name]}function Sc(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 et={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var fo;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=Ze((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&s.value.byteLength>0&&(a.uint32(18),a.bytes(s.value)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let f=s.uint32();switch(f>>>3){case 1:c.key=s.string();break;case 2:c.value=s.bytes();break;default:s.skipType(f&7);break}}return c})),o),i.encode=s=>Je(s,i.codec()),i.decode=s=>je(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=Ze((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&(a.uint32(18),Ic.codec().encode(s.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:""},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let f=s.uint32();switch(f>>>3){case 1:c.key=s.string();break;case 2:c.value=Ic.codec().decode(s,s.uint32());break;default:s.skipType(f&7);break}}return c})),o),i.encode=s=>Je(s,i.codec()),i.decode=s=>je(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=Ze((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),Cc.codec().encode(a,o);if(i.protocols!=null)for(let a of i.protocols)o.uint32(18),o.string(a);if(i.publicKey!=null&&(o.uint32(34),o.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(o.uint32(42),o.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())o.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},o);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())o.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},o);s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.addresses.push(Cc.codec().decode(i,i.uint32()));break;case 2:s.protocols.push(i.string());break;case 4:s.publicKey=i.bytes();break;case 5:s.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());s.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());s.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return s})),n),t.encode=i=>Je(i,t.codec()),t.decode=i=>je(i,t.codec())})(fo||(fo={}));var Cc;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(Cc||(Cc={}));var Ic;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(Ic||(Ic={}));function lo(t,e){let r=fo.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=Ab({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[o,s]of r.tags.entries())s.expiry!=null&&s.expiry<i||n.set(o,s);return{...r,id:t,addresses:r.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:Ke(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}function _c(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var f0={};R(f0,{base10:()=>iB});function ZR(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 h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var eB=ZR,tB=eB,l1=tB;var NG=new Uint8Array(0);var h1=(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},Or=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 d1=t=>new TextEncoder().encode(t),p1=t=>new TextDecoder().decode(t);var s0=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")}},a0=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 y1(this,e)}},c0=class{constructor(e){this.decoders=e}or(e){return y1(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`)}},y1=(t,e)=>new c0({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),u0=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new s0(e,r,n),this.decoder=new a0(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ho=({name:t,prefix:e,encode:r,decode:n})=>new u0(t,e,r,n),ln=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=l1(r,e);return ho({prefix:t,name:e,encode:n,decode:o=>Or(i(o))})},rB=(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 h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,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},nB=(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},Re=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>ho({prefix:e,name:t,encode(i){return nB(i,n,r)},decode(i){return rB(i,n,r,t)}});var iB=ln({prefix:"9",name:"base10",alphabet:"0123456789"});var l0={};R(l0,{base16:()=>oB,base16upper:()=>sB});var oB=Re({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),sB=Re({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var h0={};R(h0,{base2:()=>aB});var aB=Re({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var d0={};R(d0,{base256emoji:()=>hB});var g1=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}"),cB=g1.reduce((t,e,r)=>(t[r]=e,t),[]),uB=g1.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function fB(t){return t.reduce((e,r)=>(e+=cB[r],e),"")}function lB(t){let e=[];for(let r of t){let n=uB[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var hB=ho({prefix:"\u{1F680}",name:"base256emoji",encode:fB,decode:lB});var p0={};R(p0,{base32:()=>po,base32hex:()=>yB,base32hexpad:()=>xB,base32hexpadupper:()=>bB,base32hexupper:()=>gB,base32pad:()=>pB,base32padupper:()=>mB,base32upper:()=>dB,base32z:()=>wB});var po=Re({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),dB=Re({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),pB=Re({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),mB=Re({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),yB=Re({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),gB=Re({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),xB=Re({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),bB=Re({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),wB=Re({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var m0={};R(m0,{base36:()=>vB,base36upper:()=>EB});var vB=ln({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),EB=ln({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var y0={};R(y0,{base58btc:()=>ar,base58flickr:()=>AB});var ar=ln({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),AB=ln({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var g0={};R(g0,{base64:()=>SB,base64pad:()=>CB,base64url:()=>IB,base64urlpad:()=>_B});var SB=Re({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),CB=Re({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),IB=Re({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),_B=Re({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var x0={};R(x0,{base8:()=>TB});var TB=Re({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var b0={};R(b0,{identity:()=>RB});var RB=ho({prefix:"\0",name:"identity",encode:t=>p1(t),decode:t=>d1(t)});var YG=new TextEncoder,QG=new TextDecoder;var v0={};R(v0,{identity:()=>JB});var LB=w1,x1=128,NB=127,PB=~NB,OB=Math.pow(2,31);function w1(t,e,r){e=e||[],r=r||0;for(var n=r;t>=OB;)e[r++]=t&255|x1,t/=128;for(;t&PB;)e[r++]=t&255|x1,t>>>=7;return e[r]=t|0,w1.bytes=r-n+1,e}var kB=w0,UB=128,b1=127;function w0(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw w0.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&b1)<<i:(s&b1)*Math.pow(2,i),i+=7}while(s>=UB);return w0.bytes=o-n,r}var MB=Math.pow(2,7),FB=Math.pow(2,14),KB=Math.pow(2,21),VB=Math.pow(2,28),qB=Math.pow(2,35),zB=Math.pow(2,42),$B=Math.pow(2,49),HB=Math.pow(2,56),GB=Math.pow(2,63),WB=function(t){return t<MB?1:t<FB?2:t<KB?3:t<VB?4:t<qB?5:t<zB?6:t<$B?7:t<HB?8:t<GB?9:10},YB={encode:LB,decode:kB,encodingLength:WB},QB=YB,Ms=QB;var Fs=(t,e=0)=>[Ms.decode(t,e),Ms.decode.bytes],mo=(t,e,r=0)=>(Ms.encode(t,e,r),e),yo=t=>Ms.encodingLength(t);var Qn=(t,e)=>{let r=e.byteLength,n=yo(t),i=n+yo(r),o=new Uint8Array(i+r);return mo(t,o,0),mo(r,o,n),o.set(e,i),new go(t,r,e,o)},v1=t=>{let e=Or(t),[r,n]=Fs(e),[i,o]=Fs(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new go(r,i,s,e)},E1=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&h1(t.bytes,r.bytes)}},go=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var A1=0,XB="identity",S1=Or,jB=t=>Qn(A1,S1(t)),JB={code:A1,name:XB,encode:S1,digest:jB};var S0={};R(S0,{sha256:()=>ZB,sha512:()=>eD});var A0=({name:t,code:e,encode:r})=>new E0(t,e,r),E0=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?Qn(this.code,r):r.then(n=>Qn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var I1=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ZB=A0({name:"sha2-256",code:18,encode:I1("SHA-256")}),eD=A0({name:"sha2-512",code:19,encode:I1("SHA-512")});var _1=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return rD(r,C0(t),e||ar.encoder);default:return nD(r,C0(t),e||po.encoder)}};var T1=new WeakMap,C0=t=>{let e=T1.get(t);if(e==null){let r=new Map;return T1.set(t,r),r}return e},Rc=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!==Vs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==iD)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=Qn(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&&E1(e.multihash,n.multihash)}toString(e){return _1(this,e)}toJSON(){return{"/":_1(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||R1(n,i,o.bytes))}else if(r[oD]===!0){let{version:n,multihash:i,code:o}=r,s=v1(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!==Vs)throw new Error(`Version 0 CID must use dag-pb (code: ${Vs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=R1(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Vs,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=Or(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 go(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[h,p]=Fs(e.subarray(r));return r+=p,h},i=n(),o=Vs;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]=tD(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 C0(o).set(n,e),o}},tD=(t,e)=>{switch(t[0]){case"Q":{let r=e||ar;return[ar.prefix,r.decode(`${ar.prefix}${t}`)]}case ar.prefix:{let r=e||ar;return[ar.prefix,r.decode(t)]}case po.prefix:{let r=e||po;return[po.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)]}}},rD=(t,e,r)=>{let{prefix:n}=r;if(n!==ar.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},nD=(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},Vs=112,iD=18,R1=(t,e,r)=>{let n=yo(t),i=n+yo(e),o=new Uint8Array(i+r.byteLength);return mo(t,o,0),mo(e,o,n),o.set(r,i),o},oD=Symbol.for("@ipld/js-cid/CID");var I0={...b0,...h0,...x0,...f0,...l0,...p0,...m0,...y0,...g0,...d0},lW={...S0,...v0};function B1(t=0){return globalThis.Buffer?.allocUnsafe!=null?_c(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function L1(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var D1=L1("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),_0=L1("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=B1(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),sD={utf8:D1,"utf-8":D1,hex:I0.base16,latin1:_0,ascii:_0,binary:_0,...I0},Bc=sD;function N1(t,e="utf8"){let r=Bc[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?_c(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function P1(t,e="utf8"){let r=Bc[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 kr="/",O1=new TextEncoder().encode(kr),Dc=O1[0],Xn=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=N1(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]!==Dc)throw new Error("Invalid key")}toString(e="utf8"){return P1(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(kr))}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=O1),this._buf[0]!==Dc){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Dc,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Dc;)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(kr).slice(1)}type(){return aD(this.baseNamespace())}name(){return cD(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(kr)||(e+=kr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(kr):new t(e.slice(0,-1).join(kr))}child(e){return this.toString()===kr?e:e.toString()===kr?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(),...uD(e.map(r=>r.namespaces()))])}};function aD(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function cD(t){let e=t.split(":");return e[e.length-1]}function uD(t){return[].concat(...t)}var T0="/peers/";function xo(t){if(!Ta(t)||t.type==null)throw new _("Invalid PeerId",et.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Xn(`${T0}${e}`)}async function k1(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ke(i.multiaddr)),!cn(i.multiaddr))throw new _("Multiaddr was invalid",et.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let o=i.isCertified??!1,s=i.multiaddr.toString(),a=n.get(s);a!=null?i.isCertified=a.isCertified||o:n.set(s,{multiaddr:i.multiaddr,isCertified:o})}return[...n.values()].sort((i,o)=>i.multiaddr.toString().localeCompare(o.multiaddr.toString())).map(({isCertified:i,multiaddr:o})=>({isCertified:i,multiaddr:o.bytes}))}async function Nc(t,e,r,n){if(e==null)throw new _("Invalid PeerData",et.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Sc(e.publicKey,t.publicKey))throw new _("publicKey bytes do not match peer id publicKey bytes",et.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new _("peer id did not match existing peer id",et.ERR_INVALID_PARAMETERS);let o=i?.addresses??[],s=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(o=[],e.multiaddrs!=null&&o.push(...e.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),e.addresses!=null&&o.push(...e.addresses)),e.protocols!=null&&(s=new Set(e.protocols)),e.metadata!=null){let h=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Lc(h,{validate:U1})}if(e.tags!=null){let h=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Lc(h,{validate:M1,map:F1})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&o.push(...e.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),e.addresses!=null&&o.push(...e.addresses),e.protocols!=null&&(s=new Set([...s,...e.protocols])),e.metadata!=null){let h=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[p,y]of h)y==null?a.delete(p):a.set(p,y);a=Lc([...a.entries()],{validate:U1})}if(e.tags!=null){let h=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),p=new Map(c);for(let[y,l]of h)l==null?p.delete(y):p.set(y,l);c=Lc([...p.entries()],{validate:M1,map:F1})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let f={addresses:await k1(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((h,p)=>h.localeCompare(p)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete f.publicKey,f}function Lc(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([o],[s])=>o.localeCompare(s)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function U1(t,e){if(typeof t!="string")throw new _("Metadata key must be a string",et.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new _("Metadata value must be a Uint8Array",et.ERR_INVALID_PARAMETERS)}function M1(t,e){if(typeof t!="string")throw new _("Tag name must be a string",et.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new _("Tag value must be an integer",et.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new _("Tag value must be between 0-100",et.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new _("Tag ttl must be an integer",et.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new _("Tag ttl must be between greater than 0",et.ERR_INVALID_PARAMETERS)}}function F1(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function Pc(t,e,r){let n=t.toString().split("/")[2],i=ir.decode(n),o=qi(i),s=r.get(o);if(s!=null)return s;let a=lo(o,e);return r.set(o,a),a}function fD(t,e){return t==null?{}:{prefix:T0,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(Pc(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(Pc(n.key,n.value,e),Pc(i.key,i.value,e)))}}var Oc=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=o0({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(xo(e))}async delete(e){if(this.peerId.equals(e))throw new _("Cannot delete self peer",et.ERR_INVALID_PARAMETERS);await this.datastore.delete(xo(e))}async load(e){let r=await this.datastore.get(xo(e));return lo(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Nc(e,r,"patch",{addressFilter:this.addressFilter});return this.#i(e,o,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Nc(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,o,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Nc(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,o,n,i)}async*all(e){let r=new ot;for await(let{key:n,value:i}of this.datastore.query(fD(e??{},r))){let o=Pc(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(xo(e)),n=lo(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#i(e,r,n,i){let o=fo.encode(r);return n!=null&&Sc(o,n)?{peer:lo(e,o),previous:i,updated:!1}:(await this.datastore.put(xo(e),o),{peer:lo(e,o),previous:i,updated:!0})}};var kc=class{store;events;peerId;log;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:peer-store"),this.events=e.events,this.peerId=e.peerId,this.store=new Oc(e,r)}async forEach(e,r){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{this.log.trace("forEach release read lock"),n()}}async all(e){this.log.trace("all await read lock");let r=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await Os(this.store.all(e))}finally{this.log.trace("all release read lock"),r()}}async delete(e){this.log.trace("delete await write lock");let r=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(e)}finally{this.log.trace("delete release write lock"),r()}}async has(e){this.log.trace("has await read lock");let r=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(e)}finally{this.log.trace("has release read lock"),r()}}async get(e){this.log.trace("get await read lock");let r=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(e)}finally{this.log.trace("get release read lock"),r()}}async save(e,r){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("save release write lock"),n()}}async patch(e,r){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(e,r){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await Zi.openAndCertify(e,Gn.DOMAIN);if(r?.equals(n.peerId)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=Gn.createFromProtobuf(n.payload),o;try{o=await this.get(n.peerId)}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(o?.peerRecordEnvelope!=null){let s=await Zi.createFromProtobuf(o.peerRecordEnvelope),a=Gn.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(s=>({isCertified:!0,multiaddr:s}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function lD(t){return t[Symbol.asyncIterator]!=null}function hD(t){if(lD(t))return(async()=>{for await(let e of t);})();for(let e of t);}var R0=hD;function dD(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 K1=dD;function pD(t){return t[Symbol.asyncIterator]!=null}function mD(t,e){if(pD(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=K1(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){await o&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let s=e;return function*(){o===!0&&(yield n);for(let a of r)s(a)&&(yield a)}()}var jn=mD;function yD(t){return t[Symbol.asyncIterator]!=null}function gD(t,e){return yD(t)?async function*(){yield*(await Os(t)).sort(e)}():function*(){yield*Os(t).sort(e)}()}var B0=gD;function xD(t){return t[Symbol.asyncIterator]!=null}function bD(t,e){return xD(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 D0=bD;var Uc=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await R0(this.putMany(e,n)),e=[],await R0(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=jn(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>jn(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>B0(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=jn(n,()=>i++>=o)}return e.limit!=null&&(n=D0(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=jn(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>jn(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>B0(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=jn(n,()=>o++>=i)}return e.limit!=null&&(n=D0(n,e.limit)),n}};var z1=we(L0(),1);function $1(t){return t=t??new Error("Not Found"),(0,z1.default)(t,"ERR_NOT_FOUND")}var Mc=class extends Uc{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw $1();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new Xn(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Xn(e)}};function Jn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Fc(t=0){return globalThis.Buffer?.allocUnsafe!=null?Jn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function H1(t,e){if(globalThis.Buffer!=null)return Jn(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Fc(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Jn(r)}var U0={};R(U0,{base10:()=>_D});function ED(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 h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var AD=ED,SD=AD,G1=SD;var CY=new Uint8Array(0);var W1=(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},Ur=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 Y1=t=>new TextEncoder().encode(t),Q1=t=>new TextDecoder().decode(t);var N0=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")}},P0=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 j1(this,e)}},O0=class{constructor(e){this.decoders=e}or(e){return j1(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`)}},j1=(t,e)=>new O0({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),k0=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new N0(e,r,n),this.decoder=new P0(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},bo=({name:t,prefix:e,encode:r,decode:n})=>new k0(t,e,r,n),hn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=G1(r,e);return bo({prefix:t,name:e,encode:n,decode:o=>Ur(i(o))})},CD=(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 h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,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},ID=(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},Be=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>bo({prefix:e,name:t,encode(i){return ID(i,n,r)},decode(i){return CD(i,n,r,t)}});var _D=hn({prefix:"9",name:"base10",alphabet:"0123456789"});var M0={};R(M0,{base16:()=>TD,base16upper:()=>RD});var TD=Be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),RD=Be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var F0={};R(F0,{base2:()=>BD});var BD=Be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var K0={};R(K0,{base256emoji:()=>OD});var J1=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}"),DD=J1.reduce((t,e,r)=>(t[r]=e,t),[]),LD=J1.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function ND(t){return t.reduce((e,r)=>(e+=DD[r],e),"")}function PD(t){let e=[];for(let r of t){let n=LD[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var OD=bo({prefix:"\u{1F680}",name:"base256emoji",encode:ND,decode:PD});var V0={};R(V0,{base32:()=>wo,base32hex:()=>FD,base32hexpad:()=>VD,base32hexpadupper:()=>qD,base32hexupper:()=>KD,base32pad:()=>UD,base32padupper:()=>MD,base32upper:()=>kD,base32z:()=>zD});var wo=Be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),kD=Be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),UD=Be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),MD=Be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),FD=Be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),KD=Be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),VD=Be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),qD=Be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),zD=Be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var q0={};R(q0,{base36:()=>$D,base36upper:()=>HD});var $D=hn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),HD=hn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var z0={};R(z0,{base58btc:()=>cr,base58flickr:()=>GD});var cr=hn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),GD=hn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var $0={};R($0,{base64:()=>WD,base64pad:()=>YD,base64url:()=>QD,base64urlpad:()=>XD});var WD=Be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),YD=Be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),QD=Be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),XD=Be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var H0={};R(H0,{base8:()=>jD});var jD=Be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var G0={};R(G0,{identity:()=>JD});var JD=bo({prefix:"\0",name:"identity",encode:t=>Q1(t),decode:t=>Y1(t)});var KY=new TextEncoder,VY=new TextDecoder;var Y0={};R(Y0,{identity:()=>vL});var tL=t2,Z1=128,rL=127,nL=~rL,iL=Math.pow(2,31);function t2(t,e,r){e=e||[],r=r||0;for(var n=r;t>=iL;)e[r++]=t&255|Z1,t/=128;for(;t&nL;)e[r++]=t&255|Z1,t>>>=7;return e[r]=t|0,t2.bytes=r-n+1,e}var oL=W0,sL=128,e2=127;function W0(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw W0.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&e2)<<i:(s&e2)*Math.pow(2,i),i+=7}while(s>=sL);return W0.bytes=o-n,r}var aL=Math.pow(2,7),cL=Math.pow(2,14),uL=Math.pow(2,21),fL=Math.pow(2,28),lL=Math.pow(2,35),hL=Math.pow(2,42),dL=Math.pow(2,49),pL=Math.pow(2,56),mL=Math.pow(2,63),yL=function(t){return t<aL?1:t<cL?2:t<uL?3:t<fL?4:t<lL?5:t<hL?6:t<dL?7:t<pL?8:t<mL?9:10},gL={encode:tL,decode:oL,encodingLength:yL},xL=gL,qs=xL;var zs=(t,e=0)=>[qs.decode(t,e),qs.decode.bytes],vo=(t,e,r=0)=>(qs.encode(t,e,r),e),Eo=t=>qs.encodingLength(t);var Zn=(t,e)=>{let r=e.byteLength,n=Eo(t),i=n+Eo(r),o=new Uint8Array(i+r);return vo(t,o,0),vo(r,o,n),o.set(e,i),new Ao(t,r,e,o)},r2=t=>{let e=Ur(t),[r,n]=zs(e),[i,o]=zs(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Ao(r,i,s,e)},n2=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&W1(t.bytes,r.bytes)}},Ao=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var i2=0,bL="identity",o2=Ur,wL=t=>Zn(i2,o2(t)),vL={code:i2,name:bL,encode:o2,digest:wL};var j0={};R(j0,{sha256:()=>EL,sha512:()=>AL});var X0=({name:t,code:e,encode:r})=>new Q0(t,e,r),Q0=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?Zn(this.code,r):r.then(n=>Zn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var a2=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),EL=X0({name:"sha2-256",code:18,encode:a2("SHA-256")}),AL=X0({name:"sha2-512",code:19,encode:a2("SHA-512")});var c2=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return CL(r,J0(t),e||cr.encoder);default:return IL(r,J0(t),e||wo.encoder)}};var u2=new WeakMap,J0=t=>{let e=u2.get(t);if(e==null){let r=new Map;return u2.set(t,r),r}return e},Vc=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!==Hs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==_L)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=Zn(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&&n2(e.multihash,n.multihash)}toString(e){return c2(this,e)}toJSON(){return{"/":c2(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||f2(n,i,o.bytes))}else if(r[TL]===!0){let{version:n,multihash:i,code:o}=r,s=r2(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=f2(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)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Ur(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 Ao(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[h,p]=zs(e.subarray(r));return r+=p,h},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]=SL(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 J0(o).set(n,e),o}},SL=(t,e)=>{switch(t[0]){case"Q":{let r=e||cr;return[cr.prefix,r.decode(`${cr.prefix}${t}`)]}case cr.prefix:{let r=e||cr;return[cr.prefix,r.decode(t)]}case wo.prefix:{let r=e||wo;return[wo.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)]}}},CL=(t,e,r)=>{let{prefix:n}=r;if(n!==cr.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},IL=(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},Hs=112,_L=18,f2=(t,e,r)=>{let n=Eo(t),i=n+Eo(e),o=new Uint8Array(i+r.byteLength);return vo(t,o,0),vo(e,o,n),o.set(r,i),o},TL=Symbol.for("@ipld/js-cid/CID");var Z0={...G0,...F0,...H0,...U0,...M0,...V0,...q0,...z0,...$0,...K0},nQ={...j0,...Y0};function h2(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var l2=h2("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),ep=h2("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=Fc(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),RL={utf8:l2,"utf-8":l2,hex:Z0.base16,latin1:ep,ascii:ep,binary:ep,...Z0},qc=RL;function zc(t,e="utf8"){let r=qc[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Jn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function d2(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var BL=t=>t;function tp(t,e){let r=t.getPeerId();return r!=null&&se(r).equals(e)&&(t=t.decapsulate(Ke(`/p2p/${e.toString()}`))),t}var $c=class{log;components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.log=e.logger.forComponent("libp2p:address-manager"),this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??BL,this._updatePeerStoreAddresses=d2(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>Ke(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{this.log.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ke(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ke(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ke(e))}addObservedAddr(e){e=tp(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=tp(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=tp(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>Ke(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var rp=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n;this.components.logger==null&&(this.components.logger=oc())}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>Jy(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},DL=["metrics","connectionProtector"],LL=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function p2(t={}){let e=new rp(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!LL.includes(i)){let s=e.components[i];if(s==null&&!DL.includes(i))throw new _(`${i} not set`,"ERR_SERVICE_MISSING");return s}return Reflect.get(n,i,o)},set(n,i,o){return typeof i=="string"?e.components[i]=o:Reflect.set(n,i,o),!0}})}var v2=we(m2(),1);var y2="[a-fA-F\\d:]",dn=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${y2})|(?<=${y2})(?=\\s|$))`:"",$t="(?: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}",Ue="[a-fA-F\\d]{1,4}",Hc=`
38
38
  (?:
39
- (?:${Be}:){7}(?:${Be}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
40
- (?:${Be}:){6}(?:${Mt}|:${Be}|:)| // 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
41
- (?:${Be}:){5}(?::${Mt}|(?::${Be}){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
42
- (?:${Be}:){4}(?:(?::${Be}){0,1}:${Mt}|(?::${Be}){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
43
- (?:${Be}:){3}(?:(?::${Be}){0,2}:${Mt}|(?::${Be}){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
44
- (?:${Be}:){2}(?:(?::${Be}){0,3}:${Mt}|(?::${Be}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
45
- (?:${Be}:){1}(?:(?::${Be}){0,4}:${Mt}|(?::${Be}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
46
- (?::(?:(?::${Be}){0,5}:${Mt}|(?::${Be}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
39
+ (?:${Ue}:){7}(?:${Ue}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
40
+ (?:${Ue}:){6}(?:${$t}|:${Ue}|:)| // 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
41
+ (?:${Ue}:){5}(?::${$t}|(?::${Ue}){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
42
+ (?:${Ue}:){4}(?:(?::${Ue}){0,1}:${$t}|(?::${Ue}){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
43
+ (?:${Ue}:){3}(?:(?::${Ue}){0,2}:${$t}|(?::${Ue}){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
44
+ (?:${Ue}:){2}(?:(?::${Ue}){0,3}:${$t}|(?::${Ue}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
45
+ (?:${Ue}:){1}(?:(?::${Ue}){0,4}:${$t}|(?::${Ue}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
46
+ (?::(?:(?::${Ue}){0,5}:${$t}|(?::${Ue}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
47
47
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
48
- `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Rw=new RegExp(`(?:^${Mt}$)|(?:^${po}$)`),Cw=new RegExp(`^${Mt}$`),Tw=new RegExp(`^${po}$`),Nu=t=>t&&t.exact?Rw:new RegExp(`(?:${Pr(t)}${Mt}${Pr(t)})|(?:${Pr(t)}${po}${Pr(t)})`,"g");Nu.v4=t=>t&&t.exact?Cw:new RegExp(`${Pr(t)}${Mt}${Pr(t)}`,"g");Nu.v6=t=>t&&t.exact?Tw:new RegExp(`${Pr(t)}${po}${Pr(t)}`,"g");var Fd=Nu;var zd=we(qd(),1),{isValid:Bw,parse:Lw}=zd.default,Dw=["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"],Pw=Dw.map(t=>new $d.Netmask(t));function Nw(t){for(let e of Pw)if(e.contains(t))return!0;return!1}function Vd(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 Hd=t=>{if(Bw(t)){let e=Lw(t);if(e.kind()==="ipv4")return Nw(e.toNormalizedString());if(e.kind()==="ipv6")return Vd(t)}else if(zn(t)&&Fd.v6().test(t))return Vd(t)};var go=Hd;function Gd(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!go(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}var kw=t=>t.toString().split("/").slice(1),$i=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),Ie=t=>({match:e=>$i(r=>r===t).match(e),pattern:t}),bo=()=>({match:t=>$i(e=>typeof e=="string").match(t),pattern:"{string}"}),Wd=()=>({match:t=>$i(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),St=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{Ee.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),yo=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{Ka.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),Yt=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),Qt=(...t)=>({match:e=>{let r;for(let n of t){let i=n.match(e);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${t.map(e=>e.pattern).join(", ")})`}),Re=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e},pattern:`and(${t.map(e=>e.pattern).join(", ")})`});function Oe(...t){function e(i){let s=kw(i);for(let o of t){let a=o.match(s);if(a===!1)return!1;s=a}return s}function r(i){return e(i)!==!1}function n(i){let s=e(i);return s===!1?!1:s.length===0}return{matches:r,exactMatch:n}}var Ou=Re(Ie("dns4"),bo()),Mu=Re(Ie("dns6"),bo()),Uu=Re(Ie("dnsaddr"),bo()),Yd=Re(Ie("dns"),bo()),tB=Oe(Ou),rB=Oe(Mu),nB=Oe(Uu),iB=Oe(Qt(Yd,Uu,Ou,Mu)),Qd=Re(Ie("ip4"),$i(Zs)),Xd=Re(Ie("ip6"),$i(js)),Zd=Qt(Qd,Xd),zi=Qt(Zd,Yd,Ou,Mu,Uu),sB=Oe(zi),oB=Oe(Qd),aB=Oe(Xd),cB=Oe(Zd),wo=Re(zi,Ie("tcp"),Wd()),Hi=Re(zi,Ie("udp"),Wd()),Ow=Qt(wo,Hi),uB=Oe(wo),lB=Oe(Hi),Fu=Re(Hi,Ie("quic")),Eo=Re(Hi,Ie("quic-v1")),Mw=Qt(Fu,Eo),fB=Oe(Fu),hB=Oe(Eo),ku=Qt(zi,wo,Hi,Fu,Eo),jd=Qt(Re(ku,Ie("ws"),Yt(St()))),dB=Oe(jd),Jd=Qt(Re(ku,Ie("wss"),Yt(St())),Re(ku,Ie("tls"),Ie("ws"),Yt(St()))),pB=Oe(Jd),ep=Re(Ow,Ie("webrtc-direct"),yo(),Yt(yo()),Yt(St())),mB=Oe(ep),tp=Re(Eo,Ie("webtransport"),yo(),yo(),Yt(St())),gB=Oe(tp),xo=Qt(jd,Jd,Re(wo,Yt(St())),Re(Mw,Yt(St())),Re(zi,Yt(St())),ep,tp,St()),yB=Oe(xo),Uw=Re(xo,Ie("p2p-circuit"),St()),Ku=Oe(Uw),Fw=Qt(Re(xo,Ie("p2p-circuit"),Ie("webrtc"),St()),Re(xo,Ie("webrtc"),Yt(St())),Ie("webrtc")),xB=Oe(Fw);function qu(t){try{let{address:e}=t.nodeAddress();return!!go(e)}catch{return!0}}function Kw(t,e){let r=qu(t.multiaddr),n=qu(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function qw(t,e){return t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function Vw(t,e){let r=Ku.exactMatch(t.multiaddr),n=Ku.exactMatch(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function Xn(t,e){let r=Kw(t,e);if(r!==0)return r;let n=Vw(t,e);return n!==0?n:qw(t,e)}var $u=we(Hc(),1),zu=we(ip(),1);function vo(t,e,r){return`${t}?name=${e}&type=${r}`}async function sp(t,e){return await(await fetch(t,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function fn(t,e){return`${e}_${t}`}var Vu=Object.assign((0,$u.default)("dns-over-http-resolver"),{error:(0,$u.default)("dns-over-http-resolver:error")}),Hu=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new zu.default({max:e?.maxCache??100}),this._TXTcache=new zu.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??sp,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(fn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(vo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(fn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Vu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}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(fn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(vo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(fn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Vu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}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(fn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(vo(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(fn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Vu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}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()}},op=Hu;var ap=op;var{code:Ww}=ue("dnsaddr");async function Zn(t,e={}){let r=new ap;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===Ww)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}var gp=we(mp(),1),Ao=gp.default;var pr;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(pr||(pr={}));var F;(function(t){t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(F||(F={}));var Jw={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Zn},addressSorter:Xn},transportManager:{faultTolerance:br.FATAL_ALL}};function yp(t){let e=Ao(Jw,t);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new S(pr.ERR_PROTECTOR_REQUIRED,F.ERR_PROTECTOR_REQUIRED);return e}var mm=we(fm(),1);function Ro(t){if(gs(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:oe(r),t.forEach(n=>{if(!Br(n))throw new S("Invalid Multiaddr",F.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new S("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}else{let s=oe(i);if(e==null||!e.equals(s))throw new S("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function Ae(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}function kE(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var cl=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new S("missing peer id",Ia);let s={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(s);return}let o=kE(this.#e,s,(a,c)=>c.priority-a.priority);this.#e.splice(o,0,s)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},Co=class extends Ot{results;constructor(e={}){super({...e,queueClass:cl}),this.results=new Je}hasJob(e){return this.sizeBy({peerId:e})>0}async joinJob(e){let r=this.results.get(e);if(r==null)throw new S("No job found for peer id","ERR_NO_JOB_FOR_PEER_ID");return r===!0&&(r=Ae(),this.results.set(e,r)),r.promise}async add(e,r){let n=r?.peerId;if(n==null)throw new S("missing peer id",Ia);return this.results.set(r.peerId,!0),super.add(async i=>{try{let s=await e(i),o=this.results.get(n);return o!=null&&o!==!0&&o.resolve(s),s}catch(s){let o=this.results.get(n);throw o!=null&&o!==!0&&o.reject(s),s}finally{this.results.delete(n)}},r)}clear(){this.results.clear(),super.clear()}};var To="last-dial-failure";var Bo=5,Lo=100,Do=50,hm=1e3*60*7;var hn={minConnections:Bo,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:hm,autoDialDiscoveredPeersDebounce:10},Po=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;log;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??hn.minConnections,this.autoDialPriority=r.autoDialPriority??hn.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??hn.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??hn.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??hn.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??hn.autoDialDiscoveredPeersDebounce,this.log=e.logger.forComponent("libp2p:connection-manager:auto-dial"),this.started=!1,this.running=!1,this.queue=new Co({concurrency:r.autoDialConcurrency??hn.autoDialConcurrency}),this.queue.addListener("error",i=>{this.log.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{this.log.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{this.log.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.started=!0}afterStart(){this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started||this.running)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&this.log.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){this.log("not enough connections %d/%d but auto dial queue is full",r,this.minConnections),this.sheduleNextAutodial();return}this.running=!0,this.log("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new _t(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(this.log.trace("not autodialing %p because they have no addresses",u.id),!1):e.has(u.id)?(this.log.trace("not autodialing %p because they are already connected",u.id),!1):n.has(u.id)?(this.log.trace("not autodialing %p because they are already being dialed",u.id),!1):this.queue.hasJob(u.id)?(this.log.trace("not autodialing %p because they are already being autodialed",u.id),!1):!0]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new Je;for(let u of s)o.has(u.id)||o.set(u.id,[...u.tags.values()].reduce((l,f)=>l+f.value,0));let c=s.sort((u,l)=>{let f=o.get(u.id)??0,d=o.get(l.id)??0;return f>d?-1:f<d?1:0}).filter(u=>{let l=u.metadata.get(To);if(l==null)return!0;let f=parseInt(Pe(l));return isNaN(f)?!0:Date.now()-f>this.autoDialPeerRetryThresholdMs});this.log("selected %d/%d peers to dial",c.length,i.length);for(let u of c)this.queue.add(async()=>{let l=this.connectionManager.getConnectionsMap().size;if(l>=this.minConnections){this.log("got enough connections now %d/%d",l,this.minConnections),this.queue.clear();return}this.log("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(l=>{this.log.error("could not connect to peerStore stored peer",l)});this.running=!1,this.sheduleNextAutodial()}sheduleNextAutodial(){this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})},this.autoDialIntervalMs))}};var dm={maxConnections:Lo,allow:[]},No=class{maxConnections;connectionManager;peerStore;allow;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??dm.maxConnections,this.allow=r.allow??dm.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager:connection-pruner"),e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{this.log.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(this.log("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;this.log("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Je;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&this.log.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.timeline.open,d=c.timeline.open;return f<d?1:f>d?-1:0}),o=[];for(let a of s)if(this.log("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){this.log.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};function ko(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}async function hl(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await UE(t,e),o=(await Promise.all(n.map(async a=>hl(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return e.log("resolved %s to",t,o.map(a=>a.toString())),o}async function UE(t,e){try{return t=ke(t.toString()),await t.resolve(e)}catch(r){return e.log.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function pm(...t){let e=[];for(let n of t)n!=null&&(ht(1/0,n),e.push(n));let r=ko(e);return ht(1/0,r),r}var Oo={addressSorter:Xn,maxParallelDials:Do,maxPeerAddrsToDial:25,dialTimeout:3e4,resolvers:{dnsaddr:Zn}},Mo=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;connections;log;constructor(e,r={}){this.addressSorter=r.addressSorter??Oo.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Oo.maxPeerAddrsToDial,this.dialTimeout=r.dialTimeout??Oo.dialTimeout,this.connections=r.connections??new Je,this.log=e.logger.forComponent("libp2p:connection-manager:dial-queue"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,ht(1/0,this.shutDownController.signal),this.pendingDialCount=e.metrics?.registerMetric("libp2p_dial_queue_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dial_queue_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))eo.set(n,i);this.queue=new Ot({concurrency:r.maxParallelDials??Oo.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{this.log.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=Ro(e),s=i.map(d=>({multiaddr:d,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(d){throw o.clear(),d}let c=Array.from(this.connections.values()).flat().find(d=>r.force===!0?!1:a.find(p=>p.multiaddr.equals(d.remoteAddr)));if(c!=null)return this.log("already connected to %a",c.remoteAddr),c;let u=this.pendingDials.find(d=>!!(d.peerId!=null&&n!=null&&d.peerId.equals(n)||a.map(({multiaddr:p})=>p.toString()).join()===d.multiaddrs.map(p=>p.toString()).join()));if(u!=null)return this.log("joining existing dial target for %p",n),o.clear(),u.promise;this.log("creating dial target for",a.map(({multiaddr:d})=>d.toString()));let l={id:FE(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:d})=>d)};l.promise=this.performDial(l,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(d=>d.id!==l.id),o.clear()}).catch(async d=>{if(this.log.error("dial failed to %s",l.multiaddrs.map(p=>p.toString()).join(", "),d),n!=null)try{await this.peerStore.patch(n,{metadata:{[To]:Z(Date.now().toString())}})}catch(p){this.log.error("could not update last dial failure key for %p",n,p)}throw o.aborted?new S(d.message,ys):d}),this.pendingDials.push(l);let f=await l.promise;return c=Array.from(this.connections.values()).flat().find(d=>r.force===!0?!1:d.id!==f.id&&d.remoteAddr.equals(f.remoteAddr)),c!=null?(this.log("already connected to %a",c.remoteAddr),await f.close(),c):(this.log("connection opened to %a",f.remoteAddr),f)}createDialAbortControllers(e){let r=ko([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);return ht(1/0,r),r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new S("Tried to dial self",F.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new S("The dial request is blocked by gater.allowDialPeer",F.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){this.log("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),this.log("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==F.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await hl(l.multiaddr,{...n,log:this.log});return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(d=>({multiaddr:d,isCertified:!1}))}))).flat();if(e!=null){let l=`/p2p/${e.toString()}`;i=i.map(f=>f.multiaddr.protos().pop()?.path===!0?f:f.multiaddr.getPeerId()==null?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f)}let s=i.filter(l=>{if(this.transportManager.transportForMultiaddr(l.multiaddr)==null)return!1;let f=l.multiaddr.getPeerId();return e!=null&&f!=null?e.equals(f):!0}),o=new Map;for(let l of s){let f=l.multiaddr.toString(),d=o.get(f);if(d!=null){d.isCertified=d.isCertified||l.isCertified||!1;continue}o.set(f,l)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(this.log("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),this.log("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new S("The dial request has no valid addresses",F.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new S("dial with more addresses than allowed",F.ERR_TOO_MANY_ADDRESSES);let c=[];for(let l of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(l.multiaddr)||c.push(l);let u=c.sort(this.addressSorter);if(u.length===0)throw new S("The connection gater denied all addresses in the dial request",F.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Ot({concurrency:1});i.on("error",o=>{this.log.error("error dialing %s %o",e.multiaddrs,o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new S("dialAction did not come with an AbortController",F.ERR_INVALID_PARAMETERS);let u=pm(c.signal,r.signal);u.addEventListener("abort",()=>{this.log("dial to %a aborted",o)});let l=Ae();return await i.add(async()=>{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the peer dial queue",o),l.reject(new En);return}await this.queue.add(async()=>{try{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the dial queue",o),l.reject(new En);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){this.log("multiple dials succeeded, closing superfluous connection"),f.close().catch(d=>{this.log.error("error closing superfluous connection",d)}),l.reject(new En);return}n[a]=void 0,n.forEach(d=>{d!==void 0&&d.abort()}),this.log("dial to %a succeeded",o),l.resolve(f)}catch(f){this.log.error("error during dial of %a",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),l.promise}));if(s==null)throw new S("successful dial led to empty object returned from peer dial queue",F.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function FE(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var VE=50,dn={minConnections:Bo,maxConnections:Lo,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},Uo=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??dn.maxConnections;let n=r.minConnections??dn.minConnections;if(this.maxConnections<n)throw new S("Connection Manager maxConnections must be greater than minConnections",F.ERR_INVALID_PARAMETERS);this.connections=new Je,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager"),this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>ke(i)),this.deny=(r.deny??[]).map(i=>ke(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??dn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new mm.RateLimiterMemory({points:r.inboundConnectionThreshold??dn.inboundConnectionThreshold,duration:1}),this.autoDial=new Po({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??dn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??dn.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??dn.autoDialMaxQueueLength}),this.connectionPruner=new No({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new Mo({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater,logger:e.logger},{addressSorter:r.addressSorter??Xn,maxParallelDials:r.maxParallelDials??Do,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Zn},connections:this.connections})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.direction} ${i.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.direction} ${o.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.autoDial.start(),this.started=!0,this.log("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(jf)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{this.log.error(n)})}))}).catch(e=>{this.log.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){this.log.error(i)}})());this.log("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),this.log("stopped")}onConnect(e){this._onConnect(e).catch(r=>{this.log.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new S("Not started",F.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=Ro(e);if(n!=null&&r.force!==!0){this.log("dial %p",n);let a=this.getConnections(n).find(c=>!c.transient);if(a!=null)return this.log("had an existing non-transient connection to %p",n),a}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??VE}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e,r={}){let n=this.connections.get(e)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(s){i.abort(s)}}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.log("connection from %a refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return this.log("connection from %a refused - incomingPendingConnections exceeded by host",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return this.log("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(this.log("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Fo=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}},ii=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Fo(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 Fo(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 ml=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function gm(t={}){return $E(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 $E(t,e){e=e??{};let r=e.onEnd,n=new ii,i,s,o,a=Ae(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((g,y)=>{s=x=>{s=null,n.push(x);try{g(t(n))}catch(b){y(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Ae()})}},u=g=>s!=null?s(g):(n.push(g),i),l=g=>(n=new ii,s!=null?s({error:g}):(n.push({error:g}),i)),f=g=>{if(o)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})},d=g=>o?i:(o=!0,g!=null?l(g):u({done:!0})),p=()=>(n=new ii,d(),{done:!0}),h=g=>(d(g),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:h,push:f,end:d,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 ml)},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 m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(g){return m.throw(g),r!=null&&(r(g),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(g){return m.end(g),r!=null&&(r(g),r=void 0),i},get readableLength(){return m.readableLength},onEmpty:g=>m.onEmpty(g)},i}function zE(t){return t[Symbol.asyncIterator]!=null}function HE(...t){let e=[];for(let r of t)zE(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=gm({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 Wi=HE;var Ko=globalThis.CustomEvent??Event;async function*Yi(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,s=[],o=Ae(),a=Ae(),c=!1,u,l=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(s.length===r&&(o=Ae(),await o.promise),l)break;let m={done:!1};s.push(m),h().then(g=>{m.done=!0,m.ok=!0,m.value=g,i.dispatchEvent(new Ko("task-complete"))},g=>{m.done=!0,m.err=g,i.dispatchEvent(new Ko("task-complete"))})}c=!0,i.dispatchEvent(new Ko("task-complete"))}catch(h){u=h,i.dispatchEvent(new Ko("task-complete"))}});function f(){return n?s[0]?.done:!!s.find(h=>h.done)}function*d(){for(;s.length>0&&s[0].done;){let h=s[0];if(s.shift(),h.ok)yield h.value;else throw l=!0,o.resolve(),h.err;o.resolve()}}function*p(){for(;f();)for(let h=0;h<s.length;h++)if(s[h].done){let m=s[h];if(s.splice(h,1),h--,m.ok)yield m.value;else throw l=!0,o.resolve(),m.err;o.resolve()}}for(;;){if(f()||(a=Ae(),await a.promise),u!=null)throw u;if(n?yield*d():yield*p(),c&&s.length===0)break}}var qo=class{log;routers;started;components;constructor(e,r){this.log=e.logger.forComponent("libp2p:content-routing"),this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new S("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new _t;for await(let s of Yi(async function*(){let o=Wi(...n.routers.map(a=>a.findProviders(e,r)));for await(let a of o)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.components.peerRouting.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))s!=null&&s.multiaddrs.length!==0&&(await this.components.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),!i.has(s.id)&&(i.add(s.id),yield s))}async provide(e,r={}){if(this.routers.length===0)throw new S("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new S(pr.NOT_STARTED_YET,F.ERR_NODE_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new S(pr.NOT_STARTED_YET,F.ERR_NODE_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};var Vo=class{log;peerId;peerStore;routers;constructor(e,r){this.log=e.logger.forComponent("libp2p:peer-routing"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new S("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.peerId.toString())throw new S("Should not try to find self",F.ERR_FIND_SELF);let n=this,i=Wi(...this.routers.map(s=>async function*(){try{yield await s.findPeer(e,r)}catch(o){n.log.error(o)}}()));for await(let s of i)if(s!=null)return await this.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),s;throw new S(pr.NOT_FOUND,F.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){if(this.routers.length===0)throw new S("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new _t;for await(let s of Yi(async function*(){let o=Wi(...n.routers.map(a=>a.getClosestPeers(e,r)));for await(let a of o)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))s!=null&&s.multiaddrs.length!==0&&(await this.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),!i.has(s.id)&&(i.add(s.id),yield s))}};var gl=32,yl=64,$o=class{log;topologies;handlers;components;constructor(e){this.log=e.logger.forComponent("libp2p:registrar"),this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onPeerIdentify=this._onPeerIdentify.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate),this.components.events.addEventListener("peer:identify",this._onPeerIdentify)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new S(`No handler registered for protocol ${e}`,F.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new S(`Handler already registered for protocol ${e}`,F.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Ao.bind({ignoreUndefined:!0})({maxInboundStreams:gl,maxOutboundStreams:yl},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){(Array.isArray(e)?e:[e]).forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:this.getProtocols()})}async register(e,r){if(r==null)throw new S("invalid topology",F.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect?.(r)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&this.log.error("could not inform topologies of disconnecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(s=>!r.protocols.includes(s));for(let s of i){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())a.onDisconnect?.(r.id)}}_onPeerIdentify(e){let r=e.detail.protocols,n=e.detail.connection,i=e.detail.peerId;for(let s of r){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())n.transient&&a.notifyOnTransient!==!0||a.onConnect?.(i,n)}}};var xl=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function ym(t){let{name:e,metrics:r}=t,n;return r!=null?n=new xl({name:e,metrics:r}):n=new Map,n}var zo=class{log;components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:transports"),this.components=e,this.started=!1,this.transports=new Map,this.listeners=ym({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??br.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new S("Transport must have a valid tag",F.ERR_INVALID_KEY);if(this.transports.has(r))throw new S(`There is already a transport with the tag ${r}`,F.ERR_DUPLICATE_TRANSPORT);this.log("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(this.log("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),this.log("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new S(`No transport available for address ${String(e)}`,F.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=F.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(!this.isStarted())throw new S("Not started",F.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){this.log("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let s=i.filter(e),o=[];for(let u of s){this.log("creating listener for %s on %a",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n)??[];f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}),l.addEventListener("close",()=>{let d=f.findIndex(p=>p===l);f.splice(d,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==br.NO_FATAL)throw new S(`Transport (${n}) could not listen on any available address`,F.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===br.FATAL_ALL)throw new S(n,F.ERR_NO_VALID_ADDRESSES);this.log(`libp2p in dial mode only: ${n}`)}}async remove(e){let r=this.listeners.get(e)??[];this.log.trace("removing transport %s",e);let n=[];for(this.log.trace("closing listeners for %s",e);r.length>0;){let i=r.pop();i!=null&&n.push(i.close())}await Promise.all(n),this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var Xe="/multistream/1.0.0";var Ho=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 Ho(r?.errorMessage,r?.errorCode));let n,i=new Ho(r?.errorMessage,r?.errorCode);try{return await Promise.race([t,new Promise((s,o)=>{n=()=>{o(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var bl=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Ae(),this.haveNext=Ae()}[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=Ae(),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=Ae(),await Go(this.needNext.promise,r?.signal,r)}};function xm(){return new bl}var Wo=class extends Error{code;constructor(e,r){super(e),this.code=r}},wl=class extends Wo{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function bm(t,e){let r=xm();t.sink(r).catch(async o=>{await r.end(o)}),t.sink=async o=>{for await(let a of o)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 qe;return{read:async(o,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((l,f)=>{c=()=>{f(new wl("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(o==null){let{done:f,value:d}=await Promise.race([n.next(),u]);return f===!0?new qe:d}for(;i.byteLength<o;){let{value:f,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new Wo("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(f)}let l=i.sublist(0,o);return i.consume(o),l}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(o,a)=>{a?.signal?.throwIfAborted(),o instanceof Uint8Array?await r.push(o,a):await r.push(o.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let o=t.source;t.source=async function*(){e?.yieldBytes===!1?yield i:yield*i,yield*o}()}return t}}}function wm(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Em(t=0){return globalThis.Buffer?.allocUnsafe!=null?wm(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Yo(t){return t[Symbol.asyncIterator]!=null}var Qo=t=>{let e=tt(t),r=Em(e);return lt(t,r),Qo.bytes=e,r};Qo.bytes=0;function pn(t,e){e=e??{};let r=e.lengthEncoder??Qo;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return Yo(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}pn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Qo;return new qe(r(t.byteLength),t)};var si=we(Lu(),1);var GE=8,WE=1024*1024*4,mn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(mn||(mn={}));var vl=t=>{let e=kt(t);return vl.bytes=tt(e),e};vl.bytes=0;function El(t,e){let r=new qe,n=mn.LENGTH,i=-1,s=e?.lengthDecoder??vl,o=e?.maxLengthLength??GE,a=e?.maxDataLength??WE;function*c(){for(;r.byteLength>0;){if(n===mn.LENGTH)try{if(i=s(r),i<0)throw(0,si.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,si.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=mn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,si.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===mn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=mn.LENGTH}}}return Yo(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,si.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,si.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}El.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return El(n,{...e??{},onLength:s=>{r=s}})};var Xo=class extends Error{code;constructor(e,r){super(e),this.code=r}},vm=t=>kt(t);vm.bytes=0;function Qi(t,e={}){let r=bm(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=tt(e.maxDataLength)),{read:async i=>{let s=-1,o=new qe,a=e?.lengthDecoder??vm;for(;;){o.append(await r.read(1,i));try{s=a(o)}catch(c){if(c instanceof RangeError)continue;throw c}if(e?.maxLengthLength!=null&&o.byteLength>e.maxLengthLength)throw new Xo("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(s>-1)break}if(e?.maxDataLength!=null&&s>e.maxDataLength)throw new Xo("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(s,i)},write:async(i,s)=>{await r.write(pn.single(i,e),s)},writeV:async(i,s)=>{let o=new qe(...i.map(a=>pn.single(a,e)));await r.write(o,s)},unwrap:()=>r.unwrap()}}var QE=Z(`
49
- `);async function gn(t,e,r){await t.write(e,r)}async function _m(t,e,r){await t.writeV(e,r)}async function XE(t,e){let r=await t.read(e);if(r.byteLength===0||r.get(r.byteLength-1)!==QE[0])throw e.log.error("Invalid mss message - missing newline",r),new S("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return r.sublist(0,-1)}async function kr(t,e){let r=await XE(t,e);return Pe(r.subarray())}async function Xi(t,e,r){if(e=Array.isArray(e)?[...e]:[e],e.length===1)return ZE(t,e[0],r);let n=Qi(t,{...r,maxDataLength:1024}),i=e.shift();if(i==null)throw new Error("At least one protocol must be specified");r.log.trace('select: write ["%s", "%s"]',Xe,i);let s=Z(`${Xe}
50
- `),o=Z(`${i}
51
- `);await _m(n,[s,o],r),r.log.trace("select: reading multistream-select header");let a=await kr(n,r);if(r.log.trace('select: read "%s"',a),a===Xe&&(r.log.trace("select: reading protocol response"),a=await kr(n,r),r.log.trace('select: read "%s"',a)),a===i)return{stream:n.unwrap(),protocol:i};for(let c of e){r.log.trace('select: write "%s"',c),await gn(n,Z(`${c}
52
- `),r),r.log.trace("select: reading protocol response");let u=await kr(n,r);if(r.log.trace('select: read "%s" for "%s"',u,c),u===c)return{stream:n.unwrap(),protocol:c}}throw new S("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}function ZE(t,e,r){let n=t.sink.bind(t),i=t.source,s=!1,o=!1,a=Ae(),c=!1,u=!1,l=Ae(),f=!1,d=!1,p=Ae(),h=Qi({sink:n,source:i},{...r,maxDataLength:1024});t.sink=async x=>{let{sink:b}=h.unwrap();await b(async function*(){let I=!1;for await(let v of x){if(u&&await l.promise,c)yield v;else{u=!0,r.log.trace('optimistic: write ["%s", "%s", data(%d)] in sink',Xe,e,v.byteLength);let _=`${e}
53
- `;yield new qe(Uint8Array.from([19]),Z(`${Xe}
54
- `),lt(_.length),Z(_),v).subarray(),r.log.trace('optimistic: wrote ["%s", "%s", data(%d)] in sink',Xe,e,v.byteLength),c=!0,u=!1,l.resolve(),m().catch(D=>{r.log.error("could not finish optimistic protocol negotiation of %s",e,D)})}I=!0}I||await m()}())};async function m(){if(o){r.log.trace("optimistic: already negotiating %s stream",e),await a.promise;return}o=!0;try{c||(r.log.trace("optimistic: doing send protocol for %s stream",e),await g()),f||(r.log.trace("optimistic: doing read protocol for %s stream",e),await y())}finally{o=!1,s=!0,a.resolve()}}async function g(){if(u){await l.promise;return}u=!0;try{r.log.trace('optimistic: write ["%s", "%s", data] in source',Xe,e),await h.writeV([Z(`${Xe}
55
- `),Z(`${e}
56
- `)]),r.log.trace('optimistic: wrote ["%s", "%s", data] in source',Xe,e)}finally{c=!0,u=!1,l.resolve()}}async function y(){if(d){await p.promise;return}d=!0;try{r.log.trace("optimistic: reading multistream select header");let x=await kr(h,r);if(r.log.trace('optimistic: read multistream select header "%s"',x),x===Xe&&(x=await kr(h,r)),r.log.trace('optimistic: read protocol "%s", expecting "%s"',x,e),x!==e)throw new S("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}finally{f=!0,d=!1,p.resolve()}}if(t.source=async function*(){await m(),r.log.trace('optimistic: reading data from "%s" stream',e),yield*h.unwrap().source}(),t.closeRead!=null){let x=t.closeRead.bind(t);t.closeRead=async b=>{s||await m().catch(I=>{r.log.error("could not negotiate protocol before close read",I)}),await x(b)}}if(t.closeWrite!=null){let x=t.closeWrite.bind(t);t.closeWrite=async b=>{s||await m().catch(I=>{r.log.error("could not negotiate protocol before close write",I)}),await x(b)}}if(t.close!=null){let x=t.close.bind(t);t.close=async b=>{let I=[];u&&I.push(l.promise),d&&I.push(p.promise),I.length>0?await Go(Promise.all(I),b?.signal):(s=!0,o=!1,a.resolve()),await x(b)}}return{stream:t,protocol:e}}async function Zi(t,e,r){e=Array.isArray(e)?e:[e],r.log.trace("handle: available protocols %s",e);let n=Qi(t,{...r,maxDataLength:1024,maxLengthLength:2});for(;;){r.log.trace("handle: reading incoming string");let i=await kr(n,r);if(r.log.trace('handle: read "%s"',i),i===Xe){r.log.trace('handle: respond with "%s" for "%s"',Xe,i),await gn(n,Z(`${Xe}
57
- `),r),r.log.trace('handle: responded with "%s" for "%s"',Xe,i);continue}if(e.includes(i))return r.log.trace('handle: respond with "%s" for "%s"',i,i),await gn(n,Z(`${i}
58
- `),r),r.log.trace('handle: responded with "%s" for "%s"',i,i),{stream:n.unwrap(),protocol:i};if(i==="ls"){let s=new qe(...e.map(o=>pn.single(Z(`${o}
59
- `))),Z(`
60
- `));r.log.trace('handle: respond with "%s" for %s',e,i),await gn(n,s,r),r.log.trace('handle: responded with "%s" for %s',e,i);continue}r.log('handle: respond with "na" for "%s"',i),await gn(n,Z(`na
61
- `),r),r.log('handle: responded with "na" for "%s"',i)}}var JE=500,_l=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;log;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,abort:o,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this.log=e.logger.forComponent(`libp2p:connection:${this.direction}:${this.id}`),this.remoteAddr.getPeerId()==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),this._newStream=i,this._close=s,this._abort=o,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[Zf]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new S("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new S("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new S("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,r);return n.direction="outbound",n}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){if(this.log("closing connection to %a",this.remoteAddr),this.status="closing",e.signal==null){let r=AbortSignal.timeout(JE);ht(1/0,r),e={...e,signal:r}}try{this.log.trace("closing all streams"),await Promise.all(this.streams.map(async r=>r.close(e))),this.log.trace("closing underlying transport"),await this._close(e),this.log.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(r){this.log.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){this.log.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),this.log.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function Am(t){return new _l(t)}var tv=3e4;function rv(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return gl}function nv(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??yl}function Im(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var jo=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new S(`The multiaddr connection is blocked by gater.${n}`,F.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new S("connection denied",F.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),l=()=>{e.abort(new S("inbound upgrade timeout",ys))};u.addEventListener("abort",l,{once:!0}),ht(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new S("The multiaddr connection is blocked by gater.acceptConnection",F.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(e.log("protecting the inbound connection"),f=await d.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let d={...f,...i};await this.shouldBlockConnection(s,d,"denyInboundEncryptedConnection")}else{let d=e.remoteAddr.getPeerId();if(d==null)throw new S("inbound connection that skipped encryption must have a peer id",F.ERR_INVALID_MULTIADDR);let p=oe(d);c="native",s=p}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,o=d.stream}}catch(d){throw e.log.error("failed to upgrade inbound connection",d),d}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),e.log("successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s,transient:r?.transient})}finally{u.removeEventListener("abort",l),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=oe(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new S("Encryption was skipped but no peer id was passed",F.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw e.log.error("failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),e.log("successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o,transient:r?.transient})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a,transient:c}=e,u,l,f;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:h=>{f!=null&&Promise.resolve().then(async()=>{let m=this.components.registrar.getProtocols(),{stream:g,protocol:y}=await Zi(h,m,{log:h.log,yieldBytes:!1});if(f==null)return;f.log("incoming stream opened on %s",y);let x=rv(y,this.components.registrar);if(Im(y,"inbound",f)===x){let I=new S(`Too many inbound protocol streams for protocol "${y}" - limit ${x}`,F.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw h.abort(I),I}h.source=g.source,h.sink=g.sink,h.protocol=y,g.closeWrite!=null&&(h.closeWrite=g.closeWrite),g.closeRead!=null&&(h.closeRead=g.closeRead),g.close!=null&&(h.close=g.close),await this.components.peerStore.merge(o,{protocols:[y]}),this.components.metrics?.trackProtocolStream(h,f),this._onStream({connection:f,stream:h,protocol:y})}).catch(async m=>{f.log.error("error handling incoming stream id %s",h.id,m.message,m.code,m.stack),h.timeline.close==null&&await h.close()})}}),l=async(h,m={})=>{if(u==null)throw new S("Stream is not multiplexed",F.ERR_MUXER_UNAVAILABLE);f.log("starting new stream for protocols %s",h);let g=await u.newStream();f.log.trace("started new stream %s for protocols %s",g.id,h);try{if(m.signal==null){g.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h);let v=AbortSignal.timeout(tv);ht(1/0,v),m={...m,signal:v}}g.log.trace("selecting protocol from protocols %s",h);let{stream:y,protocol:x}=await Xi(g,h,{...m,log:g.log,yieldBytes:!0});g.log("selected protocol %s",x);let b=nv(x,this.components.registrar,m);if(Im(x,"outbound",f)>=b){let v=new S(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,F.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw g.abort(v),v}return await this.components.peerStore.merge(o,{protocols:[x]}),g.source=y.source,g.sink=y.sink,g.protocol=x,y.closeWrite!=null&&(g.closeWrite=y.closeWrite),y.closeRead!=null&&(g.closeRead=y.closeRead),y.close!=null&&(g.close=y.close),this.components.metrics?.trackProtocolStream(g,f),g}catch(y){throw f.log.error("could not create new stream for protocols %s",h,y),g.timeline.close==null&&g.abort(y),y.code!=null?y:new S(String(y),F.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.sink(u.source)]).catch(h=>{f.log.error("error piping data through muxer",h)}));let d=i.timeline;i.timeline=new Proxy(d,{set:(...h)=>(f!=null&&h[1]==="close"&&h[2]!=null&&d.close==null&&(async()=>{try{f.status==="open"&&await f.close()}catch(m){f.log.error("error closing connection after timeline close",m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{f.log.error("error thrown while dispatching connection:close event",m)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let p=()=>{throw new S("connection is not multiplexed",F.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=Am({remoteAddr:i.remoteAddr,remotePeer:o,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,logger:this.components.logger,newStream:l??p,getStreams:()=>u!=null?u.streams:[],close:async h=>{u!=null&&(f.log.trace("close muxer"),await u.close(h)),f.log.trace("close maconn"),await i.close(h),f.log.trace("closed maconn")},abort:h=>{i.abort(h),u?.abort(h)}}),this.events.safeDispatchEvent("connection:open",{detail:f}),f}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:s,options:o}=this.components.registrar.getHandler(i);if(r.transient&&o.runOnTransientConnection!==!0)throw new S("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());e.log("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Zi(e,r,{log:e.log}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return e.log("encrypting inbound connection using",i),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw e.log.error("encrypting inbound connection to %p failed",n),new S(n.message,F.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());e.log("selecting outbound crypto protocol",n);try{e.log.trace("selecting encrypter from %s",n);let{stream:i,protocol:s}=await Xi(e,n,{log:e.log,yieldBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return e.log("encrypting outbound connection to %p using %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw e.log.error("encrypting outbound connection to %p failed",i),new S(i.message,F.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());e.log("outbound selecting muxer %s",n);try{e.log.trace("selecting stream muxer from %s",n);let{stream:i,protocol:s}=await Xi(e,n,{log:e.log,yieldBytes:!0});e.log("selected %s as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw e.log.error("error multiplexing outbound connection",i),new S(String(i),F.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());e.log("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Zi(e,n,{log:e.log}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw e.log.error("error multiplexing inbound connection",i),new S(String(i),F.ERR_MUXER_UNAVAILABLE)}}};var Rm="1.0.11",Cm="libp2p";var Sl=class extends pi{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let r=new pi,n=r.dispatchEvent.bind(r);r.dispatchEvent=a=>{let c=n(a),u=this.dispatchEvent(new Ca(a.type,{detail:a.detail}));return c||u},ht(1/0,r),this.peerId=e.peerId,this.logger=e.logger??$s(),this.log=this.logger.forComponent("libp2p"),this.services={};let i=this.components=Od({peerId:e.peerId,nodeInfo:e.nodeInfo??{name:Cm,version:Rm},logger:this.logger,events:r,datastore:e.datastore??new fo,connectionGater:Gd(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new uo(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",a=>{if(a.detail.previous==null){let c={id:a.detail.peer.id,multiaddrs:a.detail.peer.addresses.map(u=>u.multiaddr)};i.events.safeDispatchEvent("peer:discovery",{detail:c})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new jo(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((a,c)=>this.configureComponent(`connection-encryption-${c}`,a(this.components))),muxers:(e.streamMuxers??[]).map((a,c)=>this.configureComponent(`stream-muxers-${c}`,a(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new zo(this.components,e.transportManager)),this.configureComponent("connectionManager",new Uo(this.components,e.connectionManager)),this.configureComponent("registrar",new $o(this.components)),this.configureComponent("addressManager",new ho(this.components,e.addresses));let s=(e.peerRouters??[]).map((a,c)=>this.configureComponent(`peer-router-${c}`,a(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Vo(this.components,{routers:s}));let o=(e.contentRouters??[]).map((a,c)=>this.configureComponent(`content-router-${c}`,a(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new qo(this.components,{routers:o})),(e.peerDiscovery??[]).forEach((a,c)=>{this.configureComponent(`peer-discovery-${c}`,a(this.components)).addEventListener("peer",l=>{this.#e(l)})}),e.transports?.forEach((a,c)=>{this.components.transportManager.add(this.configureComponent(`transport-${c}`,a(this.components)))}),e.services!=null)for(let a of Object.keys(e.services)){let c=e.services[a],u=c(this.components);if(u==null){this.log.error("service factory %s returned null or undefined instance",a);continue}this.services[a]=u,this.configureComponent(a,u),u[va]!=null&&(this.log("registering service %s for content routing",a),o.push(u[va])),u[Aa]!=null&&(this.log("registering service %s for peer routing",a),s.push(u[Aa])),u[_a]!=null&&(this.log("registering service %s for peer discovery",a),u[_a].addEventListener?.("peer",l=>{this.#e(l)}))}}configureComponent(e,r){return r==null&&this.log.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started")}catch(e){throw this.log.error("An error occurred starting libp2p",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new _t;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,{priority:75,...r})}async dialProtocol(e,r,n={}){if(r==null)throw new S("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new S("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,r={}){Br(e)&&(e=oe(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=tr([Z("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return Li(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#e(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){this.log.error(new Error(F.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs}).catch(n=>{this.log.error(n)})}};async function Tm(t={}){return t.peerId??=await zh(),new Sl(yp(t))}async function sv(t={}){let e=await Tm(t);return t.start!==!1&&await e.start(),e}return $m(ov);})();
48
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),NL=new RegExp(`(?:^${$t}$)|(?:^${Hc}$)`),PL=new RegExp(`^${$t}$`),OL=new RegExp(`^${Hc}$`),np=t=>t&&t.exact?NL:new RegExp(`(?:${dn(t)}${$t}${dn(t)})|(?:${dn(t)}${Hc}${dn(t)})`,"g");np.v4=t=>t&&t.exact?PL:new RegExp(`${dn(t)}${$t}${dn(t)}`,"g");np.v6=t=>t&&t.exact?OL:new RegExp(`${dn(t)}${Hc}${dn(t)}`,"g");var g2=np;var E2=we(b2(),1),{isValid:kL,parse:UL}=E2.default,ML=["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"],FL=ML.map(t=>new v2.Netmask(t));function KL(t){for(let e of FL)if(e.contains(t))return!0;return!1}function w2(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 A2=t=>{if(kL(t)){let e=UL(t);if(e.kind()==="ipv4")return KL(e.toNormalizedString());if(e.kind()==="ipv6")return w2(t)}else if(so(t)&&g2.v6().test(t))return w2(t)};var Wc=A2;function S2(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!Wc(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}function VL(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 h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var qL=VL,zL=qL,C2=zL;var BQ=new Uint8Array(0);var I2=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 ip=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")}},op=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 _2(this,e)}},sp=class{constructor(e){this.decoders=e}or(e){return _2(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`)}},_2=(t,e)=>new sp({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),ap=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ip(e,r,n),this.decoder=new op(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},T2=({name:t,prefix:e,encode:r,decode:n})=>new ap(t,e,r,n),cp=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=C2(r,e);return T2({prefix:t,name:e,encode:n,decode:o=>I2(i(o))})},$L=(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 h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,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},HL=(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},Ws=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>T2({prefix:e,name:t,encode(i){return HL(i,n,r)},decode(i){return $L(i,n,r,t)}});var R2=cp({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),kQ=cp({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var FQ=Ws({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),KQ=Ws({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),B2=Ws({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),VQ=Ws({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var GL=t=>t.toString().split("/").slice(1),Ys=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),Ne=t=>({match:e=>Ys(r=>r===t).match(e),pattern:t}),Xc=()=>({match:t=>Ys(e=>typeof e=="string").match(t),pattern:"{string}"}),D2=()=>({match:t=>Ys(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),Nt=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{R2.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),Yc=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{B2.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),ur=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),fr=(...t)=>({match:e=>{let r;for(let n of t){let i=n.match(e);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${t.map(e=>e.pattern).join(", ")})`}),Pe=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e},pattern:`and(${t.map(e=>e.pattern).join(", ")})`});function Ve(...t){function e(i){let o=GL(i);for(let s of t){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return e(i)!==!1}function n(i){let o=e(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var fp=Pe(Ne("dns4"),Xc()),lp=Pe(Ne("dns6"),Xc()),hp=Pe(Ne("dnsaddr"),Xc()),L2=Pe(Ne("dns"),Xc()),WQ=Ve(fp),YQ=Ve(lp),QQ=Ve(hp),XQ=Ve(fr(L2,hp,fp,lp)),N2=Pe(Ne("ip4"),Ys(bc)),P2=Pe(Ne("ip6"),Ys(wc)),O2=fr(N2,P2),Qs=fr(O2,L2,fp,lp,hp),jQ=Ve(Qs),JQ=Ve(N2),ZQ=Ve(P2),eX=Ve(O2),jc=Pe(Qs,Ne("tcp"),D2()),Xs=Pe(Qs,Ne("udp"),D2()),WL=fr(jc,Xs),tX=Ve(jc),rX=Ve(Xs),dp=Pe(Xs,Ne("quic")),Jc=Pe(Xs,Ne("quic-v1")),YL=fr(dp,Jc),nX=Ve(dp),iX=Ve(Jc),up=fr(Qs,jc,Xs,dp,Jc),k2=fr(Pe(up,Ne("ws"),ur(Nt()))),oX=Ve(k2),U2=fr(Pe(up,Ne("wss"),ur(Nt())),Pe(up,Ne("tls"),Ne("ws"),ur(Nt()))),sX=Ve(U2),M2=Pe(WL,Ne("webrtc-direct"),Yc(),ur(Yc()),ur(Nt())),aX=Ve(M2),F2=Pe(Jc,Ne("webtransport"),Yc(),Yc(),ur(Nt())),cX=Ve(F2),Qc=fr(k2,U2,Pe(jc,ur(Nt())),Pe(YL,ur(Nt())),Pe(Qs,ur(Nt())),M2,F2,Nt()),uX=Ve(Qc),QL=Pe(Qc,Ne("p2p-circuit"),Nt()),pp=Ve(QL),XL=fr(Pe(Qc,Ne("p2p-circuit"),Ne("webrtc"),Nt()),Pe(Qc,Ne("webrtc"),ur(Nt())),Ne("webrtc")),fX=Ve(XL);function mp(t){try{let{address:e}=t.nodeAddress();return!!Wc(e)}catch{return!0}}function jL(t,e){let r=mp(t.multiaddr),n=mp(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function JL(t,e){return t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function ZL(t,e){let r=pp.exactMatch(t.multiaddr),n=pp.exactMatch(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function So(t,e){let r=jL(t,e);if(r!==0)return r;let n=ZL(t,e);return n!==0?n:JL(t,e)}var gp=we(sh(),1),xp=we(q2(),1);function Zc(t,e,r){return`${t}?name=${e}&type=${r}`}async function z2(t,e){return await(await fetch(t,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function ei(t,e){return`${e}_${t}`}var yp=Object.assign((0,gp.default)("dns-over-http-resolver"),{error:(0,gp.default)("dns-over-http-resolver:error")}),bp=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new xp.default({max:e?.maxCache??100}),this._TXTcache=new xp.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??z2,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(ei(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(Zc(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(ei(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),yp.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(ei(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(Zc(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(ei(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),yp.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(ei(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(Zc(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(ei(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),yp.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()}},$2=bp;var H2=$2;var{code:iN}=ue("dnsaddr");async function Co(t,e={}){let r=new H2;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===iN)??[];if(i==null)throw new Error("No hostname found in multiaddr");let s=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(s=s.filter(a=>a.includes(n))),s}var ev=we(Z2(),1),ru=ev.default;var Mr;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(Mr||(Mr={}));var V;(function(t){t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(V||(V={}));var fN={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Co},addressSorter:So},transportManager:{faultTolerance:$r.FATAL_ALL}};function tv(t){let e=ru(fN,t);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new _(Mr.ERR_PROTECTOR_REQUIRED,V.ERR_PROTECTOR_REQUIRED);return e}var rE=we(jv(),1);function ou(t){if(Ta(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:se(r),t.forEach(n=>{if(!cn(n))throw new _("Invalid Multiaddr",V.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new _("Multiaddrs must all have the same peer id or have no peer id",V.ERR_INVALID_PARAMETERS)}else{let o=se(i);if(e==null||!e.equals(o))throw new _("Multiaddrs must all have the same peer id or have no peer id",V.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function De(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}function Up(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 Js=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=Up(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 Zs=class extends Wn.default{#e;#i;#o=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#f;#s;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Js,...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.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#s=e.autoStart===!1}get#b(){return this.#i||this.#o<this.#a}get#w(){return this.#n<this.#f}#v(){this.#n--,this.#l(),this.emit("next")}#E(){this.#x(),this.#g(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#o=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#o===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#o=this.#e?this.#n: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#S(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.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#o++;try{r.signal?.throwIfAborted();let o=e({signal:r.signal});r.timeout&&(o=Pr(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#S(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof Nr&&!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.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.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.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#s}};function jN(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 Mp=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new _("missing peer id",uf);let o={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(o);return}let s=jN(this.#e,o,(a,c)=>c.priority-a.priority);this.#e.splice(s,0,o)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},su=class extends Zs{results;constructor(e={}){super({...e,queueClass:Mp}),this.results=new ot}hasJob(e){return this.sizeBy({peerId:e})>0}async joinJob(e){let r=this.results.get(e);if(r==null)throw new _("No job found for peer id","ERR_NO_JOB_FOR_PEER_ID");return r===!0&&(r=De(),this.results.set(e,r)),r.promise}async add(e,r){let n=r?.peerId;if(n==null)throw new _("missing peer id",uf);return this.results.set(r.peerId,!0),super.add(async i=>{try{let o=await e(i),s=this.results.get(n);return s!=null&&s!==!0&&s.resolve(o),o}catch(o){let s=this.results.get(n);throw s!=null&&s!==!0&&s.reject(o),o}finally{this.results.delete(n)}},r)}clear(){this.results.clear(),super.clear()}};function Jv(t,e="utf8"){let r=qc[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 au="last-dial-failure";var cu=5,uu=100,fu=50,Zv=1e3*60*7;var ri={minConnections:cu,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:Zv,autoDialDiscoveredPeersDebounce:10},lu=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;log;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??ri.minConnections,this.autoDialPriority=r.autoDialPriority??ri.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??ri.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??ri.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??ri.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??ri.autoDialDiscoveredPeersDebounce,this.log=e.logger.forComponent("libp2p:connection-manager:auto-dial"),this.started=!1,this.running=!1,this.queue=new su({concurrency:r.autoDialConcurrency??ri.autoDialConcurrency}),this.queue.addListener("error",i=>{this.log.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{this.log.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{this.log.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.started=!0}afterStart(){this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started||this.running)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&this.log.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){this.log("not enough connections %d/%d but auto dial queue is full",r,this.minConnections),this.sheduleNextAutodial();return}this.running=!0,this.log("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new Dt(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(this.log.trace("not autodialing %p because they have no addresses",u.id),!1):e.has(u.id)?(this.log.trace("not autodialing %p because they are already connected",u.id),!1):n.has(u.id)?(this.log.trace("not autodialing %p because they are already being dialed",u.id),!1):this.queue.hasJob(u.id)?(this.log.trace("not autodialing %p because they are already being autodialed",u.id),!1):!0]}),o=i.sort(()=>Math.random()>.5?1:-1),s=new ot;for(let u of o)s.has(u.id)||s.set(u.id,[...u.tags.values()].reduce((f,h)=>f+h.value,0));let c=o.sort((u,f)=>{let h=s.get(u.id)??0,p=s.get(f.id)??0;return h>p?-1:h<p?1:0}).filter(u=>{let f=u.metadata.get(au);if(f==null)return!0;let h=parseInt(Jv(f));return isNaN(h)?!0:Date.now()-h>this.autoDialPeerRetryThresholdMs});this.log("selected %d/%d peers to dial",c.length,i.length);for(let u of c)this.queue.add(async()=>{let f=this.connectionManager.getConnectionsMap().size;if(f>=this.minConnections){this.log("got enough connections now %d/%d",f,this.minConnections),this.queue.clear();return}this.log("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(f=>{this.log.error("could not connect to peerStore stored peer",f)});this.running=!1,this.sheduleNextAutodial()}sheduleNextAutodial(){this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})},this.autoDialIntervalMs))}};var eE={maxConnections:uu,allow:[]},hu=class{maxConnections;connectionManager;peerStore;allow;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??eE.maxConnections,this.allow=r.allow??eE.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager:connection-pruner"),e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{this.log.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(this.log("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;this.log("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new ot;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((f,h)=>f+h.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&this.log.error("error loading peer tags",u)}}}let o=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,f=i.get(c.remotePeer)??0;if(u>f)return 1;if(u<f)return-1;let h=a.timeline.open,p=c.timeline.open;return h<p?1:h>p?-1:0}),s=[];for(let a of o)if(this.log("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||s.push(a),s.length===n)break;await Promise.all(s.map(async a=>{try{await a.close()}catch(c){this.log.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};function du(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}function qp(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 ea=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=qp(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 Do=class extends Wn.default{#e;#i;#o=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#f;#s;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:ea,...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.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#s=e.autoStart===!1}get#b(){return this.#i||this.#o<this.#a}get#w(){return this.#n<this.#f}#v(){this.#n--,this.#l(),this.emit("next")}#E(){this.#x(),this.#g(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#o=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#o===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#o=this.#e?this.#n: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#S(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.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#o++;try{r.signal?.throwIfAborted();let o=e({signal:r.signal});r.timeout&&(o=Pr(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#S(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof Nr&&!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.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.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.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#s}};async function zp(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await eP(t,e),s=(await Promise.all(n.map(async a=>zp(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return e.log("resolved %s to",t,s.map(a=>a.toString())),s}async function eP(t,e){try{return t=Ke(t.toString()),await t.resolve(e)}catch(r){return e.log.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function tE(...t){let e=[];for(let n of t)n!=null&&(wt(1/0,n),e.push(n));let r=du(e);return wt(1/0,r),r}var pu={addressSorter:So,maxParallelDials:fu,maxPeerAddrsToDial:25,dialTimeout:3e4,resolvers:{dnsaddr:Co}},mu=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;connections;log;constructor(e,r={}){this.addressSorter=r.addressSorter??pu.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??pu.maxPeerAddrsToDial,this.dialTimeout=r.dialTimeout??pu.dialTimeout,this.connections=r.connections??new ot,this.log=e.logger.forComponent("libp2p:connection-manager:dial-queue"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,wt(1/0,this.shutDownController.signal),this.pendingDialCount=e.metrics?.registerMetric("libp2p_dial_queue_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dial_queue_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))Ec.set(n,i);this.queue=new Do({concurrency:r.maxParallelDials??pu.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{this.log.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}start(){this.shutDownController=new AbortController}stop(){this.shutDownController.abort(),this.queue.clear()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=ou(e),o=i.map(p=>({multiaddr:p,isCertified:!1})),s=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,o,{...r,signal:s})}catch(p){throw s.clear(),p}let c=Array.from(this.connections.values()).flat().find(p=>r.force===!0?!1:a.find(y=>y.multiaddr.equals(p.remoteAddr)));if(c!=null)return this.log("already connected to %a",c.remoteAddr),c;let u=this.pendingDials.find(p=>!!(p.peerId!=null&&n!=null&&p.peerId.equals(n)||a.map(({multiaddr:y})=>y.toString()).join()===p.multiaddrs.map(y=>y.toString()).join()));if(u!=null)return this.log("joining existing dial target for %p",n),s.clear(),u.promise;this.log("creating dial target for",a.map(({multiaddr:p})=>p.toString()));let f={id:tP(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:p})=>p)};f.promise=this.performDial(f,{...r,signal:s}).finally(()=>{this.pendingDials=this.pendingDials.filter(p=>p.id!==f.id),s.clear()}).catch(async p=>{if(this.log.error("dial failed to %s",f.multiaddrs.map(y=>y.toString()).join(", "),p),n!=null)try{await this.peerStore.patch(n,{metadata:{[au]:zc(Date.now().toString())}})}catch(y){this.log.error("could not update last dial failure key for %p",n,y)}throw s.aborted?new _(p.message,Ra):p}),this.pendingDials.push(f);let h=await f.promise;return c=Array.from(this.connections.values()).flat().find(p=>r.force===!0?!1:p.id!==h.id&&p.remoteAddr.equals(h.remoteAddr)),c!=null?(this.log("already connected to %a",c.remoteAddr),await h.close(),c):(this.log("connection opened to %a",h.remoteAddr),h)}createDialAbortControllers(e){let r=du([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);return wt(1/0,r),r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new _("Tried to dial self",V.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new _("The dial request is blocked by gater.allowDialPeer",V.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){this.log("loading multiaddrs for %p",e);try{let f=await this.peerStore.get(e);r.push(...f.addresses),this.log("loaded multiaddrs for %p",e,r.map(({multiaddr:h})=>h.toString()))}catch(f){if(f.code!==V.ERR_NOT_FOUND)throw f}}}let i=(await Promise.all(r.map(async f=>{let h=await zp(f.multiaddr,{...n,log:this.log});return h.length===1&&h[0].equals(f.multiaddr)?f:h.map(p=>({multiaddr:p,isCertified:!1}))}))).flat();if(e!=null){let f=`/p2p/${e.toString()}`;i=i.map(h=>h.multiaddr.protos().pop()?.path===!0?h:h.multiaddr.getPeerId()==null?{multiaddr:h.multiaddr.encapsulate(f),isCertified:h.isCertified}:h)}let o=i.filter(f=>{if(this.transportManager.transportForMultiaddr(f.multiaddr)==null)return!1;let h=f.multiaddr.getPeerId();return e!=null&&h!=null?e.equals(h):!0}),s=new Map;for(let f of o){let h=f.multiaddr.toString(),p=s.get(h);if(p!=null){p.isCertified=p.isCertified||f.isCertified||!1;continue}s.set(h,f)}let a=[...s.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(this.log("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:f})=>f.toString())),this.log("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:f})=>f.toString()))),a.length===0)throw new _("The dial request has no valid addresses",V.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new _("dial with more addresses than allowed",V.ERR_TOO_MANY_ADDRESSES);let c=[];for(let f of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(f.multiaddr)||c.push(f);let u=c.sort(this.addressSorter);if(u.length===0)throw new _("The connection gater denied all addresses in the dial request",V.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Do({concurrency:1});i.on("error",s=>{this.log.error("error dialing %s %o",e.multiaddrs,s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new _("dialAction did not come with an AbortController",V.ERR_INVALID_PARAMETERS);let u=tE(c.signal,r.signal);u.addEventListener("abort",()=>{this.log("dial to %a aborted",s)});let f=De();return await i.add(async()=>{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the peer dial queue",s),f.reject(new hi);return}await this.queue.add(async()=>{try{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the dial queue",s),f.reject(new hi);return}e.status="active";let h=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){this.log("multiple dials succeeded, closing superfluous connection"),h.close().catch(p=>{this.log.error("error closing superfluous connection",p)}),f.reject(new hi);return}n[a]=void 0,n.forEach(p=>{p!==void 0&&p.abort()}),this.log("dial to %a succeeded",s),f.resolve(h)}catch(h){this.log.error("error during dial of %a",s,h),f.reject(h)}},{...r,signal:u}).catch(h=>{f.reject(h)})},{signal:u}).catch(h=>{f.reject(h)}).finally(()=>{u.clear()}),f.promise}));if(o==null)throw new _("successful dial led to empty object returned from peer dial queue",V.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",o}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function tP(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var iP=50,ni={minConnections:cu,maxConnections:uu,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},yu=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??ni.maxConnections;let n=r.minConnections??ni.minConnections;if(this.maxConnections<n)throw new _("Connection Manager maxConnections must be greater than minConnections",V.ERR_INVALID_PARAMETERS);this.connections=new ot,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager"),this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>Ke(i)),this.deny=(r.deny??[]).map(i=>Ke(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??ni.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new rE.RateLimiterMemory({points:r.inboundConnectionThreshold??ni.inboundConnectionThreshold,duration:1}),this.autoDial=new lu({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??ni.autoDialConcurrency,autoDialPriority:r.autoDialPriority??ni.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??ni.autoDialMaxQueueLength}),this.connectionPruner=new hu({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new mu({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater,logger:e.logger},{addressSorter:r.addressSorter??So,maxParallelDials:r.maxParallelDials??fu,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Co},connections:this.connections})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let o=`${i.direction} ${i.protocol??"unnegotiated"}`;e[o]=(e[o]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let o={};for(let s of i.streams){let a=`${s.direction} ${s.protocol??"unnegotiated"}`;o[a]=(o[a]??0)+1}for(let[s,a]of Object.entries(o))e[s]=e[s]??[],e[s].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((s,a)=>s-a);let o=Math.floor(i.length*.9);r[n]=i[o]}return r}}),this.dialQueue.start(),this.autoDial.start(),this.started=!0,this.log("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(Xy)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{this.log.error(n)})}))}).catch(e=>{this.log.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){this.log.error(i)}})());this.log("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),this.log("stopped")}onConnect(e){this._onConnect(e).catch(r=>{this.log.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),o=!1;i!=null?i.push(r):(o=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),o&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(o=>o.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new _("Not started",V.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=ou(e);if(n!=null&&r.force!==!0){this.log("dial %p",n);let a=this.getConnections(n).find(c=>!c.transient);if(a!=null)return this.log("had an existing non-transient connection to %p",n),a}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??iP}),o=this.connections.get(i.remotePeer);o==null&&(o=[],this.connections.set(i.remotePeer,o));let s=!1;for(let a of o)a.id===i.id&&(s=!0);return s||o.push(i),i}async closeConnections(e,r={}){let n=this.connections.get(e)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(o){i.abort(o)}}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.log("connection from %a refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return this.log("connection from %a refused - incomingPendingConnections exceeded by host",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return this.log("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(this.log("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var gu=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}},Lo=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new gu(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 gu(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 Gp=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function nE(t={}){return oP(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 oP(t,e){e=e??{};let r=e.onEnd,n=new Lo,i,o,s,a=De(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((m,g)=>{o=x=>{o=null,n.push(x);try{m(t(n))}catch(b){g(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=De()})}},u=m=>o!=null?o(m):(n.push(m),i),f=m=>(n=new Lo,o!=null?o({error:m}):(n.push({error:m}),i)),h=m=>{if(s)return i;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:m})},p=m=>s?i:(s=!0,m!=null?f(m):u({done:!0})),y=()=>(n=new Lo,p(),{done:!0}),l=m=>(p(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:y,throw:l,push:h,end:p,get readableLength(){return n.size},onEmpty:async m=>{let g=m?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,b;g!=null&&(x=new Promise((v,w)=>{b=()=>{w(new Gp)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},r==null)return i;let d=i;return i={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(m){return d.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return d.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(m){return d.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return d.readableLength},onEmpty:m=>d.onEmpty(m)},i}function sP(t){return t[Symbol.asyncIterator]!=null}function aP(...t){let e=[];for(let r of t)sP(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=nE({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 ta=aP;var xu=globalThis.CustomEvent??Event;async function*ra(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=De(),a=De(),c=!1,u,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let l of t){if(o.length===r&&(s=De(),await s.promise),f)break;let d={done:!1};o.push(d),l().then(m=>{d.done=!0,d.ok=!0,d.value=m,i.dispatchEvent(new xu("task-complete"))},m=>{d.done=!0,d.err=m,i.dispatchEvent(new xu("task-complete"))})}c=!0,i.dispatchEvent(new xu("task-complete"))}catch(l){u=l,i.dispatchEvent(new xu("task-complete"))}});function h(){return n?o[0]?.done:!!o.find(l=>l.done)}function*p(){for(;o.length>0&&o[0].done;){let l=o[0];if(o.shift(),l.ok)yield l.value;else throw f=!0,s.resolve(),l.err;s.resolve()}}function*y(){for(;h();)for(let l=0;l<o.length;l++)if(o[l].done){let d=o[l];if(o.splice(l,1),l--,d.ok)yield d.value;else throw f=!0,s.resolve(),d.err;s.resolve()}}for(;;){if(h()||(a=De(),await a.promise),u!=null)throw u;if(n?yield*p():yield*y(),c&&o.length===0)break}}var bu=class{log;routers;started;components;constructor(e,r){this.log=e.logger.forComponent("libp2p:content-routing"),this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new _("No content routers available",V.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new Dt;for await(let o of ra(async function*(){let s=ta(...n.routers.map(a=>a.findProviders(e,r)));for await(let a of s)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.components.peerRouting.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))o!=null&&o.multiaddrs.length!==0&&(await this.components.peerStore.merge(o.id,{multiaddrs:o.multiaddrs}),!i.has(o.id)&&(i.add(o.id),yield o))}async provide(e,r={}){if(this.routers.length===0)throw new _("No content routers available",V.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new _(Mr.NOT_STARTED_YET,V.ERR_NODE_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new _(Mr.NOT_STARTED_YET,V.ERR_NODE_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};var wu=class{log;peerId;peerStore;routers;constructor(e,r){this.log=e.logger.forComponent("libp2p:peer-routing"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new _("No peer routers available",V.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.peerId.toString())throw new _("Should not try to find self",V.ERR_FIND_SELF);let n=this,i=ta(...this.routers.map(o=>async function*(){try{yield await o.findPeer(e,r)}catch(s){n.log.error(s)}}()));for await(let o of i)if(o!=null)return await this.peerStore.merge(o.id,{multiaddrs:o.multiaddrs}),o;throw new _(Mr.NOT_FOUND,V.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){if(this.routers.length===0)throw new _("No peer routers available",V.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new Dt;for await(let o of ra(async function*(){let s=ta(...n.routers.map(a=>a.getClosestPeers(e,r)));for await(let a of s)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))o!=null&&o.multiaddrs.length!==0&&(await this.peerStore.merge(o.id,{multiaddrs:o.multiaddrs}),!i.has(o.id)&&(i.add(o.id),yield o))}};var Wp=32,Yp=64,vu=class{log;topologies;handlers;components;constructor(e){this.log=e.logger.forComponent("libp2p:registrar"),this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onPeerIdentify=this._onPeerIdentify.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate),this.components.events.addEventListener("peer:identify",this._onPeerIdentify)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new _(`No handler registered for protocol ${e}`,V.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new _(`Handler already registered for protocol ${e}`,V.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=ru.bind({ignoreUndefined:!0})({maxInboundStreams:Wp,maxOutboundStreams:Yp},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){(Array.isArray(e)?e:[e]).forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:this.getProtocols()})}async register(e,r){if(r==null)throw new _("invalid topology",V.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect?.(r)}}).catch(n=>{n.code!==V.ERR_NOT_FOUND&&this.log.error("could not inform topologies of disconnecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(o=>!r.protocols.includes(o));for(let o of i){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())a.onDisconnect?.(r.id)}}_onPeerIdentify(e){let r=e.detail.protocols,n=e.detail.connection,i=e.detail.peerId;for(let o of r){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())n.transient&&a.notifyOnTransient!==!0||a.onConnect?.(i,n)}}};var Qp=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function iE(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Qp({name:e,metrics:r}):n=new Map,n}var Eu=class{log;components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:transports"),this.components=e,this.started=!1,this.transports=new Map,this.listeners=iE({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??$r.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new _("Transport must have a valid tag",V.ERR_INVALID_KEY);if(this.transports.has(r))throw new _(`There is already a transport with the tag ${r}`,V.ERR_DUPLICATE_TRANSPORT);this.log("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(this.log("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),this.log("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new _(`No transport available for address ${String(e)}`,V.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=V.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(!this.isStarted())throw new _("Not started",V.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){this.log("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let o=i.filter(e),s=[];for(let u of o){this.log("creating listener for %s on %a",n,u);let f=i.createListener({upgrader:this.components.upgrader}),h=this.listeners.get(n)??[];h==null&&(h=[],this.listeners.set(n,h)),h.push(f),f.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:f})}),f.addEventListener("close",()=>{let p=h.findIndex(y=>y===f);h.splice(p,1),this.components.events.safeDispatchEvent("transport:close",{detail:f})}),s.push(f.listen(u))}if(s.length===0){r.push(n);continue}if((await Promise.allSettled(s)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==$r.NO_FATAL)throw new _(`Transport (${n}) could not listen on any available address`,V.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===$r.FATAL_ALL)throw new _(n,V.ERR_NO_VALID_ADDRESSES);this.log(`libp2p in dial mode only: ${n}`)}}async remove(e){let r=this.listeners.get(e)??[];this.log.trace("removing transport %s",e);let n=[];for(this.log.trace("closing listeners for %s",e);r.length>0;){let i=r.pop();i!=null&&n.push(i.close())}await Promise.all(n),this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var tt="/multistream/1.0.0";var Au=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 Su(t,e,r){if(e==null)return t;if(e.aborted)return Promise.reject(new Au(r?.errorMessage,r?.errorCode));let n,i=new Au(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 Xp=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=De(),this.haveNext=De()}[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=De(),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=De(),await Su(this.needNext.promise,r?.signal,r)}};function oE(){return new Xp}var Cu=class extends Error{code;constructor(e,r){super(e),this.code=r}},jp=class extends Cu{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function sE(t,e){let r=oE();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 He;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,h)=>{c=()=>{h(new jp("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:h,value:p}=await Promise.race([n.next(),u]);return h===!0?new He:p}for(;i.byteLength<s;){let{value:h,done:p}=await Promise.race([n.next(),u]);if(p===!0)throw new Cu("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(h)}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 Iu(t){return t[Symbol.asyncIterator]!=null}var _u=t=>{let e=at(t),r=it(e);return yt(t,r),_u.bytes=e,r};_u.bytes=0;function ii(t,e){e=e??{};let r=e.lengthEncoder??_u;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Iu(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}ii.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??_u;return new He(r(t.byteLength),t)};var No=we(L0(),1);var cP=8,uP=1024*1024*4,oi;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(oi||(oi={}));var Zp=t=>{let e=zt(t);return Zp.bytes=at(e),e};Zp.bytes=0;function Jp(t,e){let r=new He,n=oi.LENGTH,i=-1,o=e?.lengthDecoder??Zp,s=e?.maxLengthLength??cP,a=e?.maxDataLength??uP;function*c(){for(;r.byteLength>0;){if(n===oi.LENGTH)try{if(i=o(r),i<0)throw(0,No.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,No.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=oi.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,No.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===oi.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=oi.LENGTH}}}return Iu(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,No.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,No.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Jp.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 Jp(n,{...e??{},onLength:o=>{r=o}})};var Tu=class extends Error{code;constructor(e,r){super(e),this.code=r}},aE=t=>zt(t);aE.bytes=0;function na(t,e={}){let r=sE(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=at(e.maxDataLength)),{read:async i=>{let o=-1,s=new He,a=e?.lengthDecoder??aE;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 Tu("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(e?.maxDataLength!=null&&o>e.maxDataLength)throw new Tu("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(ii.single(i,e),o)},writeV:async(i,o)=>{let s=new He(...i.map(a=>ii.single(a,e)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Ru(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var im={};R(im,{base10:()=>yP});function lP(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 h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var hP=lP,dP=hP,cE=dP;var _Z=new Uint8Array(0);var uE=(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},Fr=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 fE=t=>new TextEncoder().encode(t),lE=t=>new TextDecoder().decode(t);var em=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")}},tm=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 dE(this,e)}},rm=class{constructor(e){this.decoders=e}or(e){return dE(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`)}},dE=(t,e)=>new rm({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),nm=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new em(e,r,n),this.decoder=new tm(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Po=({name:t,prefix:e,encode:r,decode:n})=>new nm(t,e,r,n),mn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=cE(r,e);return Po({prefix:t,name:e,encode:n,decode:o=>Fr(i(o))})},pP=(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 h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,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},mP=(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},Le=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Po({prefix:e,name:t,encode(i){return mP(i,n,r)},decode(i){return pP(i,n,r,t)}});var yP=mn({prefix:"9",name:"base10",alphabet:"0123456789"});var om={};R(om,{base16:()=>gP,base16upper:()=>xP});var gP=Le({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),xP=Le({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var sm={};R(sm,{base2:()=>bP});var bP=Le({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var am={};R(am,{base256emoji:()=>SP});var pE=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}"),wP=pE.reduce((t,e,r)=>(t[r]=e,t),[]),vP=pE.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function EP(t){return t.reduce((e,r)=>(e+=wP[r],e),"")}function AP(t){let e=[];for(let r of t){let n=vP[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var SP=Po({prefix:"\u{1F680}",name:"base256emoji",encode:EP,decode:AP});var cm={};R(cm,{base32:()=>Oo,base32hex:()=>TP,base32hexpad:()=>BP,base32hexpadupper:()=>DP,base32hexupper:()=>RP,base32pad:()=>IP,base32padupper:()=>_P,base32upper:()=>CP,base32z:()=>LP});var Oo=Le({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),CP=Le({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),IP=Le({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_P=Le({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),TP=Le({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),RP=Le({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),BP=Le({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),DP=Le({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),LP=Le({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var um={};R(um,{base36:()=>NP,base36upper:()=>PP});var NP=mn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),PP=mn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var fm={};R(fm,{base58btc:()=>lr,base58flickr:()=>OP});var lr=mn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),OP=mn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lm={};R(lm,{base64:()=>kP,base64pad:()=>UP,base64url:()=>MP,base64urlpad:()=>FP});var kP=Le({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),UP=Le({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),MP=Le({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),FP=Le({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var hm={};R(hm,{base8:()=>KP});var KP=Le({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var dm={};R(dm,{identity:()=>VP});var VP=Po({prefix:"\0",name:"identity",encode:t=>lE(t),decode:t=>fE(t)});var qZ=new TextEncoder,zZ=new TextDecoder;var mm={};R(mm,{identity:()=>fO});var $P=gE,mE=128,HP=127,GP=~HP,WP=Math.pow(2,31);function gE(t,e,r){e=e||[],r=r||0;for(var n=r;t>=WP;)e[r++]=t&255|mE,t/=128;for(;t&GP;)e[r++]=t&255|mE,t>>>=7;return e[r]=t|0,gE.bytes=r-n+1,e}var YP=pm,QP=128,yE=127;function pm(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw pm.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&yE)<<i:(s&yE)*Math.pow(2,i),i+=7}while(s>=QP);return pm.bytes=o-n,r}var XP=Math.pow(2,7),jP=Math.pow(2,14),JP=Math.pow(2,21),ZP=Math.pow(2,28),eO=Math.pow(2,35),tO=Math.pow(2,42),rO=Math.pow(2,49),nO=Math.pow(2,56),iO=Math.pow(2,63),oO=function(t){return t<XP?1:t<jP?2:t<JP?3:t<ZP?4:t<eO?5:t<tO?6:t<rO?7:t<nO?8:t<iO?9:10},sO={encode:$P,decode:YP,encodingLength:oO},aO=sO,ia=aO;var oa=(t,e=0)=>[ia.decode(t,e),ia.decode.bytes],ko=(t,e,r=0)=>(ia.encode(t,e,r),e),Uo=t=>ia.encodingLength(t);var si=(t,e)=>{let r=e.byteLength,n=Uo(t),i=n+Uo(r),o=new Uint8Array(i+r);return ko(t,o,0),ko(r,o,n),o.set(e,i),new Mo(t,r,e,o)},xE=t=>{let e=Fr(t),[r,n]=oa(e),[i,o]=oa(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Mo(r,i,s,e)},bE=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&uE(t.bytes,r.bytes)}},Mo=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var wE=0,cO="identity",vE=Fr,uO=t=>si(wE,vE(t)),fO={code:wE,name:cO,encode:vE,digest:uO};var xm={};R(xm,{sha256:()=>lO,sha512:()=>hO});var gm=({name:t,code:e,encode:r})=>new ym(t,e,r),ym=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?si(this.code,r):r.then(n=>si(this.code,n))}else throw Error("Unknown type, must be binary type")}};var AE=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),lO=gm({name:"sha2-256",code:18,encode:AE("SHA-256")}),hO=gm({name:"sha2-512",code:19,encode:AE("SHA-512")});var SE=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return pO(r,bm(t),e||lr.encoder);default:return mO(r,bm(t),e||Oo.encoder)}};var CE=new WeakMap,bm=t=>{let e=CE.get(t);if(e==null){let r=new Map;return CE.set(t,r),r}return e},Du=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!==aa)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==yO)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=si(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&&bE(e.multihash,n.multihash)}toString(e){return SE(this,e)}toJSON(){return{"/":SE(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||IE(n,i,o.bytes))}else if(r[gO]===!0){let{version:n,multihash:i,code:o}=r,s=xE(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!==aa)throw new Error(`Version 0 CID must use dag-pb (code: ${aa}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=IE(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,aa,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=Fr(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 Mo(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[h,p]=oa(e.subarray(r));return r+=p,h},i=n(),o=aa;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]=dO(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 bm(o).set(n,e),o}},dO=(t,e)=>{switch(t[0]){case"Q":{let r=e||lr;return[lr.prefix,r.decode(`${lr.prefix}${t}`)]}case lr.prefix:{let r=e||lr;return[lr.prefix,r.decode(t)]}case Oo.prefix:{let r=e||Oo;return[Oo.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)]}}},pO=(t,e,r)=>{let{prefix:n}=r;if(n!==lr.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},mO=(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},aa=112,yO=18,IE=(t,e,r)=>{let n=Uo(t),i=n+Uo(e),o=new Uint8Array(i+r.byteLength);return ko(t,o,0),ko(e,o,n),o.set(r,i),o},gO=Symbol.for("@ipld/js-cid/CID");var wm={...dm,...sm,...hm,...im,...om,...cm,...um,...fm,...lm,...am},oee={...xm,...mm};function _E(t=0){return globalThis.Buffer?.allocUnsafe!=null?Ru(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function RE(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var TE=RE("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),vm=RE("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=_E(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),xO={utf8:TE,"utf-8":TE,hex:wm.base16,latin1:vm,ascii:vm,binary:vm,...wm},Lu=xO;function ut(t,e="utf8"){let r=Lu[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ru(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function BE(t,e="utf8"){let r=Lu[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 bO=ut(`
49
+ `);async function ai(t,e,r){await t.write(e,r)}async function DE(t,e,r){await t.writeV(e,r)}async function wO(t,e){let r=await t.read(e);if(r.byteLength===0||r.get(r.byteLength-1)!==bO[0])throw e.log.error("Invalid mss message - missing newline",r),new _("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return r.sublist(0,-1)}async function yn(t,e){let r=await wO(t,e);return BE(r.subarray())}async function ca(t,e,r){if(e=Array.isArray(e)?[...e]:[e],e.length===1)return vO(t,e[0],r);let n=na(t,{...r,maxDataLength:1024}),i=e.shift();if(i==null)throw new Error("At least one protocol must be specified");r.log.trace('select: write ["%s", "%s"]',tt,i);let o=ut(`${tt}
50
+ `),s=ut(`${i}
51
+ `);await DE(n,[o,s],r),r.log.trace("select: reading multistream-select header");let a=await yn(n,r);if(r.log.trace('select: read "%s"',a),a===tt&&(r.log.trace("select: reading protocol response"),a=await yn(n,r),r.log.trace('select: read "%s"',a)),a===i)return{stream:n.unwrap(),protocol:i};for(let c of e){r.log.trace('select: write "%s"',c),await ai(n,ut(`${c}
52
+ `),r),r.log.trace("select: reading protocol response");let u=await yn(n,r);if(r.log.trace('select: read "%s" for "%s"',u,c),u===c)return{stream:n.unwrap(),protocol:c}}throw new _("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}function vO(t,e,r){let n=t.sink.bind(t),i=t.source,o=!1,s=!1,a=De(),c=!1,u=!1,f=De(),h=!1,p=!1,y=De(),l=na({sink:n,source:i},{...r,maxDataLength:1024});t.sink=async x=>{let{sink:b}=l.unwrap();await b(async function*(){let v=!1;for await(let w of x){if(u&&await f.promise,c)yield w;else{u=!0,r.log.trace('optimistic: write ["%s", "%s", data(%d)] in sink',tt,e,w.byteLength);let E=`${e}
53
+ `;yield new He(Uint8Array.from([19]),ut(`${tt}
54
+ `),yt(E.length),ut(E),w).subarray(),r.log.trace('optimistic: wrote ["%s", "%s", data(%d)] in sink',tt,e,w.byteLength),c=!0,u=!1,f.resolve(),d().catch(A=>{r.log.error("could not finish optimistic protocol negotiation of %s",e,A)})}v=!0}v||await d()}())};async function d(){if(s){r.log.trace("optimistic: already negotiating %s stream",e),await a.promise;return}s=!0;try{c||(r.log.trace("optimistic: doing send protocol for %s stream",e),await m()),h||(r.log.trace("optimistic: doing read protocol for %s stream",e),await g())}finally{s=!1,o=!0,a.resolve()}}async function m(){if(u){await f.promise;return}u=!0;try{r.log.trace('optimistic: write ["%s", "%s", data] in source',tt,e),await l.writeV([ut(`${tt}
55
+ `),ut(`${e}
56
+ `)]),r.log.trace('optimistic: wrote ["%s", "%s", data] in source',tt,e)}finally{c=!0,u=!1,f.resolve()}}async function g(){if(p){await y.promise;return}p=!0;try{r.log.trace("optimistic: reading multistream select header");let x=await yn(l,r);if(r.log.trace('optimistic: read multistream select header "%s"',x),x===tt&&(x=await yn(l,r)),r.log.trace('optimistic: read protocol "%s", expecting "%s"',x,e),x!==e)throw new _("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}finally{h=!0,p=!1,y.resolve()}}if(t.source=async function*(){await d(),r.log.trace('optimistic: reading data from "%s" stream',e),yield*l.unwrap().source}(),t.closeRead!=null){let x=t.closeRead.bind(t);t.closeRead=async b=>{o||await d().catch(v=>{r.log.error("could not negotiate protocol before close read",v)}),await x(b)}}if(t.closeWrite!=null){let x=t.closeWrite.bind(t);t.closeWrite=async b=>{o||await d().catch(v=>{r.log.error("could not negotiate protocol before close write",v)}),await x(b)}}if(t.close!=null){let x=t.close.bind(t);t.close=async b=>{let v=[];u&&v.push(f.promise),p&&v.push(y.promise),v.length>0?await Su(Promise.all(v),b?.signal):(o=!0,s=!1,a.resolve()),await x(b)}}return{stream:t,protocol:e}}async function ua(t,e,r){e=Array.isArray(e)?e:[e],r.log.trace("handle: available protocols %s",e);let n=na(t,{...r,maxDataLength:1024,maxLengthLength:2});for(;;){r.log.trace("handle: reading incoming string");let i=await yn(n,r);if(r.log.trace('handle: read "%s"',i),i===tt){r.log.trace('handle: respond with "%s" for "%s"',tt,i),await ai(n,ut(`${tt}
57
+ `),r),r.log.trace('handle: responded with "%s" for "%s"',tt,i);continue}if(e.includes(i))return r.log.trace('handle: respond with "%s" for "%s"',i,i),await ai(n,ut(`${i}
58
+ `),r),r.log.trace('handle: responded with "%s" for "%s"',i,i),{stream:n.unwrap(),protocol:i};if(i==="ls"){let o=new He(...e.map(s=>ii.single(ut(`${s}
59
+ `))),ut(`
60
+ `));r.log.trace('handle: respond with "%s" for %s',e,i),await ai(n,o,r),r.log.trace('handle: responded with "%s" for %s',e,i);continue}r.log('handle: respond with "na" for "%s"',i),await ai(n,ut(`na
61
+ `),r),r.log('handle: responded with "na" for "%s"',i)}}var AO=500,Em=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;log;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:o,abort:s,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this.log=e.logger.forComponent(`libp2p:connection:${this.direction}:${this.id}`),this.remoteAddr.getPeerId()==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),this._newStream=i,this._close=o,this._abort=s,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[Qy]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new _("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new _("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new _("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,r);return n.direction="outbound",n}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){if(this.log("closing connection to %a",this.remoteAddr),this.status="closing",e.signal==null){let r=AbortSignal.timeout(AO);wt(1/0,r),e={...e,signal:r}}try{this.log.trace("closing all streams"),await Promise.all(this.streams.map(async r=>r.close(e))),this.log.trace("closing underlying transport"),await this._close(e),this.log.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(r){this.log.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){this.log.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),this.log.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function NE(t){return new Em(t)}var CO=3e4;function IO(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==V.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Wp}function _O(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==V.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??Yp}function PE(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var Pu=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new _(`The multiaddr connection is blocked by gater.${n}`,V.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new _("connection denied",V.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),f=()=>{e.abort(new _("inbound upgrade timeout",Ra))};u.addEventListener("abort",f,{once:!0}),wt(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new _("The multiaddr connection is blocked by gater.acceptConnection",V.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the inbound connection upgrade");let h=e;if(r?.skipProtection!==!0){let p=this.components.connectionProtector;p!=null&&(e.log("protecting the inbound connection"),h=await p.protect(e))}try{if(i=h,r?.skipEncryption!==!0){({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(h));let p={...h,...i};await this.shouldBlockConnection(o,p,"denyInboundEncryptedConnection")}else{let p=e.remoteAddr.getPeerId();if(p==null)throw new _("inbound connection that skipped encryption must have a peer id",V.ERR_INVALID_MULTIADDR);let y=se(p);c="native",o=y}if(s=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let p=await this._multiplexInbound({...h,...i},this.muxers);a=p.muxerFactory,s=p.stream}}catch(p){throw e.log.error("failed to upgrade inbound connection",p),p}return await this.shouldBlockConnection(o,e,"denyInboundUpgradedConnection"),e.log("successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:s,muxerFactory:a,remotePeer:o,transient:r?.transient})}finally{u.removeEventListener("abort",f),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=se(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the outbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(f=await h.protect(e))}try{if(o=f,r?.skipEncryption!==!0){({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(f,i));let h={...f,...o};await this.shouldBlockConnection(s,h,"denyOutboundEncryptedConnection")}else{if(i==null)throw new _("Encryption was skipped but no peer id was passed",V.ERR_INVALID_PEER);c="native",s=i}if(a=o,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexOutbound({...f,...o},this.muxers);u=h.muxerFactory,a=h.stream}}catch(h){throw e.log.error("failed to upgrade outbound connection",h),await e.close(h),h}return await this.shouldBlockConnection(s,e,"denyOutboundUpgradedConnection"),e.log("successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:s,transient:r?.transient})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a,transient:c}=e,u,f,h;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:l=>{h!=null&&Promise.resolve().then(async()=>{let d=this.components.registrar.getProtocols(),{stream:m,protocol:g}=await ua(l,d,{log:l.log,yieldBytes:!1});if(h==null)return;h.log("incoming stream opened on %s",g);let x=IO(g,this.components.registrar);if(PE(g,"inbound",h)===x){let v=new _(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,V.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw l.abort(v),v}l.source=m.source,l.sink=m.sink,l.protocol=g,m.closeWrite!=null&&(l.closeWrite=m.closeWrite),m.closeRead!=null&&(l.closeRead=m.closeRead),m.close!=null&&(l.close=m.close),await this.components.peerStore.merge(s,{protocols:[g]}),this.components.metrics?.trackProtocolStream(l,h),this._onStream({connection:h,stream:l,protocol:g})}).catch(async d=>{h.log.error("error handling incoming stream id %s",l.id,d.message,d.code,d.stack),l.timeline.close==null&&await l.close()})}}),f=async(l,d={})=>{if(u==null)throw new _("Stream is not multiplexed",V.ERR_MUXER_UNAVAILABLE);h.log("starting new stream for protocols %s",l);let m=await u.newStream();h.log.trace("started new stream %s for protocols %s",m.id,l);try{if(d.signal==null){m.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",l);let w=AbortSignal.timeout(CO);wt(1/0,w),d={...d,signal:w}}m.log.trace("selecting protocol from protocols %s",l);let{stream:g,protocol:x}=await ca(m,l,{...d,log:m.log,yieldBytes:!0});m.log("selected protocol %s",x);let b=_O(x,this.components.registrar,d);if(PE(x,"outbound",h)>=b){let w=new _(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,V.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(w),w}return await this.components.peerStore.merge(s,{protocols:[x]}),m.source=g.source,m.sink=g.sink,m.protocol=x,g.closeWrite!=null&&(m.closeWrite=g.closeWrite),g.closeRead!=null&&(m.closeRead=g.closeRead),g.close!=null&&(m.close=g.close),this.components.metrics?.trackProtocolStream(m,h),m}catch(g){throw h.log.error("could not create new stream for protocols %s",l,g),m.timeline.close==null&&m.abort(g),g.code!=null?g:new _(String(g),V.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(o.source),o.sink(u.source)]).catch(l=>{h.log.error("error piping data through muxer",l)}));let p=i.timeline;i.timeline=new Proxy(p,{set:(...l)=>(h!=null&&l[1]==="close"&&l[2]!=null&&p.close==null&&(async()=>{try{h.status==="open"&&await h.close()}catch(d){h.log.error("error closing connection after timeline close",d)}finally{this.events.safeDispatchEvent("connection:close",{detail:h})}})().catch(d=>{h.log.error("error thrown while dispatching connection:close event",d)}),Reflect.set(...l))}),i.timeline.upgraded=Date.now();let y=()=>{throw new _("connection is not multiplexed",V.ERR_CONNECTION_NOT_MULTIPLEXED)};return h=NE({remoteAddr:i.remoteAddr,remotePeer:s,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,logger:this.components.logger,newStream:f??y,getStreams:()=>u!=null?u.streams:[],close:async l=>{u!=null&&(h.log.trace("close muxer"),await u.close(l)),h.log.trace("close maconn"),await i.close(l),h.log.trace("closed maconn")},abort:l=>{i.abort(l),u?.abort(l)}}),this.events.safeDispatchEvent("connection:open",{detail:h}),h}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:o,options:s}=this.components.registrar.getHandler(i);if(r.transient&&s.runOnTransientConnection!==!0)throw new _("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");o({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());e.log("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await ua(e,r,{log:e.log}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return e.log("encrypting inbound connection using",i),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw e.log.error("encrypting inbound connection to %p failed",n),new _(n.message,V.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());e.log("selecting outbound crypto protocol",n);try{e.log.trace("selecting encrypter from %s",n);let{stream:i,protocol:o}=await ca(e,n,{log:e.log,yieldBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return e.log("encrypting outbound connection to %p using %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw e.log.error("encrypting outbound connection to %p failed",i),new _(i.message,V.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());e.log("outbound selecting muxer %s",n);try{e.log.trace("selecting stream muxer from %s",n);let{stream:i,protocol:o}=await ca(e,n,{log:e.log,yieldBytes:!0});e.log("selected %s as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw e.log.error("error multiplexing outbound connection",i),new _(String(i),V.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());e.log("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await ua(e,n,{log:e.log}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw e.log.error("error multiplexing inbound connection",i),new _(String(i),V.ERR_MUXER_UNAVAILABLE)}}};var OE="1.0.12-4e0135c7d",kE="libp2p";var Am=class extends Wo{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let r=new Wo,n=r.dispatchEvent.bind(r);r.dispatchEvent=a=>{let c=n(a),u=this.dispatchEvent(new lf(a.type,{detail:a.detail}));return c||u},wt(1/0,r),this.peerId=e.peerId,this.logger=e.logger??oc(),this.log=this.logger.forComponent("libp2p"),this.services={};let i=this.components=p2({peerId:e.peerId,nodeInfo:e.nodeInfo??{name:kE,version:OE},logger:this.logger,events:r,datastore:e.datastore??new Mc,connectionGater:S2(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new kc(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",a=>{if(a.detail.previous==null){let c={id:a.detail.peer.id,multiaddrs:a.detail.peer.addresses.map(u=>u.multiaddr)};i.events.safeDispatchEvent("peer:discovery",{detail:c})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Pu(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((a,c)=>this.configureComponent(`connection-encryption-${c}`,a(this.components))),muxers:(e.streamMuxers??[]).map((a,c)=>this.configureComponent(`stream-muxers-${c}`,a(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new Eu(this.components,e.transportManager)),this.configureComponent("connectionManager",new yu(this.components,e.connectionManager)),this.configureComponent("registrar",new vu(this.components)),this.configureComponent("addressManager",new $c(this.components,e.addresses));let o=(e.peerRouters??[]).map((a,c)=>this.configureComponent(`peer-router-${c}`,a(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new wu(this.components,{routers:o}));let s=(e.contentRouters??[]).map((a,c)=>this.configureComponent(`content-router-${c}`,a(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new bu(this.components,{routers:s})),(e.peerDiscovery??[]).forEach((a,c)=>{this.configureComponent(`peer-discovery-${c}`,a(this.components)).addEventListener("peer",f=>{this.#e(f)})}),e.transports?.forEach((a,c)=>{this.components.transportManager.add(this.configureComponent(`transport-${c}`,a(this.components)))}),e.services!=null)for(let a of Object.keys(e.services)){let c=e.services[a],u=c(this.components);if(u==null){this.log.error("service factory %s returned null or undefined instance",a);continue}this.services[a]=u,this.configureComponent(a,u),u[of]!=null&&(this.log("registering service %s for content routing",a),s.push(u[of])),u[cf]!=null&&(this.log("registering service %s for peer routing",a),o.push(u[cf])),u[sf]!=null&&(this.log("registering service %s for peer discovery",a),u[sf].addEventListener?.("peer",f=>{this.#e(f)}))}}configureComponent(e,r){return r==null&&this.log.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started")}catch(e){throw this.log.error("An error occurred starting libp2p",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new Dt;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,{priority:75,...r})}async dialProtocol(e,r,n={}){if(r==null)throw new _("no protocols were provided to open a stream",V.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new _("no protocols were provided to open a stream",V.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,r={}){cn(e)&&(e=se(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=H1([zc("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(i,r);return bs(o),await this.peerStore.patch(e,{publicKey:o}),o}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#e(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){this.log.error(new Error(V.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs}).catch(n=>{this.log.error(n)})}};async function UE(t={}){return t.peerId??=await Gb(),new Am(tv(t))}async function RO(t={}){let e=await UE(t);return t.start!==!1&&await e.start(),e}return jE(BO);})();
62
62
  /*! Bundled license information:
63
63
 
64
64
  @noble/hashes/esm/utils.js: