libp2p 0.46.16 → 0.46.17
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/README.md +20 -63
- package/dist/index.min.js +29 -29
- package/dist/src/autonat/index.d.ts.map +1 -1
- package/dist/src/autonat/index.js +3 -11
- package/dist/src/autonat/index.js.map +1 -1
- package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/index.js +2 -7
- package/dist/src/circuit-relay/server/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.js +1 -0
- package/dist/src/circuit-relay/transport/discovery.js.map +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/listener.js +3 -17
- package/dist/src/circuit-relay/transport/listener.js.map +1 -1
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/index.js +5 -6
- package/dist/src/connection/index.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +4 -0
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +37 -7
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +7 -5
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/connection-manager/utils.d.ts.map +1 -1
- package/dist/src/connection-manager/utils.js +3 -11
- package/dist/src/connection-manager/utils.js.map +1 -1
- package/dist/src/dcutr/dcutr.d.ts +0 -5
- package/dist/src/dcutr/dcutr.d.ts.map +1 -1
- package/dist/src/dcutr/dcutr.js +4 -28
- package/dist/src/dcutr/dcutr.js.map +1 -1
- package/dist/src/dcutr/utils.d.ts +8 -0
- package/dist/src/dcutr/utils.d.ts.map +1 -0
- package/dist/src/dcutr/utils.js +27 -0
- package/dist/src/dcutr/utils.js.map +1 -0
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +2 -6
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/identify/consts.d.ts +1 -1
- package/dist/src/identify/identify.d.ts.map +1 -1
- package/dist/src/identify/identify.js +55 -47
- package/dist/src/identify/identify.js.map +1 -1
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +3 -7
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/registrar.d.ts +7 -6
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +16 -41
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +3 -11
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +23 -24
- package/src/autonat/index.ts +3 -9
- package/src/circuit-relay/server/index.ts +2 -6
- package/src/circuit-relay/transport/discovery.ts +1 -0
- package/src/circuit-relay/transport/listener.ts +3 -21
- package/src/connection/index.ts +6 -5
- package/src/connection-manager/dial-queue.ts +46 -6
- package/src/connection-manager/index.ts +7 -5
- package/src/connection-manager/utils.ts +3 -9
- package/src/dcutr/dcutr.ts +4 -35
- package/src/dcutr/utils.ts +33 -0
- package/src/fetch/index.ts +2 -5
- package/src/identify/identify.ts +63 -47
- package/src/libp2p.ts +3 -6
- package/src/pnet/README.md +0 -4
- package/src/registrar.ts +19 -50
- package/src/upgrader.ts +3 -9
- package/src/version.ts +1 -1
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
|
|
3
|
-
`)}return n};qa.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=qf[e];if(!r){r=qf[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 mg(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 ke=V((eS,Wf)=>{var zf=pe(),Gf=Hf(),E=Wf.exports=zf.util=zf.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){E.nextTick=process.nextTick,typeof setImmediate=="function"?E.setImmediate=setImmediate:E.setImmediate=E.nextTick;return}if(typeof setImmediate=="function"){E.setImmediate=function(){return setImmediate.apply(void 0,arguments)},E.nextTick=function(a){return setImmediate(a)};return}if(E.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=[];E.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=E.setImmediate;E.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}E.nextTick=E.setImmediate})();E.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;E.globalScope=function(){return E.isNodejs?globalThis:typeof self>"u"?window:self}();E.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};E.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};E.isArrayBufferView=function(t){return t&&E.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Oi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}E.ByteBuffer=$a;function $a(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(E.isArrayBuffer(t)||E.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 $a||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}E.ByteStringBuffer=$a;var yg=4096;E.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>yg&&(this.data.substr(0,1),this._constructedStringLength=0)};E.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};E.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};E.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};E.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};E.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};E.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(E.encodeUtf8(t))};E.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};E.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};E.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))};E.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};E.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};E.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))};E.ByteStringBuffer.prototype.putInt=function(t,e){Oi(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};E.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};E.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};E.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};E.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};E.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};E.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};E.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};E.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};E.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};E.ByteStringBuffer.prototype.getInt=function(t){Oi(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};E.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};E.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};E.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};E.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};E.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};E.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};E.ByteStringBuffer.prototype.copy=function(){var t=E.createBuffer(this.data);return t.read=this.read,t};E.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};E.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};E.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};E.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};E.ByteStringBuffer.prototype.toString=function(){return E.decodeUtf8(this.bytes())};function gg(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=E.isArrayBuffer(t),n=E.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)}E.DataBuffer=gg;E.DataBuffer.prototype.length=function(){return this.write-this.read};E.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};E.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};E.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};E.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};E.DataBuffer.prototype.putBytes=function(t,e){if(E.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(E.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 E.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&E.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 E.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+=E.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+=E.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=E.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=E.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};E.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};E.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};E.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};E.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};E.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};E.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};E.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};E.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};E.DataBuffer.prototype.putInt=function(t,e){Oi(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};E.DataBuffer.prototype.putSignedInt=function(t,e){return Oi(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};E.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};E.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};E.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};E.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};E.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};E.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};E.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};E.DataBuffer.prototype.getInt=function(t){Oi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};E.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};E.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};E.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};E.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};E.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};E.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};E.DataBuffer.prototype.copy=function(){return new E.DataBuffer(this)};E.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};E.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};E.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};E.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};E.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return E.binary.raw.encode(e);if(t==="hex")return E.binary.hex.encode(e);if(t==="base64")return E.binary.base64.encode(e);if(t==="utf8")return E.text.utf8.decode(e);if(t==="utf16")return E.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};E.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=E.encodeUtf8(t)),new E.ByteBuffer(t)};E.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};E.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};E.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};E.bytesToHex=function(t){return E.createBuffer(t).toHex()};E.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Cr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Tr=[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],Yf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";E.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+=Cr.charAt(i>>2),r+=Cr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Cr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Cr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
-
`,r=r.substr(
|
|
5
|
-
`,r=r.substr(e));return n+=r,n};E.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=Tr[t.charCodeAt(c++)-43],s=Tr[t.charCodeAt(c++)-43],o=Tr[t.charCodeAt(c++)-43],a=Tr[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)};E.binary.base58.encode=function(t,e){return E.binary.baseN.encode(t,Yf,e)};E.binary.base58.decode=function(t,e){return E.binary.baseN.decode(t,Yf,e)};E.text={utf8:{},utf16:{}};E.text.utf8.encode=function(t,e,r){t=E.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};E.text.utf8.decode=function(t){return E.decodeUtf8(String.fromCharCode.apply(null,t))};E.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};E.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};E.deflate=function(t,e,r){if(e=E.decode64(t.deflate(E.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};E.inflate=function(t,e,r){var n=t.inflate(E.encode64(e)).rval;return n===null?null:E.decode64(n)};var Ha=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=E.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}},za=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(E.decode64(r))),r},xg=function(t,e,r,n){var i=za(t,e);i===null&&(i={}),i[r]=n,Ha(t,e,i)},Eg=function(t,e,r){var n=za(t,e);return n!==null&&(n=r in n?n[r]:null),n},bg=function(t,e,r){var n=za(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),Ha(t,e,n)}},wg=function(t,e){Ha(t,e,null)},Ms=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};E.setItem=function(t,e,r,n,i){Ms(xg,arguments,i)};E.getItem=function(t,e,r,n){return Ms(Eg,arguments,n)};E.removeItem=function(t,e,r,n){Ms(bg,arguments,n)};E.clearItems=function(t,e,r){Ms(wg,arguments,r)};E.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};E.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("")};E.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):"")};E.formatSize=function(t){return t>=1073741824?t=E.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=E.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=E.formatNumber(t/1024,0)+" KiB":t=E.formatNumber(t,0)+" bytes",t};E.bytesFromIP=function(t){return t.indexOf(".")!==-1?E.bytesFromIPv4(t):t.indexOf(":")!==-1?E.bytesFromIPv6(t):null};E.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=E.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};E.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=E.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=E.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};E.bytesToIP=function(t){return t.length===4?E.bytesToIPv4(t):t.length===16?E.bytesToIPv6(t):null};E.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(".")};E.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=E.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(":")};E.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in E&&!t.update)return e(null,E.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return E.cores=navigator.hardwareConcurrency,e(null,E.cores);if(typeof Worker>"u")return E.cores=1,e(null,E.cores);if(typeof Blob>"u")return E.cores=2,e(null,E.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 E.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,E.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 Us=V((tS,Qf)=>{var Mi=pe();Mi.pki=Mi.pki||{};var Ga=Qf.exports=Mi.pki.oids=Mi.oids=Mi.oids||{};function B(t,e){Ga[t]=e,Ga[e]=t}function le(t,e){Ga[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");le("2.5.29.1","authorityKeyIdentifier");le("2.5.29.2","keyAttributes");le("2.5.29.3","certificatePolicies");le("2.5.29.4","keyUsageRestriction");le("2.5.29.5","policyMapping");le("2.5.29.6","subtreesConstraint");le("2.5.29.7","subjectAltName");le("2.5.29.8","issuerAltName");le("2.5.29.9","subjectDirectoryAttributes");le("2.5.29.10","basicConstraints");le("2.5.29.11","nameConstraints");le("2.5.29.12","policyConstraints");le("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");le("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");le("2.5.29.20","cRLNumber");le("2.5.29.21","cRLReason");le("2.5.29.22","expirationDate");le("2.5.29.23","instructionCode");le("2.5.29.24","invalidityDate");le("2.5.29.25","cRLDistributionPoints");le("2.5.29.26","issuingDistributionPoint");le("2.5.29.27","deltaCRLIndicator");le("2.5.29.28","issuingDistributionPoint");le("2.5.29.29","certificateIssuer");le("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");le("2.5.29.33","policyMappings");le("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");le("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");le("2.5.29.46","freshestCRL");le("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 Fi=V((rS,Zf)=>{var _e=pe();ke();Us();var O=Zf.exports=_e.asn1=_e.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(_e.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||_e.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(_e.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(_e.util.isArray(t)){if(!_e.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 vg=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=_e.util.createBuffer(t));var r=t.length(),n=Fs(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 Fs(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=vg(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)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(Fs(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Fs(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 y={strict:!0,decodeBitStrings:!0},g=Fs(t,e,r+1,y),x=i-t.length();e-=x,a==O.Type.BITSTRING&&x++;var b=g.tagClass;x===c&&(b===O.Class.UNIVERSAL||b===O.Class.CONTEXT_SPECIFIC)&&(l=[g])}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 C=f===void 0?null:{bitStringContents:f};return O.create(o,a,d,l,C)}O.toDer=function(t){var e=_e.util.createBuffer(),r=t.tagClass|t.type,n=_e.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=_e.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=_e.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=_e.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=_e.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&&_e.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 Xf=/[^\\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<
|
|
7
|
-
`,n+=i+"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,_e.pki&&_e.pki.oids&&c in _e.pki.oids&&(n+=" ("+_e.pki.oids[c]+") ")}if(t.type===O.Type.INTEGER)try{n+=O.derToInteger(t.value)}catch{n+="0x"+_e.util.bytesToHex(t.value)}else if(t.type===O.Type.BITSTRING){if(t.value.length>1?n+="0x"+_e.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)Xf.test(t.value)||(n+="("+t.value+") "),n+="0x"+_e.util.bytesToHex(t.value);else if(t.type===O.Type.UTF8)try{n+=_e.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+_e.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===O.Type.PRINTABLESTRING||t.type===O.Type.IA5String?n+=t.value:Xf.test(t.value)?n+="0x"+_e.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Wa=V((nS,jf)=>{var Ge=pe();ke();jf.exports=Ge.cipher=Ge.cipher||{};Ge.cipher.algorithms=Ge.cipher.algorithms||{};Ge.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ge.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ge.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Ge.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ge.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ge.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Ge.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Ge.cipher.algorithms[t]=e};Ge.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Ge.cipher.algorithms?Ge.cipher.algorithms[t]:null};var Ya=Ge.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)};Ya.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=Ge.util.createBuffer(),this.output=t.output||Ge.util.createBuffer(),this.mode.start(e)};Ya.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()};Ya.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 Xa=V((iS,Jf)=>{var Ye=pe();ke();Ye.cipher=Ye.cipher||{};var ee=Jf.exports=Ye.cipher.modes=Ye.cipher.modes||{};ee.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)};ee.ecb.prototype.start=function(t){};ee.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])};ee.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])};ee.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};ee.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)};ee.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)};ee.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=Ks(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};ee.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};ee.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)};ee.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};ee.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)};ee.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=Ye.util.createBuffer(),this._partialBytes=0};ee.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Ks(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ee.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};ee.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};ee.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=Ye.util.createBuffer(),this._partialBytes=0};ee.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Ks(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ee.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};ee.ofb.prototype.decrypt=ee.ofb.prototype.encrypt;ee.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=Ye.util.createBuffer(),this._partialBytes=0};ee.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Ks(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ee.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}Vs(this._inBlock)};ee.ctr.prototype.decrypt=ee.ctr.prototype.encrypt;ee.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=Ye.util.createBuffer(),this._partialBytes=0,this._R=3774873600};ee.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Ye.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Ye.util.createBuffer(t.additionalData):r=Ye.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Ye.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(Qa(n*8)))}this._inBlock=this._j0.slice(0),Vs(this._inBlock),this._partialBytes=0,r=Ye.util.createBuffer(r),this._aDataLength=Qa(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()])};ee.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),Vs(this._inBlock)};ee.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),Vs(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};ee.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Ye.util.createBuffer();var n=this._aDataLength.concat(Qa(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};ee.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};ee.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)};ee.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};ee.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)};ee.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};ee.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 Ks(t,e){if(typeof t=="string"&&(t=Ye.util.createBuffer(t)),Ye.util.isArray(t)&&t.length>4){var r=t;t=Ye.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(!Ye.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function Vs(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Qa(t){return[t/4294967296|0,t&4294967295]}});var $s=V((sS,n0)=>{var we=pe();Wa();Xa();ke();n0.exports=we.aes=we.aes||{};we.aes.startEncrypting=function(t,e,r,n){var i=qs({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};we.aes.createEncryptionCipher=function(t,e){return qs({key:t,output:null,decrypt:!1,mode:e})};we.aes.startDecrypting=function(t,e,r,n){var i=qs({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};we.aes.createDecryptionCipher=function(t,e){return qs({key:t,output:null,decrypt:!0,mode:e})};we.aes.Algorithm=function(t,e){Ja||t0();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return ja(r._w,n,i,!1)},decrypt:function(n,i){return ja(r._w,n,i,!0)}}}),r._init=!1};we.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=we.util.createBuffer(e);else if(we.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=we.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!we.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(!we.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=r0(e,t.decrypt&&!o),this._init=!0}};we.aes._expandKey=function(t,e){return Ja||t0(),r0(t,e)};we.aes._updateBlock=ja;zn("AES-ECB",we.cipher.modes.ecb);zn("AES-CBC",we.cipher.modes.cbc);zn("AES-CFB",we.cipher.modes.cfb);zn("AES-OFB",we.cipher.modes.ofb);zn("AES-CTR",we.cipher.modes.ctr);zn("AES-GCM",we.cipher.modes.gcm);function zn(t,e){var r=function(){return new we.aes.Algorithm(t,e)};we.cipher.registerAlgorithm(t,r)}var Ja=!1,Hn=4,ht,Za,e0,rn,kt;function t0(){Ja=!0,e0=[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;ht=new Array(256),Za=new Array(256),rn=new Array(4),kt=new Array(4);for(var e=0;e<4;++e)rn[e]=new Array(256),kt[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,ht[r]=a,Za[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)rn[f][r]=u,kt[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 r0(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Hn*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=ht[n>>>16&255]<<24^ht[n>>>8&255]<<16^ht[n&255]<<8^ht[n>>>24]^e0[i]<<24,i++):s>6&&c%s===4&&(n=ht[n>>>24]<<24^ht[n>>>16&255]<<16^ht[n>>>8&255]<<8^ht[n&255]),r[c]=r[c-s]^n;if(e){var u,l=kt[0],f=kt[1],d=kt[2],p=kt[3],h=r.slice(0);a=r.length;for(var c=0,m=a-Hn;c<a;c+=Hn,m-=Hn)if(c===0||c===a-Hn)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 y=0;y<Hn;++y)u=r[m+y],h[c+(3&-y)]=l[ht[u>>>24]]^f[ht[u>>>16&255]]^d[ht[u>>>8&255]]^p[ht[u&255]];r=h}return r}function ja(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=kt[0],o=kt[1],a=kt[2],c=kt[3],u=Za):(s=rn[0],o=rn[1],a=rn[2],c=rn[3],u=ht);var l,f,d,p,h,m,y;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 g=3,x=1;x<i;++x)h=s[l>>>24]^o[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++g],m=s[f>>>24]^o[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++g],y=s[d>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[d&255]^t[++g],l=h,f=m,d=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++g]}function qs(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=we.cipher.createDecipher(r,t.key):n=we.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof we.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var o0=V((oS,s0)=>{var Ae=pe();Wa();Xa();ke();s0.exports=Ae.des=Ae.des||{};Ae.des.startEncrypting=function(t,e,r,n){var i=Hs({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Ae.des.createEncryptionCipher=function(t,e){return Hs({key:t,output:null,decrypt:!1,mode:e})};Ae.des.startDecrypting=function(t,e,r,n){var i=Hs({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Ae.des.createDecryptionCipher=function(t,e){return Hs({key:t,output:null,decrypt:!0,mode:e})};Ae.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return i0(r._keys,n,i,!1)},decrypt:function(n,i){return i0(r._keys,n,i,!0)}}}),r._init=!1};Ae.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=Ae.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=Lg(e),this._init=!0}};Gt("DES-ECB",Ae.cipher.modes.ecb);Gt("DES-CBC",Ae.cipher.modes.cbc);Gt("DES-CFB",Ae.cipher.modes.cfb);Gt("DES-OFB",Ae.cipher.modes.ofb);Gt("DES-CTR",Ae.cipher.modes.ctr);Gt("3DES-ECB",Ae.cipher.modes.ecb);Gt("3DES-CBC",Ae.cipher.modes.cbc);Gt("3DES-CFB",Ae.cipher.modes.cfb);Gt("3DES-OFB",Ae.cipher.modes.ofb);Gt("3DES-CTR",Ae.cipher.modes.ctr);function Gt(t,e){var r=function(){return new Ae.des.Algorithm(t,e)};Ae.cipher.registerAlgorithm(t,r)}var _g=[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],Sg=[-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],Ag=[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],Ig=[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],Cg=[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],Tg=[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],Bg=[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 Lg(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,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,C=0;C<m;C++){var _=t.getInt32(),S=t.getInt32();b=(_>>>4^S)&252645135,S^=b,_^=b<<4,b=(S>>>-16^_)&65535,_^=b,S^=b<<-16,b=(_>>>2^S)&858993459,S^=b,_^=b<<2,b=(S>>>-16^_)&65535,_^=b,S^=b<<-16,b=(_>>>1^S)&1431655765,S^=b,_^=b<<1,b=(S>>>8^_)&16711935,_^=b,S^=b<<8,b=(_>>>1^S)&1431655765,S^=b,_^=b<<1,b=_<<8|S>>>20&240,_=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=b;for(var P=0;P<g.length;++P){g[P]?(_=_<<2|_>>>26,S=S<<2|S>>>26):(_=_<<1|_>>>27,S=S<<1|S>>>27),_&=-15,S&=-15;var D=e[_>>>28]|r[_>>>24&15]|n[_>>>20&15]|i[_>>>16&15]|s[_>>>12&15]|o[_>>>8&15]|a[_>>>4&15],Y=c[S>>>28]|u[S>>>24&15]|l[S>>>20&15]|f[S>>>16&15]|d[S>>>12&15]|p[S>>>8&15]|h[S>>>4&15];b=(Y>>>16^D)&65535,y[x++]=D^b,y[x++]=Y^b<<16}}return y}function i0(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^(Sg[p>>>24&63]|Ig[p>>>16&63]|Cg[p>>>8&63]|Bg[p&63]|_g[h>>>24&63]|Ag[h>>>16&63]|Rg[h>>>8&63]|Tg[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 Hs(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=Ae.cipher.createDecipher(r,t.key):n=Ae.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof Ae.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var nn=V((aS,a0)=>{var zs=pe();a0.exports=zs.md=zs.md||{};zs.md.algorithms=zs.md.algorithms||{}});var u0=V((cS,c0)=>{var cr=pe();nn();ke();var Pg=c0.exports=cr.hmac=cr.hmac||{};Pg.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 cr.md.algorithms)e=cr.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=cr.util.createBuffer(o);else if(cr.util.isArray(o)){var a=o;o=cr.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=cr.util.createBuffer(),n=cr.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 Ki=V(()=>{});var ec=V((fS,l0)=>{var dt=pe();u0();nn();ke();var Dg=dt.pkcs5=dt.pkcs5||{},ur;dt.util.isNodejs&&!dt.options.usePureJavaScript&&(ur=Ki());l0.exports=dt.pbkdf2=Dg.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),dt.util.isNodejs&&!dt.options.usePureJavaScript&&ur.pbkdf2&&(i===null||typeof i!="object")&&(ur.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?ur.pbkdf2Sync.length===4?ur.pbkdf2(t,e,r,n,function(b,C){if(b)return s(b);s(null,C.toString("binary"))}):ur.pbkdf2(t,e,r,n,i,function(b,C){if(b)return s(b);s(null,C.toString("binary"))}):ur.pbkdf2Sync.length===4?ur.pbkdf2Sync(t,e,r,n).toString("binary"):ur.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in dt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=dt.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=dt.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(dt.util.int32ToBytes(m)),d=h=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=dt.util.xorBytes(d,p,o),h=p;f+=m<c?d:d.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(dt.util.int32ToBytes(m)),d=h=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=dt.util.xorBytes(d,p,o),h=p,++y,dt.util.setImmediate(x);f+=m<c?d:d.substr(0,u),++m,g()}g()}});var d0=V((hS,h0)=>{var Ys=pe();ke();var f0=h0.exports=Ys.pem=Ys.pem||{};f0.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
9
|
-
`,n;if(
|
|
10
|
-
`),r
|
|
11
|
-
`,r+="-----END "+
|
|
12
|
-
`,r};
|
|
13
|
-
`;for(var s=0,o=-1,i=0;i<
|
|
14
|
-
`+
|
|
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 Ng(t){return t.replace(/^\s+/,"")}});var E0=V((dS,x0)=>{var Yt=pe();nn();ke();var m0=x0.exports=Yt.sha256=Yt.sha256||{};Yt.md.sha256=Yt.md.algorithms.sha256=m0;m0.create=function(){y0||kg();var t=null,e=Yt.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=Yt.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=Yt.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),p0(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 s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(tc.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};p0(f,r,i);var d=Yt.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 tc=null,y0=!1,g0=null;function kg(){tc=String.fromCharCode(128),tc+=Yt.util.fillString(String.fromCharCode(0),64),g0=[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],y0=!0}function p0(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,y,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(l=t.h0,f=t.h1,d=t.h2,p=t.h3,h=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)o=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(m^y),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=g+o+a+g0[u]+e[u],i=s+c,g=y,y=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+y|0,t.h7=t.h7+g|0,x-=64}}});var w0=V((pS,b0)=>{var Wt=pe();ke();var Ws=null;Wt.util.isNodejs&&!Wt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Ws=Ki());var Og=b0.exports=Wt.prng=Wt.prng||{};Og.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=Wt.util.createBuffer();e.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Wt.util.nextTick(function(){s(y)});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)),Wt.util.setImmediate(y)}},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=Wt.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=Wt.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(_){return d.getRandomValues(_)});var p=Wt.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 y=0;y<m.length;++y)p.putInt32(m[y])}catch(_){if(!(typeof QuotaExceededError<"u"&&_ instanceof QuotaExceededError))throw _}}if(p.length()<u)for(var g,x,b,C=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(C&65535),g=16807*(C>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),C=x&4294967295;for(var y=0;y<3;++y)b=C>>>(y<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(u)}return Ws?(e.seedFile=function(u,l){Ws.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return Ws.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 Vi=V((mS,rc)=>{var We=pe();$s();E0();w0();ke();(function(){if(We.random&&We.random.getBytes){rc.exports=We.random;return}(function(t){var e={},r=new Array(4),n=We.util.createBuffer();e.formatKey=function(f){var d=We.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),We.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=We.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 We.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=We.md.sha256;function i(){var f=We.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=We.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),We.options.usePureJavaScript||!We.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(!We.random)We.random=s;else for(var l in s)We.random[l]=s[l];We.random.createInstance=i,rc.exports=We.random})(typeof jQuery<"u"?jQuery:null)})()});var A0=V((yS,S0)=>{var mt=pe();ke();var nc=[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],v0=[1,2,3,5],Mg=function(t,e){return t<<e&65535|(t&65535)>>16-e},Ug=function(t,e){return(t&65535)>>e|t<<16-e&65535};S0.exports=mt.rc2=mt.rc2||{};mt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=mt.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(nc[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,nc[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,nc[r.at(a+1)^r.at(a+s)]);return r};var _0=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=mt.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]=Mg(h[u],v0[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]=Ug(h[u],v0[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 y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<h.length;g++)for(var x=0;x<h[g][0];x++)h[g][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=mt.util.createBuffer(h)),n=!1,i=mt.util.createBuffer(),s=m||new mt.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 y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,p.update()),!r&&(m=i.length()===0,m))if(h)m=h(8,s,!r);else{var g=s.length(),x=s.at(g-1);x>g?m=!1:s.truncate(x)}return m}},p};mt.rc2.startEncrypting=function(t,e,r){var n=mt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};mt.rc2.createEncryptionCipher=function(t,e){return _0(t,e,!0)};mt.rc2.startDecrypting=function(t,e,r){var n=mt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};mt.rc2.createDecryptionCipher=function(t,e){return _0(t,e,!1)}});var Zs=V((gS,D0)=>{var ic=pe();D0.exports=ic.jsbn=ic.jsbn||{};var lr,Fg=0xdeadbeefcafe,I0=(Fg&16777215)==15715070;function R(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))}ic.jsbn.BigInteger=R;function ce(){return new R(null)}function Kg(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 Vg(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 R0(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"?(R.prototype.am=R0,lr=28):I0&&navigator.appName=="Microsoft Internet Explorer"?(R.prototype.am=Vg,lr=30):I0&&navigator.appName!="Netscape"?(R.prototype.am=Kg,lr=26):(R.prototype.am=R0,lr=28);R.prototype.DB=lr;R.prototype.DM=(1<<lr)-1;R.prototype.DV=1<<lr;var sc=52;R.prototype.FV=Math.pow(2,sc);R.prototype.F1=sc-lr;R.prototype.F2=2*lr-sc;var qg="0123456789abcdefghijklmnopqrstuvwxyz",Qs=new Array,Gn,Tt;Gn="0".charCodeAt(0);for(Tt=0;Tt<=9;++Tt)Qs[Gn++]=Tt;Gn="a".charCodeAt(0);for(Tt=10;Tt<36;++Tt)Qs[Gn++]=Tt;Gn="A".charCodeAt(0);for(Tt=10;Tt<36;++Tt)Qs[Gn++]=Tt;function C0(t){return qg.charAt(t)}function T0(t,e){var r=Qs[t.charCodeAt(e)];return r??-1}function $g(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 Hg(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 Br(t){var e=ce();return e.fromInt(t),e}function zg(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:T0(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&&R.ZERO.subTo(this,this)}function Gg(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Yg(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=C0(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+=C0(n));return i?s:"0"}function Wg(){var t=ce();return R.ZERO.subTo(this,t),t}function Qg(){return this.s<0?this.negate():this}function Xg(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 Xs(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 Zg(){return this.t<=0?0:this.DB*(this.t-1)+Xs(this.data[this.t-1]^this.s&this.DM)}function jg(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 Jg(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 ex(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 tx(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 rx(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 nx(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&&R.ZERO.subTo(e,e)}function ix(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 sx(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=ce());var s=ce(),o=this.s,a=t.s,c=this.DB-Xs(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,y=m-u,g=e??ce();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),R.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=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,y,0,u))<x)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&R.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&R.ZERO.subTo(r,r)}}}function ox(t){var e=ce();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(R.ZERO)>0&&t.subTo(e,e),e}function sn(t){this.m=t}function ax(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function cx(t){return t}function ux(t){t.divRemTo(this.m,null,t)}function lx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function fx(t,e){t.squareTo(e),this.reduce(e)}sn.prototype.convert=ax;sn.prototype.revert=cx;sn.prototype.reduce=ux;sn.prototype.mulTo=lx;sn.prototype.sqrTo=fx;function hx(){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 on(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 dx(t){var e=ce();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(R.ZERO)>0&&this.m.subTo(e,e),e}function px(t){var e=ce();return t.copyTo(e),this.reduce(e),e}function mx(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 yx(t,e){t.squareTo(e),this.reduce(e)}function gx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}on.prototype.convert=dx;on.prototype.revert=px;on.prototype.reduce=mx;on.prototype.mulTo=gx;on.prototype.sqrTo=yx;function xx(){return(this.t>0?this.data[0]&1:this.s)==0}function Ex(t,e){if(t>4294967295||t<1)return R.ONE;var r=ce(),n=ce(),i=e.convert(this),s=Xs(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 bx(t,e){var r;return t<256||e.isEven()?r=new sn(e):r=new on(e),this.exp(t,r)}R.prototype.copyTo=$g;R.prototype.fromInt=Hg;R.prototype.fromString=zg;R.prototype.clamp=Gg;R.prototype.dlShiftTo=jg;R.prototype.drShiftTo=Jg;R.prototype.lShiftTo=ex;R.prototype.rShiftTo=tx;R.prototype.subTo=rx;R.prototype.multiplyTo=nx;R.prototype.squareTo=ix;R.prototype.divRemTo=sx;R.prototype.invDigit=hx;R.prototype.isEven=xx;R.prototype.exp=Ex;R.prototype.toString=Yg;R.prototype.negate=Wg;R.prototype.abs=Qg;R.prototype.compareTo=Xg;R.prototype.bitLength=Zg;R.prototype.mod=ox;R.prototype.modPowInt=bx;R.ZERO=Br(0);R.ONE=Br(1);function wx(){var t=ce();return this.copyTo(t),t}function vx(){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 _x(){return this.t==0?this.s:this.data[0]<<24>>24}function Sx(){return this.t==0?this.s:this.data[0]<<16>>16}function Ax(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Ix(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Rx(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=Br(r),i=ce(),s=ce(),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 Cx(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=T0(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&&R.ZERO.subTo(this,this)}function Tx(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(R.ONE.shiftLeft(t-1),oc,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(R.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 Bx(){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 Lx(t){return this.compareTo(t)==0}function Px(t){return this.compareTo(t)<0?this:t}function Dx(t){return this.compareTo(t)>0?this:t}function Nx(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 kx(t,e){return t&e}function Ox(t){var e=ce();return this.bitwiseTo(t,kx,e),e}function oc(t,e){return t|e}function Mx(t){var e=ce();return this.bitwiseTo(t,oc,e),e}function B0(t,e){return t^e}function Ux(t){var e=ce();return this.bitwiseTo(t,B0,e),e}function L0(t,e){return t&~e}function Fx(t){var e=ce();return this.bitwiseTo(t,L0,e),e}function Kx(){for(var t=ce(),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 Vx(t){var e=ce();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function qx(t){var e=ce();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function $x(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 Hx(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+$x(this.data[t]);return this.s<0?this.t*this.DB:-1}function zx(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function Gx(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=zx(this.data[r]^e);return t}function Yx(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function Wx(t,e){var r=R.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function Qx(t){return this.changeBit(t,oc)}function Xx(t){return this.changeBit(t,L0)}function Zx(t){return this.changeBit(t,B0)}function jx(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 Jx(t){var e=ce();return this.addTo(t,e),e}function e1(t){var e=ce();return this.subTo(t,e),e}function t1(t){var e=ce();return this.multiplyTo(t,e),e}function r1(t){var e=ce();return this.divRemTo(t,e,null),e}function n1(t){var e=ce();return this.divRemTo(t,null,e),e}function i1(t){var e=ce(),r=ce();return this.divRemTo(t,e,r),new Array(e,r)}function s1(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function o1(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 qi(){}function P0(t){return t}function a1(t,e,r){t.multiplyTo(e,r)}function c1(t,e){t.squareTo(e)}qi.prototype.convert=P0;qi.prototype.revert=P0;qi.prototype.mulTo=a1;qi.prototype.sqrTo=c1;function u1(t){return this.exp(t,new qi)}function l1(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 f1(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 Yn(t){this.r2=ce(),this.q3=ce(),R.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function h1(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=ce();return t.copyTo(e),this.reduce(e),e}function d1(t){return t}function p1(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 m1(t,e){t.squareTo(e),this.reduce(e)}function y1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Yn.prototype.convert=h1;Yn.prototype.revert=d1;Yn.prototype.reduce=p1;Yn.prototype.mulTo=y1;Yn.prototype.sqrTo=m1;function g1(t,e){var r=t.bitLength(),n,i=Br(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 sn(e):e.isEven()?s=new Yn(e):s=new on(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=ce();for(s.sqrTo(o[1],l);a<=u;)o[a]=ce(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,d,p=!0,h=ce(),m;for(r=Xs(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 x1(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 E1(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 b1(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return R.ZERO;for(var r=t.clone(),n=this.clone(),i=Br(1),s=Br(0),o=Br(0),a=Br(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(R.ONE)!=0)return R.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 Ot=[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],w1=(1<<26)/Ot[Ot.length-1];function v1(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Ot[Ot.length-1]){for(e=0;e<Ot.length;++e)if(r.data[0]==Ot[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Ot.length;){for(var n=Ot[e],i=e+1;i<Ot.length&&n<w1;)n*=Ot[i++];for(n=r.modInt(n);e<i;)if(n%Ot[e++]==0)return!1}return r.millerRabin(t)}function _1(t){var e=this.subtract(R.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=S1(),s,o=0;o<t;++o){do s=new R(this.bitLength(),i);while(s.compareTo(R.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(R.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(R.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function S1(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}R.prototype.chunkSize=Ax;R.prototype.toRadix=Rx;R.prototype.fromRadix=Cx;R.prototype.fromNumber=Tx;R.prototype.bitwiseTo=Nx;R.prototype.changeBit=Wx;R.prototype.addTo=jx;R.prototype.dMultiply=s1;R.prototype.dAddOffset=o1;R.prototype.multiplyLowerTo=l1;R.prototype.multiplyUpperTo=f1;R.prototype.modInt=E1;R.prototype.millerRabin=_1;R.prototype.clone=wx;R.prototype.intValue=vx;R.prototype.byteValue=_x;R.prototype.shortValue=Sx;R.prototype.signum=Ix;R.prototype.toByteArray=Bx;R.prototype.equals=Lx;R.prototype.min=Px;R.prototype.max=Dx;R.prototype.and=Ox;R.prototype.or=Mx;R.prototype.xor=Ux;R.prototype.andNot=Fx;R.prototype.not=Kx;R.prototype.shiftLeft=Vx;R.prototype.shiftRight=qx;R.prototype.getLowestSetBit=Hx;R.prototype.bitCount=Gx;R.prototype.testBit=Yx;R.prototype.setBit=Qx;R.prototype.clearBit=Xx;R.prototype.flipBit=Zx;R.prototype.add=Jx;R.prototype.subtract=e1;R.prototype.multiply=t1;R.prototype.divide=r1;R.prototype.remainder=n1;R.prototype.divideAndRemainder=i1;R.prototype.modPow=g1;R.prototype.modInverse=b1;R.prototype.pow=u1;R.prototype.gcd=x1;R.prototype.isProbablePrime=v1});var U0=V((xS,M0)=>{var Qt=pe();nn();ke();var k0=M0.exports=Qt.sha1=Qt.sha1||{};Qt.md.sha1=Qt.md.algorithms.sha1=k0;k0.create=function(){O0||A1();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),N0(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(ac.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};N0(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 ac=null,O0=!1;function A1(){ac=String.fromCharCode(128),ac+=Qt.util.fillString(String.fromCharCode(0),64),O0=!0}function N0(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 V0=V((ES,K0)=>{var Xt=pe();ke();Vi();U0();var F0=K0.exports=Xt.pkcs1=Xt.pkcs1||{};F0.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=Xt.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=Xt.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=js(i,a-s.digestLength-1,o),y=Xt.util.xorBytes(h,m,h.length),g=js(y,s.digestLength,o),x=Xt.util.xorBytes(i,g,i.length);return"\0"+x+y};F0.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 y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=o,y}if(i===void 0?i=Xt.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=js(l,i.digestLength,s),d=Xt.util.xorBytes(u,f,u.length),p=js(d,o-i.digestLength-1,s),h=Xt.util.xorBytes(l,p,l.length),m=h.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,b=i.digestLength,C=i.digestLength;C<h.length;C++){var _=h.charCodeAt(C),S=_&1^1,P=x?65534:0;y|=_&P,x=x&S,b+=x}if(y||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function js(t,e,r){r||(r=Xt.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 q0=V((bS,cc)=>{var Lr=pe();ke();Zs();Vi();(function(){if(Lr.prime){cc.exports=Lr.prime;return}var t=cc.exports=Lr.prime=Lr.prime||{},e=Lr.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||Lr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),b=0;b<g.length;++b)g[b]=x.charCodeAt(b)}};if(h.name==="PRIMEINC")return s(f,y,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),y=0,g=l(m.bitLength());"millerRabinTests"in p&&(g=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,d,y,g,x,h)}function a(f,d,p,h,m,y,g){var x=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[h++%8],0)}while(y<0||+new Date-x<y);Lr.util.setImmediate(function(){a(f,d,p,h,m,y,g)})}function c(f,d,p,h){if(typeof Worker>"u")return o(f,d,p,h);var m=u(f,d),y=p.workers,g=p.workLoad||100,x=g*30/8,b=p.workerScript||"forge/prime.worker.js";if(y===-1)return Lr.util.estimateCores(function(_,S){_&&(S=2),y=S-1,C()});C();function C(){y=Math.max(1,y);for(var _=[],S=0;S<y;++S)_[S]=new Worker(b);for(var P=y,S=0;S<y;++S)_[S].addEventListener("message",Y);var D=!1;function Y(W){if(!D){--P;var H=W.data;if(H.found){for(var te=0;te<_.length;++te)_[te].terminate();return D=!0,h(null,new e(H.prime,16))}m.bitLength()>f&&(m=u(f,d));var me=m.toString(16);W.target.postMessage({hex:me,workLoad:g}),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 eo=V((wS,Q0)=>{var $=pe();Fi();Zs();Us();V0();q0();Vi();ke();typeof se>"u"&&(se=$.jsbn.BigInteger);var se,uc=$.util.isNodejs?Ki():null,v=$.asn1,Bt=$.util;$.pki=$.pki||{};Q0.exports=$.pki.rsa=$.rsa=$.rsa||{};var Q=$.pki,I1=[6,4,2,4,2,4,6,2],R1={name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},C1={name:"RSAPrivateKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},T1={name:"RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},B1=$.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},L1={name:"DigestInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},P1=function(t){var e;if(t.algorithm in Q.oids)e=Q.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},Y0=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(se.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(se.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new se($.util.bytesToHex($.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(se.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};Q.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=W0(t,e,r)):(i=$.util.createBuffer(),i.putBytes(t));for(var o=new se(i.toHex(),16),a=Y0(o,e,n),c=a.toString(16),u=$.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes($.util.hexToBytes(c)),u.getBytes()};Q.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 se($.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Y0(o,e,r),c=a.toString(16),u=$.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes($.util.hexToBytes(c)),n!==!1?Js(u.getBytes(),e,r):u.getBytes()};Q.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)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new se(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};Q.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new se(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 se(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(se.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(N1(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(I1[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(se.ONE).gcd(t.e).compareTo(se.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(se.ONE),t.q1=t.q.subtract(se.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(se.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:Q.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:Q.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};Q.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($0("generateKeyPair"))return uc.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:Q.privateKeyFromPem(u),publicKey:Q.publicKeyFromPem(c)})});if(H0("generateKey")&&H0("exportKey"))return Bt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:G0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Bt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=Q.privateKeyFromAsn1(v.fromDer($.util.createBuffer(a)));n(null,{privateKey:c,publicKey:Q.setRsaPublicKey(c.n,c.e)})}});if(z0("generateKey")&&z0("exportKey")){var i=Bt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:G0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Bt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=Q.privateKeyFromAsn1(v.fromDer($.util.createBuffer(f)));n(null,{privateKey:d,publicKey:Q.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if($0("generateKeyPairSync")){var s=uc.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Q.privateKeyFromPem(s.privateKey),publicKey:Q.publicKeyFromPem(s.publicKey)}}}var o=Q.rsa.createKeyPairGenerationState(t,e,r);if(!n)return Q.rsa.stepKeyPairGenerationState(o,0),o.keys;D1(o,r,n)};Q.setRsaPublicKey=Q.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 W0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return $.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 Q.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=Js(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},d=[];if(!v.validate(l,L1,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=v.derToOid(f.algorithmIdentifier);if(!(h===$.oids.md2||h===$.oids.md5||h===$.oids.sha1||h===$.oids.sha224||h===$.oids.sha256||h===$.oids.sha384||h===$.oids.sha512||h===$.oids["sha512-224"]||h===$.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===$.oids.md2||h===$.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=Js(u,r,!0),c===u}});var a=Q.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};Q.setRsaPrivateKey=Q.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=Q.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Js};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,h){return $.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:P1},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return Q.rsa.encrypt(d,c,f)},c};Q.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};Q.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,R1,e,r)&&(t=v.fromDer($.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,C1,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=$.util.createBuffer(e.privateKeyModulus).toHex(),s=$.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=$.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=$.util.createBuffer(e.privateKeyPrime1).toHex(),c=$.util.createBuffer(e.privateKeyPrime2).toHex(),u=$.util.createBuffer(e.privateKeyExponent1).toHex(),l=$.util.createBuffer(e.privateKeyExponent2).toHex(),f=$.util.createBuffer(e.privateKeyCoefficient).toHex(),Q.setRsaPrivateKey(new se(i,16),new se(s,16),new se(o,16),new se(a,16),new se(c,16),new se(u,16),new se(l,16),new se(f,16))};Q.privateKeyToAsn1=Q.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Zt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Zt(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Zt(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Zt(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Zt(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Zt(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Zt(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Zt(t.qInv))])};Q.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,B1,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==Q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,T1,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=$.util.createBuffer(e.publicKeyModulus).toHex(),o=$.util.createBuffer(e.publicKeyExponent).toHex();return Q.setRsaPublicKey(new se(s,16),new se(o,16))};Q.publicKeyToAsn1=Q.publicKeyToSubjectPublicKeyInfo=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[Q.publicKeyToRSAPublicKey(t)])])};Q.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Zt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Zt(t.e))])};function W0(t,e,r){var n=$.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=$.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 Js(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=$.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 D1(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){$.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(se.ONE).gcd(t.e).compareTo(se.ONE)!==0){t.p=null,i();return}if(t.q.subtract(se.ONE).gcd(t.e).compareTo(se.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(se.ONE),t.q1=t.q.subtract(se.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(se.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:Q.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:Q.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Zt(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 N1(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 $0(t){return $.util.isNodejs&&typeof uc[t]=="function"}function H0(t){return typeof Bt.globalScope<"u"&&typeof Bt.globalScope.crypto=="object"&&typeof Bt.globalScope.crypto.subtle=="object"&&typeof Bt.globalScope.crypto.subtle[t]=="function"}function z0(t){return typeof Bt.globalScope<"u"&&typeof Bt.globalScope.msCrypto=="object"&&typeof Bt.globalScope.msCrypto.subtle=="object"&&typeof Bt.globalScope.msCrypto.subtle[t]=="function"}function G0(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 th=V((vS,eh)=>{var M=pe();$s();Fi();o0();nn();Us();ec();d0();Vi();A0();eo();ke();typeof X0>"u"&&(X0=M.jsbn.BigInteger);var X0,A=M.asn1,Z=M.pki=M.pki||{};eh.exports=Z.pbe=M.pbe=M.pbe||{};var an=Z.oids,k1={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"}]},O1={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"}]}]},M1={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"}]};Z.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=an["aes128-CBC"],f=M.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=an["aes192-CBC"],f=M.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=an["aes256-CBC"],f=M.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=an.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=J0(p),m=M.pkcs5.pbkdf2(e,n,i,o,h),y=M.random.getBytesSync(u),g=f(m);g.start(y),g.update(A.toDer(t)),g.finish(),c=g.output.getBytes();var x=U1(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(an.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(an.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,y)])])])}else if(r.algorithm==="3des"){o=24;var b=new M.util.ByteBuffer(n),m=Z.pbe.generatePkcs12Key(e,b,1,i,o),y=Z.pbe.generatePkcs12Key(e,b,2,i,o),g=M.des.createEncryptionCipher(m);g.start(y),g.update(A.toDer(t)),g.finish(),c=g.output.getBytes(),a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(an["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 C=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[a,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,c)]);return C};Z.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!A.validate(t,k1,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=Z.pbe.getCipher(o,n.encryptionParams,e),c=M.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=A.fromDer(a.output)),r};Z.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(t).getBytes()};return M.pem.encode(r,{maxline:e})};Z.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)};Z.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Z.wrapRsaPrivateKey(Z.privateKeyToAsn1(t));return n=Z.encryptPrivateKeyInfo(n,e,r),Z.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(Z.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)};Z.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=Z.decryptPrivateKeyInfo(A.fromDer(r),e):r=A.fromDer(r),r!==null&&(r=Z.privateKeyFromAsn1(r)),r};Z.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),y=new M.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%p));var g=u*Math.ceil(d/u),x=new M.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%d));var b=y;b.putBuffer(x);for(var C=Math.ceil(i/c),_=1;_<=C;_++){var S=new M.util.ByteBuffer;S.putBytes(h.bytes()),S.putBytes(b.bytes());for(var P=0;P<n;P++)s.start(),s.update(S.getBytes()),S=s.digest();var D=new M.util.ByteBuffer;for(a=0;a<u;a++)D.putByte(S.at(a%c));var Y=Math.ceil(p/u)+Math.ceil(d/u),W=new M.util.ByteBuffer;for(o=0;o<Y;o++){var H=new M.util.ByteBuffer(b.getBytes(u)),te=511;for(a=D.length()-1;a>=0;a--)te=te>>8,te+=D.at(a)+H.at(a),H.setAt(a,te&255);W.putBuffer(H)}b=W,l.putBuffer(S)}return l.truncate(l.length()-i),l};Z.pbe.getCipher=function(t,e,r){switch(t){case Z.oids.pkcs5PBES2:return Z.pbe.getCipherForPBES2(t,e,r);case Z.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Z.oids["pbewithSHAAnd40BitRC2-CBC"]:return Z.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}};Z.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!A.validate(e,O1,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!==Z.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!==Z.oids["aes128-CBC"]&&t!==Z.oids["aes192-CBC"]&&t!==Z.oids["aes256-CBC"]&&t!==Z.oids["des-EDE3-CBC"]&&t!==Z.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(Z.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=j0(n.prfOid),f=M.pkcs5.pbkdf2(r,o,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};Z.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!A.validate(e,M1,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 Z.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=M.des.startDecrypting;break;case Z.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=M.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=j0(n.prfOid),d=Z.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=Z.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(d,p)};Z.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=[Z0(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(Z0(n,i[o-1]+t+e));return i.join("").substr(0,r)};function Z0(t,e){return t.start().update(e).digest().getBytes()}function j0(t){var e;if(!t)e="hmacWithSHA1";else if(e=Z.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 J0(e)}function J0(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 U1(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(Z.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var ud=V((vR,cd)=>{var Se=pe();nn();ke();var Ji=cd.exports=Se.sha512=Se.sha512||{};Se.md.sha512=Se.md.algorithms.sha512=Ji;var od=Se.sha384=Se.sha512.sha384=Se.sha512.sha384||{};od.create=function(){return Ji.create("SHA-384")};Se.md.sha384=Se.md.algorithms.sha384=od;Se.sha512.sha256=Se.sha512.sha256||{create:function(){return Ji.create("SHA-512/256")}};Se.md["sha512/256"]=Se.md.algorithms["sha512/256"]=Se.sha512.sha256;Se.sha512.sha224=Se.sha512.sha224||{create:function(){return Ji.create("SHA-512/224")}};Se.md["sha512/224"]=Se.md.algorithms["sha512/224"]=Se.sha512.sha224;Ji.create=function(t){if(ad||ob(),typeof t>"u"&&(t="SHA-512"),!(t in xn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=xn[t],r=null,n=Se.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=Se.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=Se.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),sd(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Se.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(uu.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);sd(m,i,c);var y=Se.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var h=0;h<g;++h)y.putInt32(m[h][0]),(h!==g-1||t!=="SHA-512/224")&&y.putInt32(m[h][1]);return y},a};var uu=null,ad=!1,lu=null,xn=null;function ob(){uu=String.fromCharCode(128),uu+=Se.util.fillString(String.fromCharCode(0),128),lu=[[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]],xn={},xn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],xn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],xn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],xn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],ad=!0}function sd(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,y,g,x,b,C,_,S,P,D,Y,W,H,te,me,je,T,k,L,N,I,F,q,G=r.length();G>=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,F=e[T-15],k=F[0],L=F[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,I=e[T-7],q=e[T-16],L=i+I[1]+o+q[1],e[T][0]=n+I[0]+s+q[0]+(L/4294967296>>>0)>>>0,e[T][1]=L>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],b=t[2][0],C=t[2][1],_=t[3][0],S=t[3][1],P=t[4][0],D=t[4][1],Y=t[5][0],W=t[5][1],H=t[6][0],te=t[6][1],me=t[7][0],je=t[7][1],T=0;T<80;++T)u=((P>>>14|D<<18)^(P>>>18|D<<14)^(D>>>9|P<<23))>>>0,l=((P<<18|D>>>14)^(P<<14|D>>>18)^(D<<23|P>>>9))>>>0,f=(H^P&(Y^H))>>>0,d=(te^D&(W^te))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,p=(m&g|b&(m^g))>>>0,h=(y&x|C&(y^x))>>>0,L=je+l+d+lu[T][1]+e[T][1],n=me+u+f+lu[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,me=H,je=te,H=Y,te=W,Y=P,W=D,L=S+i,P=_+n+(L/4294967296>>>0)>>>0,D=L>>>0,_=b,S=C,b=g,C=x,g=m,x=y,L=i+o,m=n+s+(L/4294967296>>>0)>>>0,y=L>>>0;L=t[0][1]+y,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]+g+(L/4294967296>>>0)>>>0,t[1][1]=L>>>0,L=t[2][1]+C,t[2][0]=t[2][0]+b+(L/4294967296>>>0)>>>0,t[2][1]=L>>>0,L=t[3][1]+S,t[3][0]=t[3][0]+_+(L/4294967296>>>0)>>>0,t[3][1]=L>>>0,L=t[4][1]+D,t[4][0]=t[4][0]+P+(L/4294967296>>>0)>>>0,t[4][1]=L>>>0,L=t[5][1]+W,t[5][0]=t[5][0]+Y+(L/4294967296>>>0)>>>0,t[5][1]=L>>>0,L=t[6][1]+te,t[6][0]=t[6][0]+H+(L/4294967296>>>0)>>>0,t[6][1]=L>>>0,L=t[7][1]+je,t[7][0]=t[7][0]+me+(L/4294967296>>>0)>>>0,t[7][1]=L>>>0,G-=128}}});var Ru=V((X4,Ud)=>{var li=1e3,fi=li*60,hi=fi*60,vn=hi*24,Ob=vn*7,Mb=vn*365.25;Ud.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Ub(t);if(r==="number"&&isFinite(t))return e.long?Kb(t):Fb(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Ub(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*Mb;case"weeks":case"week":case"w":return r*Ob;case"days":case"day":case"d":return r*vn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*hi;case"minutes":case"minute":case"mins":case"min":case"m":return r*fi;case"seconds":case"second":case"secs":case"sec":case"s":return r*li;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Fb(t){var e=Math.abs(t);return e>=vn?Math.round(t/vn)+"d":e>=hi?Math.round(t/hi)+"h":e>=fi?Math.round(t/fi)+"m":e>=li?Math.round(t/li)+"s":t+"ms"}function Kb(t){var e=Math.abs(t);return e>=vn?Io(t,e,vn,"day"):e>=hi?Io(t,e,hi,"hour"):e>=fi?Io(t,e,fi,"minute"):e>=li?Io(t,e,li,"second"):t+" ms"}function Io(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Kd=V((Z4,Fd)=>{function Vb(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=Ru(),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(...y){if(!m.enabled)return;let g=m,x=Number(new Date),b=x-(f||x);g.diff=b,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let C=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(S,P)=>{if(S==="%%")return"%";C++;let D=r.formatters[P];if(typeof D=="function"){let Y=y[C];S=D.call(g,Y),y.splice(C,1),C--}return S}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}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:y=>{d=y}}),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}Fd.exports=Vb});var Cu=V((_t,Ro)=>{_t.formatArgs=$b;_t.save=Hb;_t.load=zb;_t.useColors=qb;_t.storage=Gb();_t.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`."))}})();_t.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 qb(){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 $b(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ro.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)}_t.log=console.debug||console.log||(()=>{});function Hb(t){try{t?_t.storage.setItem("debug",t):_t.storage.removeItem("debug")}catch{}}function zb(){let t;try{t=_t.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Gb(){try{return localStorage}catch{}}Ro.exports=Kd()(_t);var{formatters:Yb}=Ro.exports;Yb.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Gd=V((gC,zd)=>{"use strict";zd.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var jd=V((Xd,Zd)=>{"use strict";var Lo=Gd(),{hasOwnProperty:Wd}=Object.prototype,{propertyIsEnumerable:ew}=Object,mi=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),tw=Xd,Yd={concatArrays:!1,ignoreUndefined:!1},Po=t=>{let e=[];for(let r in t)Wd.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)ew.call(t,n)&&e.push(n)}return e};function yi(t){return Array.isArray(t)?rw(t):Lo(t)?nw(t):t}function rw(t){let e=t.slice(0,0);return Po(t).forEach(r=>{mi(e,r,yi(t[r]))}),e}function nw(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Po(t).forEach(r=>{mi(e,r,yi(t[r]))}),e}var Qd=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?mi(t,i,Pu(t[i],e[i],n)):mi(t,i,yi(e[i])))}),t),iw=(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++)Wd.call(s,a)&&(o.push(String(a)),s===t?mi(n,i++,s[a]):mi(n,i++,yi(s[a])));n=Qd(n,s,Po(s).filter(a=>!o.includes(a)),r)}),n};function Pu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?iw(t,e,r):!Lo(e)||!Lo(t)?yi(e):Qd(t,e,Po(e),r)}Zd.exports=function(...t){let e=Pu(yi(Yd),this!==tw&&this||{},Yd),r={_:{}};for(let n of t)if(n!==void 0){if(!Lo(n))throw new TypeError("`"+n+"` is not an Option Object");r=Pu(r,{_:n},e)}return r._}});var tp=V((EC,ep)=>{"use strict";function sw(t){return t>=55296&&t<=56319}function ow(t){return t>=56320&&t<=57343}ep.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],sw(o)&&ow(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=e(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var np=V((bC,rp)=>{"use strict";function aw(t){return t>=55296&&t<=56319}function cw(t){return t>=56320&&t<=57343}rp.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,s=null,o=0;o<r;o++)i=e.charCodeAt(o),cw(i)?s!=null&&aw(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var sp=V((wC,ip)=>{"use strict";var uw=tp(),lw=np();ip.exports=uw.bind(null,lw)});var cp=V((vC,ap)=>{"use strict";var fw=sp(),hw=/[\/\?<>\\:\*\|"]/g,dw=/[\x00-\x1f\x80-\x9f]/g,pw=/^\.+$/,mw=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,yw=/[\. ]+$/;function op(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(hw,e).replace(dw,e).replace(pw,e).replace(mw,e).replace(yw,e);return fw(r,255)}ap.exports=function(t,e){var r=e&&e.replacement||"",n=op(t,r);return r===""?n:op(n,"")}});var Np=V((QT,Ju)=>{"use strict";var Ww=Object.prototype.hasOwnProperty,pt="~";function ps(){}Object.create&&(ps.prototype=Object.create(null),new ps().__proto__||(pt=!1));function Qw(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function Dp(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new Qw(r,n||t,i),o=pt?pt+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 Fo(t,e){--t._eventsCount===0?t._events=new ps:delete t._events[e]}function ft(){this._events=new ps,this._eventsCount=0}ft.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Ww.call(r,n)&&e.push(pt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};ft.prototype.listeners=function(e){var r=pt?pt+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};ft.prototype.listenerCount=function(e){var r=pt?pt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};ft.prototype.emit=function(e,r,n,i,s,o){var a=pt?pt+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};ft.prototype.on=function(e,r,n){return Dp(this,e,r,n,!1)};ft.prototype.once=function(e,r,n){return Dp(this,e,r,n,!0)};ft.prototype.removeListener=function(e,r,n,i){var s=pt?pt+e:e;if(!this._events[s])return this;if(!r)return Fo(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Fo(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:Fo(this,s)}return this};ft.prototype.removeAllListeners=function(e){var r;return e?(r=pt?pt+e:e,this._events[r]&&Fo(this,r)):(this._events=new ps,this._eventsCount=0),this};ft.prototype.off=ft.prototype.removeListener;ft.prototype.addListener=ft.prototype.on;ft.prefixed=pt;ft.EventEmitter=ft;typeof Ju<"u"&&(Ju.exports=ft)});var Sl=V((hB,em)=>{"use strict";function Jp(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function uv(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 Jp(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Jp(new i,r)}}em.exports=uv});var om=V(ws=>{(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}(),ws.ip2long=o,ws.long2ip=a,ws.Netmask=t}).call(ws)});var lm=V((um,oa)=>{(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,y=-1,g=(p.match(a.zoneIndex)||[])[0],x,b;for(g&&(g=g.substring(1),p=p.replace(/%.+$/,""));(y=p.indexOf(":",y+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 C=p.split(":"),_=[];for(let S=0;S<C.length;S++)_.push(parseInt(C[S],16));return _}(),{parts:h,zoneId:g}}function u(p,h,m,y){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;y>0;){if(x=m-y,x<0&&(x=0),p[g]>>x!==h[g]>>x)return!1;y-=m,g+=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,y;for(m=0;m<h.length;m++)if(y=h[m],!(0<=y&&y<=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 y;if(m===void 0&&(y=h,h=y[0],m=y[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,y={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 y){if(b=y[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(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}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,y,g,x;try{for(h=this.parseCIDR(p),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}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 y=[this.parse(h[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,m,y;if(h=p.match(r.fourOctet))return function(){let g=h.slice(1,6),x=[];for(let b=0;b<g.length;b++)m=g[b],x.push(l(m));return x}();if(h=p.match(r.longValue)){if(y=l(h[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(y>>x&255);return g}().reverse()}else return(h=p.match(r.twoOctet))?function(){let g=h.slice(1,4),x=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(y>>16&255),x.push(y>>8&255),x.push(y&255),x}():(h=p.match(r.threeOctet))?function(){let g=h.slice(1,5),x=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(l(g[1])),x.push(y>>8&255),x.push(y&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,y=Math.floor(p/8);for(;m<y;)h[m]=255,m++;return y<4&&(h[y]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,m){let y,g;if(h.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(h[y]<<8|h[y+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=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 y;if(m===void 0&&(y=h,h=y[0],m=y[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,y={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 y){if(x=y[g],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=[],y=this.parts;for(let g=0;g<y.length;g++)h=y[g],m.push(h>>8),m.push(h&255);return m},p.prototype.toFixedLengthString=function(){let h=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.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],y=h[1];return new d.IPv4([m>>8,m&255,y>>8,y&255])},p.prototype.toNormalizedString=function(){let h=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=h.exec(m);)x[0].length>g&&(y=x.index,g=x[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},p.prototype.toString=function(){return this.toRFC5952String()},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}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,y,g,x;try{for(h=this.parseCIDR(p),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}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,y;if((m=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(m[2]),h>=0&&h<=128))return y=[this.parse(m[1]),h],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,m,y,g,x,b;if(y=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(p))return c(p,8);if((y=p.match(a.transitional))&&(b=y[6]||"",h=c(y[1].slice(0,-1)+b,6),h.parts)){for(x=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<x.length;m++)if(g=x[m],!(0<=g&&g<=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,y=Math.floor(p/8);for(;m<y;)h[m]=255,m++;return y<16&&(h[y]=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 y,g,x,b;m==null&&(m="unicast");for(g in h)if(Object.prototype.hasOwnProperty.call(h,g)){for(x=h[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(b=x[y],p.kind()===b[0].kind()&&p.match.apply(p,b))return g}return m},typeof oa<"u"&&oa.exports?oa.exports=d:t.ipaddr=d})(um)});var Rm=V((lL,Im)=>{"use strict";Im.exports=Am;var Lv=Ru(),Zr=Am.prototype,Pv=new Date%1e9;function Dv(){return(Math.random()*1e9>>>0)+Pv++}function Am(t){t=t||{},this.id=t.id||Dv(),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)}Zr.has=function(t){return t in this._lookup};Zr.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};Zr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Zr.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};Zr.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};Zr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=Lv(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};Zr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Zr.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 Ss=V((LL,km)=>{km.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 Mm=V((DL,Om)=>{Om.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 Fm=V((NL,Um)=>{var Mv=Mm();Um.exports=Mv});var Rt=V((OL,Km)=>{Km.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 Ri=V((UL,qm)=>{var Fl=Ss(),Uv=Fm(),Vm=Rt();qm.exports=class extends Fl{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new Uv}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 Fl?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 Fl))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 Vm(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 Vm(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 Hm=V((FL,$m)=>{var Fv=Ri(),Kv=Rt(),Kl="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} ",Vl=class extends Fv{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Kl})}_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 Kv;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(Kl,1,e,r,s,u)}):this.client.eval(Kl,{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)}};$m.exports=Vl});var Ym=V((KL,Gm)=>{var Vv=Ri(),qv=Rt();function zm(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 ql=class t extends Vv{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=zm(this.client)}):(this._initCollection(),this._driverVersion=zm(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 qv,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(y=>l(y)).catch(y=>f(y)):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)}};Gm.exports=ql});var Qm=V((VL,Wm)=>{var $v=Ri(),Hv=Rt(),$l=class extends $v{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 Hv,[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 (?, ?, ?)
|
|
2
|
+
"use strict";var Libp2P=(()=>{var Oy=Object.create;var Ps=Object.defineProperty;var My=Object.getOwnPropertyDescriptor;var Uy=Object.getOwnPropertyNames;var Fy=Object.getPrototypeOf,Ky=Object.prototype.hasOwnProperty;var V=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),zt=(e,t)=>{for(var r in t)Ps(e,r,{get:t[r],enumerable:!0})},wf=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Uy(t))!Ky.call(e,i)&&i!==r&&Ps(e,i,{get:()=>t[i],enumerable:!(n=My(t,i))||n.enumerable});return e};var mt=(e,t,r)=>(r=e!=null?Oy(Fy(e)):{},wf(t||!e||!e.__esModule?Ps(r,"default",{value:e,enumerable:!0}):r,e)),Vy=e=>wf(Ps({},"__esModule",{value:!0}),e);var dt=V((A_,vf)=>{vf.exports={options:{usePureJavaScript:!1}}});var Af=V((I_,Sf)=>{var Ma={};Sf.exports=Ma;var _f={};Ma.encode=function(e,t,r){if(typeof t!="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(!(e instanceof Uint8Array))n=qy(e,t);else{var i=0,s=t.length,o=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,u=e[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;e[i]===0&&i<e.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
|
|
3
|
+
`)}return n};Ma.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=_f[t];if(!r){r=_f[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,s=t.charAt(0),o=[0],n=0;n<e.length;n++){var a=r[e.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;e[l]===s&&l<e.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function qy(e,t){var r=0,n=t.length,i=t.charAt(0),s=[0];for(r=0;r<e.length();++r){for(var o=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=t[s[r]];return c}});var Nt=V((R_,Tf)=>{var If=dt(),Rf=Af(),E=Tf.exports=If.util=If.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){E.nextTick=process.nextTick,typeof setImmediate=="function"?E.setImmediate=setImmediate:E.setImmediate=E.nextTick;return}if(typeof setImmediate=="function"){E.setImmediate=function(){return setImmediate.apply(void 0,arguments)},E.nextTick=function(a){return setImmediate(a)};return}if(E.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(l){l()})}};var o=a,e="forge.setImmediate",t=[];E.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=E.setImmediate;E.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}E.nextTick=E.setImmediate})();E.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;E.globalScope=function(){return E.isNodejs?globalThis:typeof self>"u"?window:self}();E.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};E.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};E.isArrayBufferView=function(e){return e&&E.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Ni(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}E.ByteBuffer=Ua;function Ua(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(E.isArrayBuffer(e)||E.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof Ua||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}E.ByteStringBuffer=Ua;var $y=4096;E.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>$y&&(this.data.substr(0,1),this._constructedStringLength=0)};E.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};E.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};E.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};E.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};E.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};E.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(E.encodeUtf8(e))};E.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};E.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};E.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};E.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};E.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};E.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};E.ByteStringBuffer.prototype.putInt=function(e,t){Ni(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};E.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};E.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};E.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};E.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};E.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};E.ByteStringBuffer.prototype.getInt32=function(){var e=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,e};E.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};E.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};E.ByteStringBuffer.prototype.getInt32Le=function(){var e=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,e};E.ByteStringBuffer.prototype.getInt=function(e){Ni(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};E.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};E.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};E.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};E.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};E.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};E.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};E.ByteStringBuffer.prototype.copy=function(){var e=E.createBuffer(this.data);return e.read=this.read,e};E.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};E.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};E.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};E.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};E.ByteStringBuffer.prototype.toString=function(){return E.decodeUtf8(this.bytes())};function Hy(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=E.isArrayBuffer(e),n=E.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}E.DataBuffer=Hy;E.DataBuffer.prototype.length=function(){return this.write-this.read};E.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};E.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};E.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};E.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};E.DataBuffer.prototype.putBytes=function(e,t){if(E.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.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(E.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof E.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&E.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof E.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var s;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.hex.decode(e,s,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.base64.decode(e,s,this.write),this;if(t==="utf8"&&(e=E.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.raw.decode(s),this;if(t==="utf16")return this.accommodate(e.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=E.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};E.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};E.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};E.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};E.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};E.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};E.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};E.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};E.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};E.DataBuffer.prototype.putInt=function(e,t){Ni(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};E.DataBuffer.prototype.putSignedInt=function(e,t){return Ni(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};E.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};E.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};E.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};E.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};E.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};E.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};E.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};E.DataBuffer.prototype.getInt=function(e){Ni(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};E.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};E.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};E.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};E.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};E.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};E.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};E.DataBuffer.prototype.copy=function(){return new E.DataBuffer(this)};E.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};E.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};E.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};E.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};E.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return E.binary.raw.encode(t);if(e==="hex")return E.binary.hex.encode(t);if(e==="base64")return E.binary.base64.encode(t);if(e==="utf8")return E.text.utf8.decode(t);if(e==="utf16")return E.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};E.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=E.encodeUtf8(e)),new E.ByteBuffer(e)};E.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};E.xorBytes=function(e,t,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=e.charCodeAt(o)^t.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};E.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};E.bytesToHex=function(e){return E.createBuffer(e).toHex()};E.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Cr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Tr=[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],Cf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";E.encode64=function(e,t){for(var r="",n="",i,s,o,a=0;a<e.length;)i=e.charCodeAt(a++),s=e.charCodeAt(a++),o=e.charCodeAt(a++),r+=Cr.charAt(i>>2),r+=Cr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Cr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Cr.charAt(o&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
4
|
+
`,r=r.substr(t));return n+=r,n};E.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,s,o=0;o<e.length;)r=Tr[e.charCodeAt(o++)-43],n=Tr[e.charCodeAt(o++)-43],i=Tr[e.charCodeAt(o++)-43],s=Tr[e.charCodeAt(o++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(t+=String.fromCharCode((i&3)<<6|s)));return t};E.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};E.decodeUtf8=function(e){return decodeURIComponent(escape(e))};E.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Rf.encode,decode:Rf.decode}};E.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};E.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,s=0;s<e.length;++s)n[i++]=e.charCodeAt(s);return t?i-r:n};E.binary.hex.encode=E.bytesToHex;E.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,s=r;for(e.length&1&&(i=1,n[s++]=parseInt(e[0],16));i<e.length;i+=2)n[s++]=parseInt(e.substr(i,2),16);return t?s-r:n};E.binary.base64.encode=function(e,t){for(var r="",n="",i,s,o,a=0;a<e.byteLength;)i=e[a++],s=e[a++],o=e[a++],r+=Cr.charAt(i>>2),r+=Cr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Cr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Cr.charAt(o&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
5
|
+
`,r=r.substr(t));return n+=r,n};E.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<e.length;)i=Tr[e.charCodeAt(c++)-43],s=Tr[e.charCodeAt(c++)-43],o=Tr[e.charCodeAt(c++)-43],a=Tr[e.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 t?u-r:n.subarray(0,u)};E.binary.base58.encode=function(e,t){return E.binary.baseN.encode(e,Cf,t)};E.binary.base58.decode=function(e,t){return E.binary.baseN.decode(e,Cf,t)};E.text={utf8:{},utf16:{}};E.text.utf8.encode=function(e,t,r){e=E.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,s=0;s<e.length;++s)n[i++]=e.charCodeAt(s);return t?i-r:n};E.text.utf8.decode=function(e){return E.decodeUtf8(String.fromCharCode.apply(null,e))};E.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<e.length;++a)i[o++]=e.charCodeAt(a),s+=2;return t?s-r:n};E.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};E.deflate=function(e,t,r){if(t=E.decode64(e.deflate(E.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};E.inflate=function(e,t,r){var n=e.inflate(E.encode64(t)).rval;return n===null?null:E.decode64(n)};var Fa=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=E.encode64(JSON.stringify(r)),n=e.setItem(t,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}},Ka=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.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(E.decode64(r))),r},zy=function(e,t,r,n){var i=Ka(e,t);i===null&&(i={}),i[r]=n,Fa(e,t,i)},Gy=function(e,t,r){var n=Ka(e,t);return n!==null&&(n=r in n?n[r]:null),n},Yy=function(e,t,r){var n=Ka(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),Fa(e,t,n)}},Wy=function(e,t){Fa(e,t,null)},Ds=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),s=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};E.setItem=function(e,t,r,n,i){Ds(zy,arguments,i)};E.getItem=function(e,t,r,n){return Ds(Gy,arguments,n)};E.removeItem=function(e,t,r,n){Ds(Yy,arguments,n)};E.clearItems=function(e,t,r){Ds(Wy,arguments,r)};E.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};E.format=function(e){for(var t=/%./g,r,n,i=0,s=[],o=0;r=t.exec(e);){n=e.substring(o,t.lastIndex-2),n.length>0&&s.push(n),o=t.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(e.substring(o)),s.join("")};E.formatNumber=function(e,t,r,n){var i=e,s=isNaN(t=Math.abs(t))?2:t,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):"")};E.formatSize=function(e){return e>=1073741824?e=E.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=E.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=E.formatNumber(e/1024,0)+" KiB":e=E.formatNumber(e,0)+" bytes",e};E.bytesFromIP=function(e){return e.indexOf(".")!==-1?E.bytesFromIPv4(e):e.indexOf(":")!==-1?E.bytesFromIPv6(e):null};E.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=E.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};E.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(o){return o.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=E.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=E.hexToBytes(e[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};E.bytesToIP=function(e){return e.length===4?E.bytesToIPv4(e):e.length===16?E.bytesToIPv6(e):null};E.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};E.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var s=E.bytesToHex(e[i]+e[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=t.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))}t.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};E.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in E&&!e.update)return t(null,E.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return E.cores=navigator.hardwareConcurrency,t(null,E.cores);if(typeof Worker>"u")return E.cores=1,t(null,E.cores);if(typeof Blob>"u")return E.cores=2,t(null,E.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 E.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,E.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(h){if(u.push(h.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]=[],h=0;h<o;++h)if(u!==h){var p=a[h];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(h)}return c.reduce(function(d,m){return Math.max(d,m.length)},0)}}});var Ns=V((C_,Bf)=>{var ki=dt();ki.pki=ki.pki||{};var Va=Bf.exports=ki.pki.oids=ki.oids=ki.oids||{};function B(e,t){Va[e]=t,Va[t]=e}function ut(e,t){Va[e]=t}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");ut("2.5.29.1","authorityKeyIdentifier");ut("2.5.29.2","keyAttributes");ut("2.5.29.3","certificatePolicies");ut("2.5.29.4","keyUsageRestriction");ut("2.5.29.5","policyMapping");ut("2.5.29.6","subtreesConstraint");ut("2.5.29.7","subjectAltName");ut("2.5.29.8","issuerAltName");ut("2.5.29.9","subjectDirectoryAttributes");ut("2.5.29.10","basicConstraints");ut("2.5.29.11","nameConstraints");ut("2.5.29.12","policyConstraints");ut("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");ut("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");ut("2.5.29.20","cRLNumber");ut("2.5.29.21","cRLReason");ut("2.5.29.22","expirationDate");ut("2.5.29.23","instructionCode");ut("2.5.29.24","invalidityDate");ut("2.5.29.25","cRLDistributionPoints");ut("2.5.29.26","issuingDistributionPoint");ut("2.5.29.27","deltaCRLIndicator");ut("2.5.29.28","issuingDistributionPoint");ut("2.5.29.29","certificateIssuer");ut("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");ut("2.5.29.33","policyMappings");ut("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");ut("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");ut("2.5.29.46","freshestCRL");ut("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 Mi=V((T_,Pf)=>{var vt=dt();Nt();Ns();var O=Pf.exports=vt.asn1=vt.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(e,t,r,n,i){if(vt.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:e,type:t,constructed:r,composed:r||vt.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=O.copy(a)),a};O.copy=function(e,t){var r;if(vt.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(O.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:O.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};O.equals=function(e,t,r){if(vt.util.isArray(e)){if(!vt.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!O.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&O.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};O.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function Oi(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var Qy=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;Oi(e,t,s),n=e.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};O.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=vt.util.createBuffer(e));var r=e.length(),n=ks(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function ks(e,t,r,n){var i;Oi(e,t,2);var s=e.getByte();t--;var o=s&192,a=s&31;i=e.length();var c=Qy(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var l,f,h=(s&32)===32;if(h)if(l=[],c===void 0)for(;;){if(Oi(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),l.push(ks(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),l.push(ks(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(l===void 0&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&(f=e.bytes(c)),l===void 0&&n.decodeBitStrings&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&c>1){var p=e.read,d=t,m=0;if(a===O.Type.BITSTRING&&(Oi(e,t,1),m=e.getByte(),t--),m===0)try{i=e.length();var y={strict:!0,decodeBitStrings:!0},g=ks(e,t,r+1,y),x=i-e.length();t-=x,a==O.Type.BITSTRING&&x++;var b=g.tagClass;x===c&&(b===O.Class.UNIVERSAL||b===O.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(e.read=p,t=d)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===O.Type.BMPSTRING)for(l="";c>0;c-=2)Oi(e,t,2),l+=String.fromCharCode(e.getInt16()),t-=2;else l=e.getBytes(c),t-=c}var C=f===void 0?null:{bitStringContents:f};return O.create(o,a,h,l,C)}O.toDer=function(e){var t=vt.util.createBuffer(),r=e.tagClass|e.type,n=vt.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=O.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var s=0;s<e.value.length;++s)e.value[s]!==void 0&&n.putBuffer(O.toDer(e.value[s]))}else if(e.type===O.Type.BMPSTRING)for(var s=0;s<e.value.length;++s)n.putInt16(e.value.charCodeAt(s));else e.type===O.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);t.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)t.putByte(a.charCodeAt(s))}return t.putBuffer(n),t};O.oidToDer=function(e){var t=e.split("."),r=vt.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,s,o,a=2;a<t.length;++a){n=!0,i=[],s=parseInt(t[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(e){var t;typeof e=="string"&&(e=vt.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};O.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),s=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(s,o,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var l=parseInt(e.substr(u+1,2),10),f=parseInt(e.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?t.setTime(+t-h):t.setTime(+t+h)}return t};O.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,l=!1;e.charAt(e.length-1)==="Z"&&(l=!0);var f=e.length-5,h=e.charAt(f);if(h==="+"||h==="-"){var p=parseInt(e.substr(f+1,2),10),d=parseInt(e.substr(f+4,2),10);u=p*60+d,u*=6e4,h==="+"&&(u*=-1),l=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),l?(t.setUTCFullYear(r,n,i),t.setUTCHours(s,o,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(s,o,a,c)),t};O.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};O.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};O.integerToDer=function(e){var t=vt.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};O.derToInteger=function(e){typeof e=="string"&&(e=vt.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};O.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&vt.util.isArray(t.value))for(var s=0,o=0;i&&o<t.value.length;++o)i=t.value[o].optional||!1,e.value[s]&&(i=O.validate(e.value[s],t.value[o],r,n),i?++s:t.value[o].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var Lf=/[^\\u0000-\\u00ff]/;O.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
6
|
+
`);for(var i="",s=0;s<t*r;++s)i+=" ";switch(n+=i+"Tag: ",e.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(e.tagClass===O.Class.UNIVERSAL)switch(n+=e.type,e.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+=e.type;if(n+=`
|
|
7
|
+
`,n+=i+"Constructed: "+e.constructed+`
|
|
8
|
+
`,e.composed){for(var o=0,a="",s=0;s<e.value.length;++s)e.value[s]!==void 0&&(o+=1,a+=O.prettyPrint(e.value[s],t+1,r),s+1<e.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",e.type===O.Type.OID){var c=O.derToOid(e.value);n+=c,vt.pki&&vt.pki.oids&&c in vt.pki.oids&&(n+=" ("+vt.pki.oids[c]+") ")}if(e.type===O.Type.INTEGER)try{n+=O.derToInteger(e.value)}catch{n+="0x"+vt.util.bytesToHex(e.value)}else if(e.type===O.Type.BITSTRING){if(e.value.length>1?n+="0x"+vt.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===O.Type.OCTETSTRING)Lf.test(e.value)||(n+="("+e.value+") "),n+="0x"+vt.util.bytesToHex(e.value);else if(e.type===O.Type.UTF8)try{n+=vt.util.decodeUtf8(e.value)}catch(l){if(l.message==="URI malformed")n+="0x"+vt.util.bytesToHex(e.value)+" (malformed UTF8)";else throw l}else e.type===O.Type.PRINTABLESTRING||e.type===O.Type.IA5String?n+=e.value:Lf.test(e.value)?n+="0x"+vt.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var $a=V((B_,Df)=>{var Gt=dt();Nt();Df.exports=Gt.cipher=Gt.cipher||{};Gt.cipher.algorithms=Gt.cipher.algorithms||{};Gt.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Gt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Gt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Gt.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Gt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Gt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Gt.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Gt.cipher.algorithms[e]=t};Gt.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Gt.cipher.algorithms?Gt.cipher.algorithms[e]:null};var qa=Gt.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};qa.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Gt.util.createBuffer(),this.output=e.output||Gt.util.createBuffer(),this.mode.start(t)};qa.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};qa.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var za=V((L_,Nf)=>{var Yt=dt();Nt();Yt.cipher=Yt.cipher||{};var tt=Nf.exports=Yt.cipher.modes=Yt.cipher.modes||{};tt.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};tt.ecb.prototype.start=function(e){};tt.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};tt.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};tt.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};tt.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};tt.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};tt.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=Os(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};tt.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};tt.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};tt.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};tt.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};tt.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Yt.util.createBuffer(),this._partialBytes=0};tt.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Os(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};tt.cfb.prototype.encrypt=function(e,t,r){var n=e.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]=e.getInt32()^this._outBlock[i],t.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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};tt.cfb.prototype.decrypt=function(e,t,r){var n=e.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]=e.getInt32(),t.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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};tt.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Yt.util.createBuffer(),this._partialBytes=0};tt.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Os(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};tt.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};tt.ofb.prototype.decrypt=tt.ofb.prototype.encrypt;tt.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Yt.util.createBuffer(),this._partialBytes=0};tt.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Os(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};tt.ctr.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(s>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Ms(this._inBlock)};tt.ctr.prototype.decrypt=tt.ctr.prototype.encrypt;tt.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Yt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};tt.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Yt.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Yt.util.createBuffer(e.additionalData):r=Yt.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Yt.util.createBuffer(e.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=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Ha(n*8)))}this._inBlock=this._j0.slice(0),Ms(this._inBlock),this._partialBytes=0,r=Yt.util.createBuffer(r),this._aDataLength=Ha(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()])};tt.gcm.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(this._outBlock[i]^=e.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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Ms(this._inBlock)};tt.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Ms(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};tt.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Yt.util.createBuffer();var n=this._aDataLength.concat(Ha(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};tt.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var s=e[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};tt.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};tt.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,s=this._m[r][i];t[0]^=s[0],t[1]^=s[1],t[2]^=s[2],t[3]^=s[3]}return t};tt.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};tt.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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)*t;a[c]=1<<t-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,e),t)}return s};tt.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function Os(e,t){if(typeof e=="string"&&(e=Yt.util.createBuffer(e)),Yt.util.isArray(e)&&e.length>4){var r=e;e=Yt.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Yt.util.isArray(e)){for(var i=[],s=t/4,n=0;n<s;++n)i.push(e.getInt32());e=i}return e}function Ms(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Ha(e){return[e/4294967296|0,e&4294967295]}});var Fs=V((P_,Uf)=>{var bt=dt();$a();za();Nt();Uf.exports=bt.aes=bt.aes||{};bt.aes.startEncrypting=function(e,t,r,n){var i=Us({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};bt.aes.createEncryptionCipher=function(e,t){return Us({key:e,output:null,decrypt:!1,mode:t})};bt.aes.startDecrypting=function(e,t,r,n){var i=Us({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};bt.aes.createDecryptionCipher=function(e,t){return Us({key:e,output:null,decrypt:!0,mode:t})};bt.aes.Algorithm=function(e,t){Wa||Of();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return Ya(r._w,n,i,!1)},decrypt:function(n,i){return Ya(r._w,n,i,!0)}}}),r._init=!1};bt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=bt.util.createBuffer(t);else if(bt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=bt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!bt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!bt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=Mf(t,e.decrypt&&!o),this._init=!0}};bt.aes._expandKey=function(e,t){return Wa||Of(),Mf(e,t)};bt.aes._updateBlock=Ya;$n("AES-ECB",bt.cipher.modes.ecb);$n("AES-CBC",bt.cipher.modes.cbc);$n("AES-CFB",bt.cipher.modes.cfb);$n("AES-OFB",bt.cipher.modes.ofb);$n("AES-CTR",bt.cipher.modes.ctr);$n("AES-GCM",bt.cipher.modes.gcm);function $n(e,t){var r=function(){return new bt.aes.Algorithm(e,t)};bt.cipher.registerAlgorithm(e,r)}var Wa=!1,qn=4,fe,Ga,kf,rn,Oe;function Of(){Wa=!0,kf=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;fe=new Array(256),Ga=new Array(256),rn=new Array(4),Oe=new Array(4);for(var t=0;t<4;++t)rn[t]=new Array(256),Oe[t]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,fe[r]=a,Ga[a]=r,c=e[a],i=e[r],s=e[i],o=e[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)rn[f][r]=u,Oe[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^e[e[e[i^o]]],n^=e[e[n]])}}function Mf(e,t){for(var r=e.slice(0),n,i=1,s=r.length,o=s+6+1,a=qn*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=fe[n>>>16&255]<<24^fe[n>>>8&255]<<16^fe[n&255]<<8^fe[n>>>24]^kf[i]<<24,i++):s>6&&c%s===4&&(n=fe[n>>>24]<<24^fe[n>>>16&255]<<16^fe[n>>>8&255]<<8^fe[n&255]),r[c]=r[c-s]^n;if(t){var u,l=Oe[0],f=Oe[1],h=Oe[2],p=Oe[3],d=r.slice(0);a=r.length;for(var c=0,m=a-qn;c<a;c+=qn,m-=qn)if(c===0||c===a-qn)d[c]=r[m],d[c+1]=r[m+3],d[c+2]=r[m+2],d[c+3]=r[m+1];else for(var y=0;y<qn;++y)u=r[m+y],d[c+(3&-y)]=l[fe[u>>>24]]^f[fe[u>>>16&255]]^h[fe[u>>>8&255]]^p[fe[u&255]];r=d}return r}function Ya(e,t,r,n){var i=e.length/4-1,s,o,a,c,u;n?(s=Oe[0],o=Oe[1],a=Oe[2],c=Oe[3],u=Ga):(s=rn[0],o=rn[1],a=rn[2],c=rn[3],u=fe);var l,f,h,p,d,m,y;l=t[0]^e[0],f=t[n?3:1]^e[1],h=t[2]^e[2],p=t[n?1:3]^e[3];for(var g=3,x=1;x<i;++x)d=s[l>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[p&255]^e[++g],m=s[f>>>24]^o[h>>>16&255]^a[p>>>8&255]^c[l&255]^e[++g],y=s[h>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^e[++g],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[h&255]^e[++g],l=d,f=m,h=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[p&255]^e[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^e[++g],r[2]=u[h>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^e[++g],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^e[++g]}function Us(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=bt.cipher.createDecipher(r,e.key):n=bt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof bt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Vf=V((D_,Kf)=>{var St=dt();$a();za();Nt();Kf.exports=St.des=St.des||{};St.des.startEncrypting=function(e,t,r,n){var i=Ks({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};St.des.createEncryptionCipher=function(e,t){return Ks({key:e,output:null,decrypt:!1,mode:t})};St.des.startDecrypting=function(e,t,r,n){var i=Ks({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};St.des.createDecryptionCipher=function(e,t){return Ks({key:e,output:null,decrypt:!0,mode:t})};St.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return Ff(r._keys,n,i,!1)},decrypt:function(n,i){return Ff(r._keys,n,i,!0)}}}),r._init=!1};St.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=St.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=ig(t),this._init=!0}};Ge("DES-ECB",St.cipher.modes.ecb);Ge("DES-CBC",St.cipher.modes.cbc);Ge("DES-CFB",St.cipher.modes.cfb);Ge("DES-OFB",St.cipher.modes.ofb);Ge("DES-CTR",St.cipher.modes.ctr);Ge("3DES-ECB",St.cipher.modes.ecb);Ge("3DES-CBC",St.cipher.modes.cbc);Ge("3DES-CFB",St.cipher.modes.cfb);Ge("3DES-OFB",St.cipher.modes.ofb);Ge("3DES-CTR",St.cipher.modes.ctr);function Ge(e,t){var r=function(){return new St.des.Algorithm(e,t)};St.cipher.registerAlgorithm(e,r)}var Xy=[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],Zy=[-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],Jy=[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],jy=[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],tg=[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],eg=[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],rg=[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],ng=[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 ig(e){for(var t=[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],h=[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],d=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=e.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,C=0;C<m;C++){var _=e.getInt32(),S=e.getInt32();b=(_>>>4^S)&252645135,S^=b,_^=b<<4,b=(S>>>-16^_)&65535,_^=b,S^=b<<-16,b=(_>>>2^S)&858993459,S^=b,_^=b<<2,b=(S>>>-16^_)&65535,_^=b,S^=b<<-16,b=(_>>>1^S)&1431655765,S^=b,_^=b<<1,b=(S>>>8^_)&16711935,_^=b,S^=b<<8,b=(_>>>1^S)&1431655765,S^=b,_^=b<<1,b=_<<8|S>>>20&240,_=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=b;for(var P=0;P<g.length;++P){g[P]?(_=_<<2|_>>>26,S=S<<2|S>>>26):(_=_<<1|_>>>27,S=S<<1|S>>>27),_&=-15,S&=-15;var D=t[_>>>28]|r[_>>>24&15]|n[_>>>20&15]|i[_>>>16&15]|s[_>>>12&15]|o[_>>>8&15]|a[_>>>4&15],Y=c[S>>>28]|u[S>>>24&15]|l[S>>>20&15]|f[S>>>16&15]|h[S>>>12&15]|p[S>>>8&15]|d[S>>>4&15];b=(Y>>>16^D)&65535,y[x++]=D^b,y[x++]=Y^b<<16}}return y}function Ff(e,t,r,n){var i=e.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=t[0],c=t[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],h=s[u];h!=l;h+=f){var p=c^e[h],d=(c>>>4|c<<28)^e[h+1];o=a,a=c,c=o^(Zy[p>>>24&63]|jy[p>>>16&63]|eg[p>>>8&63]|ng[p&63]|Xy[d>>>24&63]|Jy[d>>>16&63]|tg[d>>>8&63]|rg[d&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 Ks(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=St.cipher.createDecipher(r,e.key):n=St.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof St.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var nn=V((N_,qf)=>{var Vs=dt();qf.exports=Vs.md=Vs.md||{};Vs.md.algorithms=Vs.md.algorithms||{}});var Hf=V((k_,$f)=>{var cr=dt();nn();Nt();var sg=$f.exports=cr.hmac=cr.hmac||{};sg.create=function(){var e=null,t=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 cr.md.algorithms)t=cr.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else t=s;if(o===null)o=e;else{if(typeof o=="string")o=cr.util.createBuffer(o);else if(cr.util.isArray(o)){var a=o;o=cr.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>t.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),r=cr.util.createBuffer(),n=cr.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<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=o,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(s){t.update(s)},i.getMac=function(){var s=t.digest().bytes();return t.start(),t.update(n),t.update(s),t.digest()},i.digest=i.getMac,i}});var Ui=V(()=>{});var Qa=V((U_,zf)=>{var he=dt();Hf();nn();Nt();var og=he.pkcs5=he.pkcs5||{},ur;he.util.isNodejs&&!he.options.usePureJavaScript&&(ur=Ui());zf.exports=he.pbkdf2=og.pbkdf2=function(e,t,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),he.util.isNodejs&&!he.options.usePureJavaScript&&ur.pbkdf2&&(i===null||typeof i!="object")&&(ur.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),s?ur.pbkdf2Sync.length===4?ur.pbkdf2(e,t,r,n,function(b,C){if(b)return s(b);s(null,C.toString("binary"))}):ur.pbkdf2(e,t,r,n,i,function(b,C){if(b)return s(b);s(null,C.toString("binary"))}):ur.pbkdf2Sync.length===4?ur.pbkdf2Sync(e,t,r,n).toString("binary"):ur.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in he.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=he.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=he.hmac.create();l.start(i,e);var f="",h,p,d;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(t),l.update(he.util.int32ToBytes(m)),h=d=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(d),p=l.digest().getBytes(),h=he.util.xorBytes(h,p,o),d=p;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(t),l.update(he.util.int32ToBytes(m)),h=d=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(d),p=l.digest().getBytes(),h=he.util.xorBytes(h,p,o),d=p,++y,he.util.setImmediate(x);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var Wf=V((F_,Yf)=>{var $s=dt();Nt();var Gf=Yf.exports=$s.pem=$s.pem||{};Gf.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
9
|
+
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=qs(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=qs(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=qs(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=qs(e.headers[i]);return e.procType&&(r+=`\r
|
|
10
|
+
`),r+=$s.util.encode64(e.body,t.maxline||64)+`\r
|
|
11
|
+
`,r+="-----END "+e.type+`-----\r
|
|
12
|
+
`,r};Gf.decode=function(e){for(var t=[],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(e),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:$s.util.decode64(s[3])};if(t.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 h=c[f];if(!/\s/.test(h[0]))break;l+=h,u=f}if(s=l.match(n),s){for(var p={name:s[1],values:[]},d=s[2].split(","),m=0;m<d.length;++m)p.values.push(ag(d[m]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=d[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:d[0],parameters:d[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:d[0],type:d[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(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function qs(e){for(var t=e.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
|
|
13
|
+
`;for(var s=0,o=-1,i=0;i<t.length;++i,++s)if(s>65&&o!==-1){var a=t[o];a===","?(++o,t=t.substr(0,o)+`\r
|
|
14
|
+
`+t.substr(o)):t=t.substr(0,o)+`\r
|
|
15
|
+
`+a+t.substr(o+1),s=i-o-1,o=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(o=i);return t}function ag(e){return e.replace(/^\s+/,"")}});var t0=V((K_,jf)=>{var Ye=dt();nn();Nt();var Xf=jf.exports=Ye.sha256=Ye.sha256||{};Ye.md.sha256=Ye.md.algorithms.sha256=Xf;Xf.create=function(){Zf||cg();var e=null,t=Ye.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 t=Ye.util.createBuffer(),e={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=Ye.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 t.putBytes(i),Qf(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ye.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Xa.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:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};Qf(f,r,i);var h=Ye.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h.putInt32(f.h5),h.putInt32(f.h6),h.putInt32(f.h7),h},n};var Xa=null,Zf=!1,Jf=null;function cg(){Xa=String.fromCharCode(128),Xa+=Ye.util.fillString(String.fromCharCode(0),64),Jf=[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],Zf=!0}function Qf(e,t,r){for(var n,i,s,o,a,c,u,l,f,h,p,d,m,y,g,x=r.length();x>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(l=e.h0,f=e.h1,h=e.h2,p=e.h3,d=e.h4,m=e.h5,y=e.h6,g=e.h7,u=0;u<64;++u)o=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=y^d&(m^y),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=g+o+a+Jf[u]+t[u],i=s+c,g=y,y=m,m=d,d=p+n>>>0,p=h,h=f,f=l,l=n+i>>>0;e.h0=e.h0+l|0,e.h1=e.h1+f|0,e.h2=e.h2+h|0,e.h3=e.h3+p|0,e.h4=e.h4+d|0,e.h5=e.h5+m|0,e.h6=e.h6+y|0,e.h7=e.h7+g|0,x-=64}}});var r0=V((V_,e0)=>{var We=dt();Nt();var Hs=null;We.util.isNodejs&&!We.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Hs=Ui());var ug=e0.exports=We.prng=We.prng||{};ug.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,l){if(!l)return t.generateSync(u);var f=t.plugin.cipher,h=t.plugin.increment,p=t.plugin.formatKey,d=t.plugin.formatSeed,m=We.util.createBuffer();t.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return We.util.nextTick(function(){s(y)});var x=f(t.key,t.seed);t.generated+=x.length,m.putBytes(x),t.key=p(f(t.key,h(t.seed))),t.seed=d(f(t.key,t.seed)),We.util.setImmediate(y)}},t.generateSync=function(u){var l=t.plugin.cipher,f=t.plugin.increment,h=t.plugin.formatKey,p=t.plugin.formatSeed;t.key=null;for(var d=We.util.createBuffer();d.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&o();var m=l(t.key,t.seed);t.generated+=m.length,d.putBytes(m),t.key=h(l(t.key,f(t.seed))),t.seed=p(l(t.key,t.seed))}return d.getBytes(u)};function s(u){if(t.pools[0].messageLength>=32)return a(),u();var l=32-t.pools[0].messageLength<<5;t.seedFile(l,function(f,h){if(f)return u(f);t.collect(h),a(),u()})}function o(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var l=1,f=0;f<32;++f)t.reseeds%l===0&&(u.update(t.pools[f].digest().getBytes()),t.pools[f].start()),l=l<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var h=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(h),t.generated=0}function c(u){var l=null,f=We.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(_){return h.getRandomValues(_)});var p=We.util.createBuffer();if(l)for(;p.length()<u;){var d=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(d));try{l(m);for(var y=0;y<m.length;++y)p.putInt32(m[y])}catch(_){if(!(typeof QuotaExceededError<"u"&&_ instanceof QuotaExceededError))throw _}}if(p.length()<u)for(var g,x,b,C=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(C&65535),g=16807*(C>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),C=x&4294967295;for(var y=0;y<3;++y)b=C>>>(y<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(u)}return Hs?(t.seedFile=function(u,l){Hs.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},t.seedFileSync=function(u){return Hs.randomBytes(u).toString()}):(t.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},t.seedFileSync=c),t.collect=function(u){for(var l=u.length,f=0;f<l;++f)t.pools[t.pool].update(u.substr(f,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,l){for(var f="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);t.collect(f)},t.registerWorker=function(u){if(u===self)t.seedFile=function(f,h){function p(d){var m=d.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),h(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var h=f.data;h.forge&&h.forge.prng&&t.seedFile(h.forge.prng.needed,function(p,d){u.postMessage({forge:{prng:{err:p,bytes:d}}})})};u.addEventListener("message",l)}},t}});var Fi=V((q_,Za)=>{var Wt=dt();Fs();t0();r0();Nt();(function(){if(Wt.random&&Wt.random.getBytes){Za.exports=Wt.random;return}(function(e){var t={},r=new Array(4),n=Wt.util.createBuffer();t.formatKey=function(f){var h=Wt.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),Wt.aes._expandKey(f,!1)},t.formatSeed=function(f){var h=Wt.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),f},t.cipher=function(f,h){return Wt.aes._updateBlock(f,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(f){return++f[3],f},t.md=Wt.md.sha256;function i(){var f=Wt.prng.create(t);return f.getBytes=function(h,p){return f.generate(h,p)},f.getBytesSync=function(h){return f.generate(h)},f}var s=i(),o=null,a=Wt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Wt.options.usePureJavaScript||!Wt.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}e&&(e().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),e().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!Wt.random)Wt.random=s;else for(var l in s)Wt.random[l]=s[l];Wt.random.createInstance=i,Za.exports=Wt.random})(typeof jQuery<"u"?jQuery:null)})()});var o0=V(($_,s0)=>{var pe=dt();Nt();var Ja=[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],n0=[1,2,3,5],lg=function(e,t){return e<<t&65535|(e&65535)>>16-t},fg=function(e,t){return(e&65535)>>t|e<<16-t&65535};s0.exports=pe.rc2=pe.rc2||{};pe.rc2.expandKey=function(e,t){typeof e=="string"&&(e=pe.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Ja[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Ja[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Ja[r.at(a+1)^r.at(a+s)]);return r};var i0=function(e,t,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(e=pe.rc2.expandKey(e,t),u=0;u<64;u++)f.push(e.getInt16Le());r?(a=function(d){for(u=0;u<4;u++)d[u]+=f[l]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),d[u]=lg(d[u],n0[u]),l++},c=function(d){for(u=0;u<4;u++)d[u]+=f[d[(u+3)%4]&63]}):(a=function(d){for(u=3;u>=0;u--)d[u]=fg(d[u],n0[u]),d[u]-=f[l]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),l--},c=function(d){for(u=3;u>=0;u--)d[u]-=f[d[(u+3)%4]&63]});var h=function(d){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<d.length;g++)for(var x=0;x<d[g][0];x++)d[g][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(d,m){d&&typeof d=="string"&&(d=pe.util.createBuffer(d)),n=!1,i=pe.util.createBuffer(),s=m||new pe.util.createBuffer,o=d,p.output=s},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(d){var m=!0;if(r)if(d)m=d(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,p.update()),!r&&(m=i.length()===0,m))if(d)m=d(8,s,!r);else{var g=s.length(),x=s.at(g-1);x>g?m=!1:s.truncate(x)}return m}},p};pe.rc2.startEncrypting=function(e,t,r){var n=pe.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};pe.rc2.createEncryptionCipher=function(e,t){return i0(e,t,!0)};pe.rc2.startDecrypting=function(e,t,r){var n=pe.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};pe.rc2.createDecryptionCipher=function(e,t){return i0(e,t,!1)}});var Ys=V((H_,p0)=>{var ja=dt();p0.exports=ja.jsbn=ja.jsbn||{};var lr,hg=0xdeadbeefcafe,a0=(hg&16777215)==15715070;function R(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}ja.jsbn.BigInteger=R;function at(){return new R(null)}function dg(e,t,r,n,i,s){for(;--s>=0;){var o=t*this.data[e++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function pg(e,t,r,n,i,s){for(var o=t&32767,a=t>>15;--s>=0;){var c=this.data[e]&32767,u=this.data[e++]>>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 c0(e,t,r,n,i,s){for(var o=t&16383,a=t>>14;--s>=0;){var c=this.data[e]&16383,u=this.data[e++]>>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"?(R.prototype.am=c0,lr=28):a0&&navigator.appName=="Microsoft Internet Explorer"?(R.prototype.am=pg,lr=30):a0&&navigator.appName!="Netscape"?(R.prototype.am=dg,lr=26):(R.prototype.am=c0,lr=28);R.prototype.DB=lr;R.prototype.DM=(1<<lr)-1;R.prototype.DV=1<<lr;var tc=52;R.prototype.FV=Math.pow(2,tc);R.prototype.F1=tc-lr;R.prototype.F2=2*lr-tc;var mg="0123456789abcdefghijklmnopqrstuvwxyz",zs=new Array,Hn,Be;Hn="0".charCodeAt(0);for(Be=0;Be<=9;++Be)zs[Hn++]=Be;Hn="a".charCodeAt(0);for(Be=10;Be<36;++Be)zs[Hn++]=Be;Hn="A".charCodeAt(0);for(Be=10;Be<36;++Be)zs[Hn++]=Be;function u0(e){return mg.charAt(e)}function l0(e,t){var r=zs[e.charCodeAt(t)];return r??-1}function yg(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function gg(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Br(e){var t=at();return t.fromInt(e),t}function xg(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,s=0;--n>=0;){var o=r==8?e[n]&255:l0(e,n);if(o<0){e.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&&e[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&R.ZERO.subTo(this,this)}function Eg(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function bg(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=u0(n));o>=0;)a<t?(n=(this.data[o]&(1<<a)-1)<<t-a,n|=this.data[--o]>>(a+=this.DB-t)):(n=this.data[o]>>(a-=t)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=u0(n));return i?s:"0"}function wg(){var e=at();return R.ZERO.subTo(this,e),e}function vg(){return this.s<0?this.negate():this}function _g(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Gs(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function Sg(){return this.t<=0?0:this.DB*(this.t-1)+Gs(this.data[this.t-1]^this.s&this.DM)}function Ag(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Ig(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Rg(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(e/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)t.data[a]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function Cg(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,s=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)t.data[o-r-1]|=(this.data[o]&s)<<i,t.data[o-r]=this.data[o]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&s)<<i),t.t=this.t-r,t.clamp()}function Tg(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Bg(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&R.ZERO.subTo(t,t)}function Lg(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function Pg(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=at());var s=at(),o=this.s,a=e.s,c=this.DB-Gs(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),h=this.FV/f,p=(1<<this.F1)/f,d=1<<this.F2,m=r.t,y=m-u,g=t??at();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),R.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*h+(r.data[m-1]+d)*p);if((r.data[m]+=s.am(0,x,r,y,0,u))<x)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}t!=null&&(r.drShiftTo(u,t),o!=a&&R.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&R.ZERO.subTo(r,r)}}}function Dg(e){var t=at();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(R.ZERO)>0&&e.subTo(t,t),t}function sn(e){this.m=e}function Ng(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function kg(e){return e}function Og(e){e.divRemTo(this.m,null,e)}function Mg(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Ug(e,t){e.squareTo(t),this.reduce(t)}sn.prototype.convert=Ng;sn.prototype.revert=kg;sn.prototype.reduce=Og;sn.prototype.mulTo=Mg;sn.prototype.sqrTo=Ug;function Fg(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function on(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function Kg(e){var t=at();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(R.ZERO)>0&&this.m.subTo(t,t),t}function Vg(e){var t=at();return e.copyTo(t),this.reduce(t),t}function qg(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function $g(e,t){e.squareTo(t),this.reduce(t)}function Hg(e,t,r){e.multiplyTo(t,r),this.reduce(r)}on.prototype.convert=Kg;on.prototype.revert=Vg;on.prototype.reduce=qg;on.prototype.mulTo=Hg;on.prototype.sqrTo=$g;function zg(){return(this.t>0?this.data[0]&1:this.s)==0}function Gg(e,t){if(e>4294967295||e<1)return R.ONE;var r=at(),n=at(),i=t.convert(this),s=Gs(e)-1;for(i.copyTo(r);--s>=0;)if(t.sqrTo(r,n),(e&1<<s)>0)t.mulTo(n,i,r);else{var o=r;r=n,n=o}return t.revert(r)}function Yg(e,t){var r;return e<256||t.isEven()?r=new sn(t):r=new on(t),this.exp(e,r)}R.prototype.copyTo=yg;R.prototype.fromInt=gg;R.prototype.fromString=xg;R.prototype.clamp=Eg;R.prototype.dlShiftTo=Ag;R.prototype.drShiftTo=Ig;R.prototype.lShiftTo=Rg;R.prototype.rShiftTo=Cg;R.prototype.subTo=Tg;R.prototype.multiplyTo=Bg;R.prototype.squareTo=Lg;R.prototype.divRemTo=Pg;R.prototype.invDigit=Fg;R.prototype.isEven=zg;R.prototype.exp=Gg;R.prototype.toString=bg;R.prototype.negate=wg;R.prototype.abs=vg;R.prototype.compareTo=_g;R.prototype.bitLength=Sg;R.prototype.mod=Dg;R.prototype.modPowInt=Yg;R.ZERO=Br(0);R.ONE=Br(1);function Wg(){var e=at();return this.copyTo(e),e}function Qg(){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 Xg(){return this.t==0?this.s:this.data[0]<<24>>24}function Zg(){return this.t==0?this.s:this.data[0]<<16>>16}function Jg(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function jg(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function tx(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Br(r),i=at(),s=at(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(e).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(e)+o}function ex(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,s=0,o=0,a=0;a<e.length;++a){var c=l0(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=t*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&R.ZERO.subTo(this,this)}function rx(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(R.ONE.shiftLeft(e-1),ec,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(R.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function nx(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function ix(e){return this.compareTo(e)==0}function sx(e){return this.compareTo(e)<0?this:e}function ox(e){return this.compareTo(e)>0?this:e}function ax(e,t,r){var n,i,s=Math.min(e.t,this.t);for(n=0;n<s;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=s;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function cx(e,t){return e&t}function ux(e){var t=at();return this.bitwiseTo(e,cx,t),t}function ec(e,t){return e|t}function lx(e){var t=at();return this.bitwiseTo(e,ec,t),t}function f0(e,t){return e^t}function fx(e){var t=at();return this.bitwiseTo(e,f0,t),t}function h0(e,t){return e&~t}function hx(e){var t=at();return this.bitwiseTo(e,h0,t),t}function dx(){for(var e=at(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function px(e){var t=at();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function mx(e){var t=at();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function yx(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function gx(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+yx(this.data[e]);return this.s<0?this.t*this.DB:-1}function xx(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Ex(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=xx(this.data[r]^t);return e}function bx(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function wx(e,t){var r=R.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function vx(e){return this.changeBit(e,ec)}function _x(e){return this.changeBit(e,h0)}function Sx(e){return this.changeBit(e,f0)}function Ax(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Ix(e){var t=at();return this.addTo(e,t),t}function Rx(e){var t=at();return this.subTo(e,t),t}function Cx(e){var t=at();return this.multiplyTo(e,t),t}function Tx(e){var t=at();return this.divRemTo(e,t,null),t}function Bx(e){var t=at();return this.divRemTo(e,null,t),t}function Lx(e){var t=at(),r=at();return this.divRemTo(e,t,r),new Array(t,r)}function Px(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Dx(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Ki(){}function d0(e){return e}function Nx(e,t,r){e.multiplyTo(t,r)}function kx(e,t){e.squareTo(t)}Ki.prototype.convert=d0;Ki.prototype.revert=d0;Ki.prototype.mulTo=Nx;Ki.prototype.sqrTo=kx;function Ox(e){return this.exp(e,new Ki)}function Mx(e,t,r){var n=Math.min(this.t+e.t,t);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,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function Ux(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function zn(e){this.r2=at(),this.q3=at(),R.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function Fx(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=at();return e.copyTo(t),this.reduce(t),t}function Kx(e){return e}function Vx(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function qx(e,t){e.squareTo(t),this.reduce(t)}function $x(e,t,r){e.multiplyTo(t,r),this.reduce(r)}zn.prototype.convert=Fx;zn.prototype.revert=Kx;zn.prototype.reduce=Vx;zn.prototype.mulTo=$x;zn.prototype.sqrTo=qx;function Hx(e,t){var r=e.bitLength(),n,i=Br(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 sn(t):t.isEven()?s=new zn(t):s=new on(t);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=at();for(s.sqrTo(o[1],l);a<=u;)o[a]=at(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=e.t-1,h,p=!0,d=at(),m;for(r=Gs(e.data[f])-1;f>=0;){for(r>=c?h=e.data[f]>>r-c&u:(h=(e.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=e.data[f-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)o[h].copyTo(i),p=!1;else{for(;a>1;)s.sqrTo(i,d),s.sqrTo(d,i),a-=2;a>0?s.sqrTo(i,d):(m=i,i=d,d=m),s.mulTo(d,o[h],i)}for(;f>=0&&!(e.data[f]&1<<r);)s.sqrTo(i,d),m=i,i=d,d=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function zx(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return t;for(i<s&&(s=i),s>0&&(t.rShiftTo(s,t),r.rShiftTo(s,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function Gx(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function Yx(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return R.ZERO;for(var r=e.clone(),n=this.clone(),i=Br(1),s=Br(0),o=Br(0),a=Br(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(e,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(e,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),t&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(R.ONE)!=0)return R.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Me=[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],Wx=(1<<26)/Me[Me.length-1];function Qx(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Me[Me.length-1]){for(t=0;t<Me.length;++t)if(r.data[0]==Me[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Me.length;){for(var n=Me[t],i=t+1;i<Me.length&&n<Wx;)n*=Me[i++];for(n=r.modInt(n);t<i;)if(n%Me[t++]==0)return!1}return r.millerRabin(e)}function Xx(e){var t=this.subtract(R.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=Zx(),s,o=0;o<e;++o){do s=new R(this.bitLength(),i);while(s.compareTo(R.ONE)<=0||s.compareTo(t)>=0);var a=s.modPow(n,this);if(a.compareTo(R.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(R.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function Zx(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}R.prototype.chunkSize=Jg;R.prototype.toRadix=tx;R.prototype.fromRadix=ex;R.prototype.fromNumber=rx;R.prototype.bitwiseTo=ax;R.prototype.changeBit=wx;R.prototype.addTo=Ax;R.prototype.dMultiply=Px;R.prototype.dAddOffset=Dx;R.prototype.multiplyLowerTo=Mx;R.prototype.multiplyUpperTo=Ux;R.prototype.modInt=Gx;R.prototype.millerRabin=Xx;R.prototype.clone=Wg;R.prototype.intValue=Qg;R.prototype.byteValue=Xg;R.prototype.shortValue=Zg;R.prototype.signum=jg;R.prototype.toByteArray=nx;R.prototype.equals=ix;R.prototype.min=sx;R.prototype.max=ox;R.prototype.and=ux;R.prototype.or=lx;R.prototype.xor=fx;R.prototype.andNot=hx;R.prototype.not=dx;R.prototype.shiftLeft=px;R.prototype.shiftRight=mx;R.prototype.getLowestSetBit=gx;R.prototype.bitCount=Ex;R.prototype.testBit=bx;R.prototype.setBit=vx;R.prototype.clearBit=_x;R.prototype.flipBit=Sx;R.prototype.add=Ix;R.prototype.subtract=Rx;R.prototype.multiply=Cx;R.prototype.divide=Tx;R.prototype.remainder=Bx;R.prototype.divideAndRemainder=Lx;R.prototype.modPow=Hx;R.prototype.modInverse=Yx;R.prototype.pow=Ox;R.prototype.gcd=zx;R.prototype.isProbablePrime=Qx});var E0=V((z_,x0)=>{var Qe=dt();nn();Nt();var y0=x0.exports=Qe.sha1=Qe.sha1||{};Qe.md.sha1=Qe.md.algorithms.sha1=y0;y0.create=function(){g0||Jx();var e=null,t=Qe.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 t=Qe.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Qe.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 t.putBytes(i),m0(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Qe.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(rc.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:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};m0(f,r,i);var h=Qe.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var rc=null,g0=!1;function Jx(){rc=String.fromCharCode(128),rc+=Qe.util.fillString(String.fromCharCode(0),64),g0=!0}function m0(e,t,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=e.h0,s=e.h1,o=e.h2,a=e.h3,c=e.h4,l=0;l<16;++l)n=r.getInt32(),t[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=t[l-3]^t[l-8]^t[l-14]^t[l-16],n=n<<1|n>>>31,t[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=t[l-3]^t[l-8]^t[l-14]^t[l-16],n=n<<1|n>>>31,t[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=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[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=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[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=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[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;e.h0=e.h0+i|0,e.h1=e.h1+s|0,e.h2=e.h2+o|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,f-=64}}});var v0=V((G_,w0)=>{var Xe=dt();Nt();Fi();E0();var b0=w0.exports=Xe.pkcs1=Xe.pkcs1||{};b0.encode_rsa_oaep=function(e,t,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=Xe.md.sha1.create(),o||(o=s);var a=Math.ceil(e.n.bitLength()/8),c=a-2*s.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",h=c-t.length,p=0;p<h;p++)f+="\0";var d=l.getBytes()+f+""+t;if(!i)i=Xe.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=Ws(i,a-s.digestLength-1,o),y=Xe.util.xorBytes(d,m,d.length),g=Ws(y,s.digestLength,o),x=Xe.util.xorBytes(i,g,i.length);return"\0"+x+y};b0.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=o,y}if(i===void 0?i=Xe.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=t.charAt(0),u=t.substring(1,i.digestLength+1),l=t.substring(1+i.digestLength),f=Ws(l,i.digestLength,s),h=Xe.util.xorBytes(u,f,u.length),p=Ws(h,o-i.digestLength-1,s),d=Xe.util.xorBytes(l,p,l.length),m=d.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,b=i.digestLength,C=i.digestLength;C<d.length;C++){var _=d.charCodeAt(C),S=_&1^1,P=x?65534:0;y|=_&P,x=x&S,b+=x}if(y||d.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(b+1)};function Ws(e,t,r){r||(r=Xe.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+o),n+=r.digest().getBytes()}return n.substring(0,t)}});var _0=V((Y_,nc)=>{var Lr=dt();Nt();Ys();Fi();(function(){if(Lr.prime){nc.exports=Lr.prime;return}var e=nc.exports=Lr.prime=Lr.prime||{},t=Lr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(f,h){return f|h};e.generateProbablePrime=function(f,h,p){typeof h=="function"&&(p=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var m=h.prng||Lr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),b=0;b<g.length;++b)g[b]=x.charCodeAt(b)}};if(d.name==="PRIMEINC")return s(f,y,d.options,p);throw new Error("Invalid prime generation algorithm: "+d.name)};function s(f,h,p,d){return"workers"in p?c(f,h,p,d):o(f,h,p,d)}function o(f,h,p,d){var m=u(f,h),y=0,g=l(m.bitLength());"millerRabinTests"in p&&(g=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,h,y,g,x,d)}function a(f,h,p,d,m,y,g){var x=+new Date;do{if(f.bitLength()>h&&(f=u(h,p)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[d++%8],0)}while(y<0||+new Date-x<y);Lr.util.setImmediate(function(){a(f,h,p,d,m,y,g)})}function c(f,h,p,d){if(typeof Worker>"u")return o(f,h,p,d);var m=u(f,h),y=p.workers,g=p.workLoad||100,x=g*30/8,b=p.workerScript||"forge/prime.worker.js";if(y===-1)return Lr.util.estimateCores(function(_,S){_&&(S=2),y=S-1,C()});C();function C(){y=Math.max(1,y);for(var _=[],S=0;S<y;++S)_[S]=new Worker(b);for(var P=y,S=0;S<y;++S)_[S].addEventListener("message",Y);var D=!1;function Y(W){if(!D){--P;var H=W.data;if(H.found){for(var et=0;et<_.length;++et)_[et].terminate();return D=!0,d(null,new t(H.prime,16))}m.bitLength()>f&&(m=u(f,h));var pt=m.toString(16);W.target.postMessage({hex:pt,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,h){var p=new t(f,h),d=f-1;return p.testBit(d)||p.bitwiseTo(t.ONE.shiftLeft(d),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 Xs=V((W_,B0)=>{var $=dt();Mi();Ys();Ns();v0();_0();Fi();Nt();typeof st>"u"&&(st=$.jsbn.BigInteger);var st,ic=$.util.isNodejs?Ui():null,v=$.asn1,Le=$.util;$.pki=$.pki||{};B0.exports=$.pki.rsa=$.rsa=$.rsa||{};var Q=$.pki,jx=[6,4,2,4,2,4,6,2],t1={name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},e1={name:"RSAPrivateKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},r1={name:"RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},n1=$.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},i1={name:"DigestInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},s1=function(e){var t;if(e.algorithm in Q.oids)t=Q.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=v.oidToDer(t).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},C0=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(st.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(st.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new st($.util.bytesToHex($.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(st.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),s=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(s)<0;)i=i.add(t.p);var o=i.subtract(s).multiply(t.qInv).mod(t.p).multiply(t.q).add(s);return o=o.multiply(n.modInverse(t.n)).mod(t.n),o};Q.rsa.encrypt=function(e,t,r){var n=r,i,s=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=T0(e,t,r)):(i=$.util.createBuffer(),i.putBytes(e));for(var o=new st(i.toHex(),16),a=C0(o,t,n),c=a.toString(16),u=$.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes($.util.hexToBytes(c)),u.getBytes()};Q.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=e.length,s.expected=i,s}var o=new st($.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=C0(o,t,r),c=a.toString(16),u=$.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes($.util.hexToBytes(c)),n!==!1?Qs(u.getBytes(),t,r):u.getBytes()};Q.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||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)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:e,rng:i,eInt:t||65537,e:new st(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};Q.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new st(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},s=+new Date,o,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new st(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(st.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(a1(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(jx[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(st.ONE),e.q1=e.q.subtract(st.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(st.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var l=e.e.modInverse(e.phi);e.keys={privateKey:Q.rsa.setPrivateKey(e.n,e.e,l,e.p,e.q,l.mod(e.p1),l.mod(e.q1),e.q.modInverse(e.p)),publicKey:Q.rsa.setPublicKey(e.n,e.e)}}o=+new Date,a+=o-s,s=o}return e.keys!==null};Q.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!$.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(S0("generateKeyPair"))return ic.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:Q.privateKeyFromPem(u),publicKey:Q.publicKeyFromPem(c)})});if(A0("generateKey")&&A0("exportKey"))return Le.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:R0(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Le.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=Q.privateKeyFromAsn1(v.fromDer($.util.createBuffer(a)));n(null,{privateKey:c,publicKey:Q.setRsaPublicKey(c.n,c.e)})}});if(I0("generateKey")&&I0("exportKey")){var i=Le.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:R0(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Le.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=Q.privateKeyFromAsn1(v.fromDer($.util.createBuffer(f)));n(null,{privateKey:h,publicKey:Q.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(S0("generateKeyPairSync")){var s=ic.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Q.privateKeyFromPem(s.privateKey),publicKey:Q.publicKeyFromPem(s.publicKey)}}}var o=Q.rsa.createKeyPairGenerationState(e,t,r);if(!n)return Q.rsa.stepKeyPairGenerationState(o,0),o.keys;o1(o,r,n)};Q.setRsaPublicKey=Q.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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 T0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return $.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 Q.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=Qs(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,i1,f,h)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=h,p}var d=v.derToOid(f.algorithmIdentifier);if(!(d===$.oids.md2||d===$.oids.md5||d===$.oids.sha1||d===$.oids.sha224||d===$.oids.sha256||d===$.oids.sha384||d===$.oids.sha512||d===$.oids["sha512-224"]||d===$.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=d,p}if((d===$.oids.md2||d===$.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=Qs(u,r,!0),c===u}});var a=Q.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};Q.setRsaPrivateKey=Q.rsa.setPrivateKey=function(e,t,r,n,i,s,o,a){var c={n:e,e:t,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 h=Q.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Qs};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,d){return $.pkcs1.decode_rsa_oaep(d,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(h,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:s1},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return Q.rsa.encrypt(h,c,f)},c};Q.wrapRsaPrivateKey=function(e){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(e).getBytes())])};Q.privateKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,t1,t,r)&&(e=v.fromDer($.util.createBuffer(t.privateKey))),t={},r=[],!v.validate(e,e1,t,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=$.util.createBuffer(t.privateKeyModulus).toHex(),s=$.util.createBuffer(t.privateKeyPublicExponent).toHex(),o=$.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=$.util.createBuffer(t.privateKeyPrime1).toHex(),c=$.util.createBuffer(t.privateKeyPrime2).toHex(),u=$.util.createBuffer(t.privateKeyExponent1).toHex(),l=$.util.createBuffer(t.privateKeyExponent2).toHex(),f=$.util.createBuffer(t.privateKeyCoefficient).toHex(),Q.setRsaPrivateKey(new st(i,16),new st(s,16),new st(o,16),new st(a,16),new st(c,16),new st(u,16),new st(l,16),new st(f,16))};Q.privateKeyToAsn1=Q.privateKeyToRSAPrivateKey=function(e){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ze(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ze(e.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ze(e.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ze(e.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ze(e.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ze(e.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ze(e.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ze(e.qInv))])};Q.publicKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,n1,t,r)){var n=v.derToOid(t.publicKeyOid);if(n!==Q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!v.validate(e,r1,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=$.util.createBuffer(t.publicKeyModulus).toHex(),o=$.util.createBuffer(t.publicKeyExponent).toHex();return Q.setRsaPublicKey(new st(s,16),new st(o,16))};Q.publicKeyToAsn1=Q.publicKeyToSubjectPublicKeyInfo=function(e){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[Q.publicKeyToRSAPublicKey(e)])])};Q.publicKeyToRSAPublicKey=function(e){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ze(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ze(e.e))])};function T0(e,t,r){var n=$.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=e.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-e.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=$.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(e),n}function Qs(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),s=$.util.createBuffer(e),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 o1(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){s(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return o(a,e.q);s(e.qBits,o)})}function s(a,c){$.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)!==0){e.p=null,i();return}if(e.q.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)!==0){e.q=null,s(e.qBits,o);return}if(e.p1=e.p.subtract(st.ONE),e.q1=e.q.subtract(st.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(st.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,s(e.qBits,o);return}var l=e.e.modInverse(e.phi);e.keys={privateKey:Q.rsa.setPrivateKey(e.n,e.e,l,e.p,e.q,l.mod(e.p1),l.mod(e.q1),e.q.modInverse(e.p)),publicKey:Q.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ze(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=$.util.hexToBytes(t);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 a1(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function S0(e){return $.util.isNodejs&&typeof ic[e]=="function"}function A0(e){return typeof Le.globalScope<"u"&&typeof Le.globalScope.crypto=="object"&&typeof Le.globalScope.crypto.subtle=="object"&&typeof Le.globalScope.crypto.subtle[e]=="function"}function I0(e){return typeof Le.globalScope<"u"&&typeof Le.globalScope.msCrypto=="object"&&typeof Le.globalScope.msCrypto.subtle=="object"&&typeof Le.globalScope.msCrypto.subtle[e]=="function"}function R0(e){for(var t=$.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var O0=V((Q_,k0)=>{var M=dt();Fs();Mi();Vf();nn();Ns();Qa();Wf();Fi();o0();Xs();Nt();typeof L0>"u"&&(L0=M.jsbn.BigInteger);var L0,A=M.asn1,Z=M.pki=M.pki||{};k0.exports=Z.pbe=M.pbe=M.pbe||{};var an=Z.oids,c1={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"}]},u1={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"}]}]},l1={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"}]};Z.encryptPrivateKeyInfo=function(e,t,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=an["aes128-CBC"],f=M.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=an["aes192-CBC"],f=M.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=an["aes256-CBC"],f=M.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=an.desCBC,f=M.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),d=N0(p),m=M.pkcs5.pbkdf2(t,n,i,o,d),y=M.random.getBytesSync(u),g=f(m);g.start(y),g.update(A.toDer(e)),g.finish(),c=g.output.getBytes();var x=f1(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(an.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(an.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,y)])])])}else if(r.algorithm==="3des"){o=24;var b=new M.util.ByteBuffer(n),m=Z.pbe.generatePkcs12Key(t,b,1,i,o),y=Z.pbe.generatePkcs12Key(t,b,2,i,o),g=M.des.createEncryptionCipher(m);g.start(y),g.update(A.toDer(e)),g.finish(),c=g.output.getBytes(),a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(an["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 h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var C=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[a,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,c)]);return C};Z.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!A.validate(e,c1,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=Z.pbe.getCipher(o,n.encryptionParams,t),c=M.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=A.fromDer(a.output)),r};Z.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(e).getBytes()};return M.pem.encode(r,{maxline:t})};Z.encryptedPrivateKeyFromPem=function(e){var t=M.pem.decode(e)[0];if(t.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=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return A.fromDer(t.body)};Z.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=Z.wrapRsaPrivateKey(Z.privateKeyToAsn1(e));return n=Z.encryptPrivateKeyInfo(n,t,r),Z.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(t,s.substr(0,8),o),l=a(u);l.start(s),l.update(A.toDer(Z.privateKeyToAsn1(e))),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)};Z.decryptRsaPrivateKey=function(e,t){var r=null,n=M.pem.decode(e)[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(t,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=Z.decryptPrivateKeyInfo(A.fromDer(r),t):r=A.fromDer(r),r!==null&&(r=Z.privateKeyFromAsn1(r)),r};Z.pbe.generatePkcs12Key=function(e,t,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(e!=null){for(a=0;a<e.length;a++)f.putInt16(e.charCodeAt(a));f.putInt16(0)}var h=f.length(),p=t.length(),d=new M.util.ByteBuffer;d.fillWithByte(r,u);var m=u*Math.ceil(p/u),y=new M.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(t.at(a%p));var g=u*Math.ceil(h/u),x=new M.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%h));var b=y;b.putBuffer(x);for(var C=Math.ceil(i/c),_=1;_<=C;_++){var S=new M.util.ByteBuffer;S.putBytes(d.bytes()),S.putBytes(b.bytes());for(var P=0;P<n;P++)s.start(),s.update(S.getBytes()),S=s.digest();var D=new M.util.ByteBuffer;for(a=0;a<u;a++)D.putByte(S.at(a%c));var Y=Math.ceil(p/u)+Math.ceil(h/u),W=new M.util.ByteBuffer;for(o=0;o<Y;o++){var H=new M.util.ByteBuffer(b.getBytes(u)),et=511;for(a=D.length()-1;a>=0;a--)et=et>>8,et+=D.at(a)+H.at(a),H.setAt(a,et&255);W.putBuffer(H)}b=W,l.putBuffer(S)}return l.truncate(l.length()-i),l};Z.pbe.getCipher=function(e,t,r){switch(e){case Z.oids.pkcs5PBES2:return Z.pbe.getCipherForPBES2(e,t,r);case Z.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Z.oids["pbewithSHAAnd40BitRC2-CBC"]:return Z.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Z.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!A.validate(t,u1,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(e=A.derToOid(n.kdfOid),e!==Z.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=e,s.supportedOids=["pkcs5PBKDF2"],s}if(e=A.derToOid(n.encOid),e!==Z.oids["aes128-CBC"]&&e!==Z.oids["aes192-CBC"]&&e!==Z.oids["aes256-CBC"]&&e!==Z.oids["des-EDE3-CBC"]&&e!==Z.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=e,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(Z.oids[e]){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=D0(n.prfOid),f=M.pkcs5.pbkdf2(r,o,a,c,l),h=n.encIv,p=u(f);return p.start(h),p};Z.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!A.validate(t,l1,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(e){case Z.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=M.des.startDecrypting;break;case Z.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=M.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=e,s}var f=D0(n.prfOid),h=Z.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=Z.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(h,p)};Z.pbe.opensslDeriveBytes=function(e,t,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()}t===null&&(t="");for(var i=[P0(n,e+t)],s=16,o=1;s<r;++o,s+=16)i.push(P0(n,i[o-1]+e+t));return i.join("").substr(0,r)};function P0(e,t){return e.start().update(t).digest().getBytes()}function D0(e){var t;if(!e)t="hmacWithSHA1";else if(t=Z.oids[A.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return N0(t)}function N0(e){var t=M.md;switch(e){case"hmacWithSHA224":t=M.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function f1(e,t,r,n){var i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,e),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,t.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(Z.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var Hh=V((QI,$h)=>{var _t=dt();nn();Nt();var Zi=$h.exports=_t.sha512=_t.sha512||{};_t.md.sha512=_t.md.algorithms.sha512=Zi;var Vh=_t.sha384=_t.sha512.sha384=_t.sha512.sha384||{};Vh.create=function(){return Zi.create("SHA-384")};_t.md.sha384=_t.md.algorithms.sha384=Vh;_t.sha512.sha256=_t.sha512.sha256||{create:function(){return Zi.create("SHA-512/256")}};_t.md["sha512/256"]=_t.md.algorithms["sha512/256"]=_t.sha512.sha256;_t.sha512.sha224=_t.sha512.sha224||{create:function(){return Zi.create("SHA-512/224")}};_t.md["sha512/224"]=_t.md.algorithms["sha512/224"]=_t.sha512.sha224;Zi.create=function(e){if(qh||DE(),typeof e>"u"&&(e="SHA-512"),!(e in xn))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=xn[e],r=null,n=_t.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(e){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:e.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=_t.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=_t.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),Kh(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=_t.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(iu.substr(0,a.blockLength-l));for(var f,h,p=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)f=a.fullMessageLength[d+1]*8,h=f/4294967296>>>0,p+=h,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var m=new Array(r.length),d=0;d<r.length;++d)m[d]=r[d].slice(0);Kh(m,i,c);var y=_t.util.createBuffer(),g;e==="SHA-512"?g=m.length:e==="SHA-384"?g=m.length-2:g=m.length-4;for(var d=0;d<g;++d)y.putInt32(m[d][0]),(d!==g-1||e!=="SHA-512/224")&&y.putInt32(m[d][1]);return y},a};var iu=null,qh=!1,su=null,xn=null;function DE(){iu=String.fromCharCode(128),iu+=_t.util.fillString(String.fromCharCode(0),128),su=[[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]],xn={},xn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],xn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],xn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],xn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],qh=!0}function Kh(e,t,r){for(var n,i,s,o,a,c,u,l,f,h,p,d,m,y,g,x,b,C,_,S,P,D,Y,W,H,et,pt,Jt,T,k,L,N,I,U,q,G=r.length();G>=128;){for(T=0;T<16;++T)t[T][0]=r.getInt32()>>>0,t[T][1]=r.getInt32()>>>0;for(;T<80;++T)N=t[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=t[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,I=t[T-7],q=t[T-16],L=i+I[1]+o+q[1],t[T][0]=n+I[0]+s+q[0]+(L/4294967296>>>0)>>>0,t[T][1]=L>>>0;for(m=e[0][0],y=e[0][1],g=e[1][0],x=e[1][1],b=e[2][0],C=e[2][1],_=e[3][0],S=e[3][1],P=e[4][0],D=e[4][1],Y=e[5][0],W=e[5][1],H=e[6][0],et=e[6][1],pt=e[7][0],Jt=e[7][1],T=0;T<80;++T)u=((P>>>14|D<<18)^(P>>>18|D<<14)^(D>>>9|P<<23))>>>0,l=((P<<18|D>>>14)^(P<<14|D>>>18)^(D<<23|P>>>9))>>>0,f=(H^P&(Y^H))>>>0,h=(et^D&(W^et))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,p=(m&g|b&(m^g))>>>0,d=(y&x|C&(y^x))>>>0,L=Jt+l+h+su[T][1]+t[T][1],n=pt+u+f+su[T][0]+t[T][0]+(L/4294967296>>>0)>>>0,i=L>>>0,L=c+d,s=a+p+(L/4294967296>>>0)>>>0,o=L>>>0,pt=H,Jt=et,H=Y,et=W,Y=P,W=D,L=S+i,P=_+n+(L/4294967296>>>0)>>>0,D=L>>>0,_=b,S=C,b=g,C=x,g=m,x=y,L=i+o,m=n+s+(L/4294967296>>>0)>>>0,y=L>>>0;L=e[0][1]+y,e[0][0]=e[0][0]+m+(L/4294967296>>>0)>>>0,e[0][1]=L>>>0,L=e[1][1]+x,e[1][0]=e[1][0]+g+(L/4294967296>>>0)>>>0,e[1][1]=L>>>0,L=e[2][1]+C,e[2][0]=e[2][0]+b+(L/4294967296>>>0)>>>0,e[2][1]=L>>>0,L=e[3][1]+S,e[3][0]=e[3][0]+_+(L/4294967296>>>0)>>>0,e[3][1]=L>>>0,L=e[4][1]+D,e[4][0]=e[4][0]+P+(L/4294967296>>>0)>>>0,e[4][1]=L>>>0,L=e[5][1]+W,e[5][0]=e[5][0]+Y+(L/4294967296>>>0)>>>0,e[5][1]=L>>>0,L=e[6][1]+et,e[6][0]=e[6][0]+H+(L/4294967296>>>0)>>>0,e[6][1]=L>>>0,L=e[7][1]+Jt,e[7][0]=e[7][0]+pt+(L/4294967296>>>0)>>>0,e[7][1]=L>>>0,G-=128}}});var vu=V((I4,Ed)=>{var ci=1e3,ui=ci*60,li=ui*60,vn=li*24,ub=vn*7,lb=vn*365.25;Ed.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return fb(e);if(r==="number"&&isFinite(e))return t.long?db(e):hb(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function fb(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*lb;case"weeks":case"week":case"w":return r*ub;case"days":case"day":case"d":return r*vn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*li;case"minutes":case"minute":case"mins":case"min":case"m":return r*ui;case"seconds":case"second":case"secs":case"sec":case"s":return r*ci;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function hb(e){var t=Math.abs(e);return t>=vn?Math.round(e/vn)+"d":t>=li?Math.round(e/li)+"h":t>=ui?Math.round(e/ui)+"m":t>=ci?Math.round(e/ci)+"s":e+"ms"}function db(e){var t=Math.abs(e);return t>=vn?vo(e,t,vn,"day"):t>=li?vo(e,t,li,"hour"):t>=ui?vo(e,t,ui,"minute"):t>=ci?vo(e,t,ci,"second"):e+" ms"}function vo(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var wd=V((R4,bd)=>{function pb(e){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=vu(),r.destroy=u,Object.keys(e).forEach(l=>{r[l]=e[l]}),r.names=[],r.skips=[],r.formatters={};function t(l){let f=0;for(let h=0;h<l.length;h++)f=(f<<5)-f+l.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(l){let f,h=null,p,d;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),b=x-(f||x);g.diff=b,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let C=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(S,P)=>{if(S==="%%")return"%";C++;let D=r.formatters[P];if(typeof D=="function"){let Y=y[C];S=D.call(g,Y),y.splice(C,1),C--}return S}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}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:()=>h!==null?h:(p!==r.namespaces&&(p=r.namespaces,d=r.enabled(l)),d),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let h=r(this.namespace+(typeof f>"u"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),p=h.length;for(f=0;f<p;f++)h[f]&&(l=h[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,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;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}bd.exports=pb});var _u=V((_e,_o)=>{_e.formatArgs=yb;_e.save=gb;_e.load=xb;_e.useColors=mb;_e.storage=Eb();_e.destroy=(()=>{let e=!1;return()=>{e||(e=!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`."))}})();_e.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 mb(){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 yb(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+_o.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}_e.log=console.debug||console.log||(()=>{});function gb(e){try{e?_e.storage.setItem("debug",e):_e.storage.removeItem("debug")}catch{}}function xb(){let e;try{e=_e.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Eb(){try{return localStorage}catch{}}_o.exports=wd()(_e);var{formatters:bb}=_o.exports;bb.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Rd=V((Y4,Id)=>{"use strict";Id.exports=e=>{if(Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}});var Dd=V((Ld,Pd)=>{"use strict";var Ro=Rd(),{hasOwnProperty:Td}=Object.prototype,{propertyIsEnumerable:Rb}=Object,di=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),Cb=Ld,Cd={concatArrays:!1,ignoreUndefined:!1},Co=e=>{let t=[];for(let r in e)Td.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(e);for(let n of r)Rb.call(e,n)&&t.push(n)}return t};function pi(e){return Array.isArray(e)?Tb(e):Ro(e)?Bb(e):e}function Tb(e){let t=e.slice(0,0);return Co(e).forEach(r=>{di(t,r,pi(e[r]))}),t}function Bb(e){let t=Object.getPrototypeOf(e)===null?Object.create(null):{};return Co(e).forEach(r=>{di(t,r,pi(e[r]))}),t}var Bd=(e,t,r,n)=>(r.forEach(i=>{typeof t[i]>"u"&&n.ignoreUndefined||(i in e&&e[i]!==Object.getPrototypeOf(e)?di(e,i,Ru(e[i],t[i],n)):di(e,i,pi(t[i])))}),e),Lb=(e,t,r)=>{let n=e.slice(0,0),i=0;return[e,t].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)Td.call(s,a)&&(o.push(String(a)),s===e?di(n,i++,s[a]):di(n,i++,pi(s[a])));n=Bd(n,s,Co(s).filter(a=>!o.includes(a)),r)}),n};function Ru(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?Lb(e,t,r):!Ro(t)||!Ro(e)?pi(t):Bd(e,t,Co(t),r)}Pd.exports=function(...e){let t=Ru(pi(Cd),this!==Cb&&this||{},Cd),r={_:{}};for(let n of e)if(n!==void 0){if(!Ro(n))throw new TypeError("`"+n+"` is not an Option Object");r=Ru(r,{_:n},t)}return r._}});var Od=V((Q4,kd)=>{"use strict";function Pb(e){return e>=55296&&e<=56319}function Db(e){return e>=56320&&e<=57343}kd.exports=function(t,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],Pb(o)&&Db(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=t(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var Ud=V((X4,Md)=>{"use strict";function Nb(e){return e>=55296&&e<=56319}function kb(e){return e>=56320&&e<=57343}Md.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var r=t.length,n=0,i=null,s=null,o=0;o<r;o++)i=t.charCodeAt(o),kb(i)?s!=null&&Nb(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var Kd=V((Z4,Fd)=>{"use strict";var Ob=Od(),Mb=Ud();Fd.exports=Ob.bind(null,Mb)});var $d=V((J4,qd)=>{"use strict";var Ub=Kd(),Fb=/[\/\?<>\\:\*\|"]/g,Kb=/[\x00-\x1f\x80-\x9f]/g,Vb=/^\.+$/,qb=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,$b=/[\. ]+$/;function Vd(e,t){if(typeof e!="string")throw new Error("Input must be string");var r=e.replace(Fb,t).replace(Kb,t).replace(Vb,t).replace(qb,t).replace($b,t);return Ub(r,255)}qd.exports=function(e,t){var r=t&&t.replacement||"",n=Vd(e,r);return r===""?n:Vd(n,"")}});var mp=V((AT,Wu)=>{"use strict";var ww=Object.prototype.hasOwnProperty,de="~";function hs(){}Object.create&&(hs.prototype=Object.create(null),new hs().__proto__||(de=!1));function vw(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function pp(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new vw(r,n||e,i),o=de?de+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],s]:e._events[o].push(s):(e._events[o]=s,e._eventsCount++),e}function ko(e,t){--e._eventsCount===0?e._events=new hs:delete e._events[t]}function le(){this._events=new hs,this._eventsCount=0}le.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)ww.call(r,n)&&t.push(de?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};le.prototype.listeners=function(t){var r=de?de+t:t,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};le.prototype.listenerCount=function(t){var r=de?de+t:t,n=this._events[r];return n?n.fn?1:n.length:0};le.prototype.emit=function(t,r,n,i,s,o){var a=de?de+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(t,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 h=c.length,p;for(f=0;f<h;f++)switch(c[f].once&&this.removeListener(t,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};le.prototype.on=function(t,r,n){return pp(this,t,r,n,!1)};le.prototype.once=function(t,r,n){return pp(this,t,r,n,!0)};le.prototype.removeListener=function(t,r,n,i){var s=de?de+t:t;if(!this._events[s])return this;if(!r)return ko(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&ko(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:ko(this,s)}return this};le.prototype.removeAllListeners=function(t){var r;return t?(r=de?de+t:t,this._events[r]&&ko(this,r)):(this._events=new hs,this._eventsCount=0),this};le.prototype.off=le.prototype.removeListener;le.prototype.addListener=le.prototype.on;le.prefixed=de;le.EventEmitter=le;typeof Wu<"u"&&(Wu.exports=le)});var El=V((q3,kp)=>{"use strict";function Np(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function Ow(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return Np(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),Np(new i,r)}}kp.exports=Ow});var Vp=V(Es=>{(function(){var e,t,r,n,i,s,o,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,h=c&255,[u,l,f,h].join(".")},o=function(c){var u,l,f,h,p,d;for(u=[],f=h=0;h<=3&&c.length!==0;f=++h){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}d=t(c),p=d[0],l=d[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"),t=function(c){var u,l,f,h,p;for(h=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)h=h*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")h=h*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*u+(10+r(c[f])-i)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[h,f]},e=function(){function c(u,l){var f,h,p,d;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(d=u.split("/",2),u=d[0],l=d[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(h=p=32;p>=0;h=--p)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;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,h;for(h=o(this.first),f=o(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Es.ip2long=o,Es.long2ip=a,Es.Netmask=e}).call(Es)});var zp=V((Hp,ra)=>{(function(e){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"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(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${t}\\.${t}\\.${t}\\.${t}(${s})?$`,"i")};function c(p,d){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,y=-1,g=(p.match(a.zoneIndex)||[])[0],x,b;for(g&&(g=g.substring(1),p=p.replace(/%.+$/,""));(y=p.indexOf(":",y+1))>=0;)m++;if(p.substr(0,2)==="::"&&m--,p.substr(-2,2)==="::"&&m--,m>d)return null;for(b=d-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)),d=function(){let C=p.split(":"),_=[];for(let S=0;S<C.length;S++)_.push(parseInt(C[S],16));return _}(),{parts:d,zoneId:g}}function u(p,d,m,y){if(p.length!==d.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;y>0;){if(x=m-y,x<0&&(x=0),p[g]>>x!==d[g]>>x)return!1;y-=m,g+=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,d){for(;p.length<d;)p=`0${p}`;return p}let h={};h.IPv4=function(){function p(d){if(d.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<d.length;m++)if(y=d[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=d}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(d,m){let y;if(m===void 0&&(y=d,d=y[0],m=y[1]),d.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,d.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let d=0,m=!1,y={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 y){if(b=y[x],m&&b!==0)return null;b!==8&&(m=!0),d+=b}else return null;return 32-d},p.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),h.IPv4.broadcastAddressFromCIDR=function(p){try{let d=this.parseCIDR(p),m=d[0].toByteArray(),y=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(p){return this.parser(p)!==null},h.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},h.IPv4.isValidFourPartDecimal=function(p){return!!(h.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(p){let d,m,y,g,x;try{for(d=this.parseCIDR(p),y=d[0].toByteArray(),x=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(p){let d=this.parser(p);if(d===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(d)},h.IPv4.parseCIDR=function(p){let d;if(d=p.match(/^(.+)\/(\d+)$/)){let m=parseInt(d[2]);if(m>=0&&m<=32){let y=[this.parse(d[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},h.IPv4.parser=function(p){let d,m,y;if(d=p.match(r.fourOctet))return function(){let g=d.slice(1,6),x=[];for(let b=0;b<g.length;b++)m=g[b],x.push(l(m));return x}();if(d=p.match(r.longValue)){if(y=l(d[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(y>>x&255);return g}().reverse()}else return(d=p.match(r.twoOctet))?function(){let g=d.slice(1,4),x=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(y>>16&255),x.push(y>>8&255),x.push(y&255),x}():(d=p.match(r.threeOctet))?function(){let g=d.slice(1,5),x=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(l(g[1])),x.push(y>>8&255),x.push(y&255),x}():null},h.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let d=[0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)d[m]=255,m++;return y<4&&(d[y]=Math.pow(2,p%8)-1<<8-p%8),new this(d)},h.IPv6=function(){function p(d,m){let y,g;if(d.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(d[y]<<8|d[y+1]);else if(d.length===8)this.parts=d;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=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(d,m){let y;if(m===void 0&&(y=d,d=y[0],m=y[1]),d.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,d.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let d=0,m=!1,y={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 y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),d+=x}else return null;return 128-d},p.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let d,m=[],y=this.parts;for(let g=0;g<y.length;g++)d=y[g],m.push(d>>8),m.push(d&255);return m},p.prototype.toFixedLengthString=function(){let d=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),d+m},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let d=this.parts.slice(-2),m=d[0],y=d[1];return new h.IPv4([m>>8,m&255,y>>8,y&255])},p.prototype.toNormalizedString=function(){let d=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),d+m},p.prototype.toRFC5952String=function(){let d=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=d.exec(m);)x[0].length>g&&(y=x.index,g=x[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},p.prototype.toString=function(){return this.toRFC5952String()},p}(),h.IPv6.broadcastAddressFromCIDR=function(p){try{let d=this.parseCIDR(p),m=d[0].toByteArray(),y=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch(d){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${d})`)}},h.IPv6.isIPv6=function(p){return this.parser(p)!==null},h.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let d=this.parser(p);return new this(d.parts,d.zoneId),!0}catch{return!1}},h.IPv6.networkAddressFromCIDR=function(p){let d,m,y,g,x;try{for(d=this.parseCIDR(p),y=d[0].toByteArray(),x=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},h.IPv6.parse=function(p){let d=this.parser(p);if(d.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(d.parts,d.zoneId)},h.IPv6.parseCIDR=function(p){let d,m,y;if((m=p.match(/^(.+)\/(\d+)$/))&&(d=parseInt(m[2]),d>=0&&d<=128))return y=[this.parse(m[1]),d],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(p){let d,m,y,g,x,b;if(y=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(p))return c(p,8);if((y=p.match(a.transitional))&&(b=y[6]||"",d=c(y[1].slice(0,-1)+b,6),d.parts)){for(x=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<x.length;m++)if(g=x[m],!(0<=g&&g<=255))return null;return d.parts.push(x[0]<<8|x[1]),d.parts.push(x[2]<<8|x[3]),{parts:d.parts,zoneId:d.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)d[m]=255,m++;return y<16&&(d[y]=Math.pow(2,p%8)-1<<8-p%8),new this(d)},h.fromByteArray=function(p){let d=p.length;if(d===4)return new h.IPv4(p);if(d===16)return new h.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(p){return h.IPv6.isValid(p)||h.IPv4.isValid(p)},h.parse=function(p){if(h.IPv6.isValid(p))return h.IPv6.parse(p);if(h.IPv4.isValid(p))return h.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(p){try{return h.IPv6.parseCIDR(p)}catch{try{return h.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(p){let d=this.parse(p);return d.kind()==="ipv6"&&d.isIPv4MappedAddress()?d.toIPv4Address():d},h.subnetMatch=function(p,d,m){let y,g,x,b;m==null&&(m="unicast");for(g in d)if(Object.prototype.hasOwnProperty.call(d,g)){for(x=d[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(b=x[y],p.kind()===b[0].kind()&&p.match.apply(p,b))return g}return m},typeof ra<"u"&&ra.exports?ra.exports=h:e.ipaddr=h})(Hp)});var cm=V((KB,am)=>{"use strict";am.exports=om;var iv=vu(),Zr=om.prototype,sv=new Date%1e9;function ov(){return(Math.random()*1e9>>>0)+sv++}function om(e){e=e||{},this.id=e.id||ov(),this.max=e.max||1/0,this.items=e.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(e.lastModified||new Date);for(var t,r,n=this.items.length;n--;)t=this.items[n],r=new Date(t.expires)-new Date,this._lookup[t.key]=t,r>0?this.expire(t.key,r):r<=0&&this.delete(t.key)}Zr.has=function(e){return e in this._lookup};Zr.get=function(e){if(!this.has(e))return null;var t=this._lookup[e];return t.refresh&&this.expire(e,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value};Zr.meta=function(e){if(!this.has(e))return null;var t=this._lookup[e];return"meta"in t?t.meta:null};Zr.set=function(e,t,r){var n=this._lookup[e],i=this._lookup[e]={key:e,value:t};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(e,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};Zr.delete=function(e){var t=this._lookup[e];return t?(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[e],this.size--,this):!1};Zr.expire=function(e,t){var r=t||0,n=this._lookup[e];if(!n)return this;if(typeof r=="string"&&(r=iv(t)),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};Zr.clear=function(){for(var e=this.items.length;e--;)this.delete(this.items[e].key);return this};Zr.toJSON=function(){for(var e=new Array(this.items.length),t,r=e.length;r--;)t=this.items[r],e[r]={key:t.key,meta:t.meta,value:t.value,expires:t.expires,refresh:t.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:e}}});var vs=V((a6,ym)=>{ym.exports=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix}get points(){return this._points}set points(t){this._points=t>=0?t:4}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?!1:!!t}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.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 xm=V((u6,gm)=>{gm.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let t=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=t&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(t,r){this.addMs(t,r*1e3)}addMs(t,r){this._keys[t]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(t){let r=this._keys[t];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(t){t?delete this._keys[t]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var bm=V((l6,Em)=>{var lv=xm();Em.exports=lv});var Ce=V((h6,wm)=>{wm.exports=class{constructor(t,r,n,i){this.remainingPoints=typeof t>"u"?0:t,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(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=!!t}_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 Ai=V((p6,_m)=>{var Nl=vs(),fv=bm(),vm=Ce();_m.exports=class extends Nl{constructor(t={}){super(t),this.inMemoryBlockOnConsumed=t.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=t.inMemoryBlockDuration,this.insuranceLimiter=t.insuranceLimiter,this._inMemoryBlockedKeys=new fv}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("storeClient is not set");this._client=t}_afterConsume(t,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):t(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(t,c,a)}else t(a)}_handleError(t,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof Nl?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(t)}getInMemoryBlockMsBeforeExpire(t){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(t):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(t){if(this._inMemoryBlockOnConsumed=t?parseInt(t):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(t){if(this._inMemoryBlockDuration=t?parseInt(t):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(t){if(typeof t<"u"&&!(t instanceof Nl))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=t,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(t,r,n={}){let i=r*1e3;return this._block(this.getKey(t),this.points+1,i,n)}set(t,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(t),r,s,i)}consume(t,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new vm(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,t,r,n)})})}penalty(t,r=1,n={}){let i=this.getKey(t);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,t,r,n)})})}reward(t,r=1,n={}){let i=this.getKey(t);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,t,r,n)})})}get(t,r={}){let n=this.getKey(t);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,t,r)})})}delete(t,r={}){let n=this.getKey(t);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,t,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(t,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(t,r,n,i={}){return new Promise((s,o)=>{this._upsert(t,r,n,!0,i).then(()=>{s(new vm(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(t),n/1e3,i)})})}_get(t,r={}){throw new Error("You have to implement the method '_get'!")}_delete(t,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(t,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var Am=V((m6,Sm)=>{var hv=Ai(),dv=Ce(),kl="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} ",Ol=class extends hv{constructor(t){super(t),this.client=t.storeClient,this._rejectIfRedisNotReady=!!t.rejectIfRedisNotReady,this.useRedisPackage=t.useRedisPackage,this.useRedis3AndLowerPackage=t.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:kl})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(t,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new dv;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(t,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(t,r,"EX",s):o.set(t,r,{EX:s}):o.set(t,r),!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.pttl(t).exec(!0):o.pTTL(t).exec(!0)):s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.rlflxIncr([t].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(t,r,s,u):this.client.eval(kl,1,t,r,s,u)}):this.client.eval(kl,{keys:[t],arguments:[String(r),String(s)]}):!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.incrby(t,r).pttl(t).exec(!0):o.incrBy(t,r).pTTL(t).exec(!0)}async _get(t){if(!this._isRedisReady())throw new Error("Redis connection is not ready");return!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.multi().get(t).pttl(t).exec().then(r=>{let[[,n]]=r;return n===null?null:r}):this.client.multi().get(t).pTTL(t).exec(!0).then(r=>{let[n]=r;return n===null?null:r})}_delete(t){return this.client.del(t).then(r=>r>0)}};Sm.exports=Ol});var Cm=V((y6,Rm)=>{var pv=Ai(),mv=Ce();function Im(e){try{let t=e.client?e.client:e,{version:r}=t.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 Ml=class e extends pv{constructor(t){super(t),this.dbName=t.dbName,this.tableName=t.tableName,this.indexKeyPrefix=t.indexKeyPrefix,t.mongo?this.client=t.mongo:this.client=t.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=Im(this.client)}):(this._initCollection(),this._driverVersion=Im(this.client))}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?e.getDbName():t}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("mongo is not set");this._client=t}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(t){this._indexKeyPrefix=t||{}}_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(t,r,n){let i=new mv,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(t,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:t},a=Object.assign(a,o),c={$set:{key:t,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:t},a=Object.assign(a,o),c={$setOnInsert:{key:t,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(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:t},o),d={$set:Object.assign({key:t,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(p,d,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(t,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_get(t,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:t,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(t,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:t},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};Rm.exports=Ml});var Bm=V((g6,Tm)=>{var yv=Ai(),gv=Ce(),Ul=class extends yv{constructor(t,r=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.dbName=t.dbName,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.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(t){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,t],()=>{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((t,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);t(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(t){switch(this.clientType){case"pool":return t.release();case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);default:return!0}}_createDbAndTable(){return new Promise((t,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),t()})})}).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(t){if(typeof t>"u")if(this.client.constructor.name==="Connection")t="connection";else if(this.client.constructor.name==="Pool")t="pool";else if(this.client.constructor.name==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?"rtlmtrflx":t}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:!!t}_getRateLimiterRes(t,r,n){let i=new gv,[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(t,r,n,i,s){return new Promise((o,a)=>{t.query("BEGIN",c=>{if(c)return t.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,h;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
16
16
|
ON DUPLICATE KEY UPDATE
|
|
17
17
|
points = ?,
|
|
18
|
-
expire = ?;`,
|
|
18
|
+
expire = ?;`,h=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
19
19
|
ON DUPLICATE KEY UPDATE
|
|
20
20
|
points = IF(expire <= ?, ?, points + (?)),
|
|
21
|
-
expire = IF(expire <= ?, ?, expire);`,
|
|
21
|
+
expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),t.query(f,h,p=>{if(p)return t.rollback(),a(p);t.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(d,m)=>{if(d)return t.rollback(),a(d);t.query("COMMIT",y=>{if(y)return t.rollback(),a(y);o(m)})})})})})}_upsert(t,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,t,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(t){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,t,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(t){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,t],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};Tm.exports=Ul});var Pm=V((x6,Lm)=>{var xv=Ai(),Ev=Ce(),Fl=class extends xv{constructor(t,r=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.tableName=t.tableName,this.schemaName=t.schemaName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.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(t){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this._getTableIdentifier()} WHERE expire < $1`,values:[t]};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(t){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((t,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{t()}).catch(n=>{n.code==="23505"?t():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(
|
|
25
|
+
);`}get clientType(){return this._clientType}set clientType(t){let r=this.client.constructor.name;if(typeof t>"u")if(r==="Client")t="client";else if(r==="Pool"||r==="BoundPool")t="pool";else if(r==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get schemaName(){return this._schemaName}set schemaName(t){this._schemaName=t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:!!t}_getRateLimiterRes(t,r,n){let i=new Ev,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(t){let n={name:`${this.tableName.toLowerCase()}:${t.name}`,text:t.text,values:t.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(t,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
|
|
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:`
|
|
@@ -33,20 +33,20 @@
|
|
|
33
33
|
ELSE ${this._getTableIdentifier()}.points + ($2)
|
|
34
34
|
END,
|
|
35
35
|
expire = ${o}
|
|
36
|
-
RETURNING points, expire;`,values:[
|
|
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"))}};Xm.exports=Hl});var jm=V(()=>{});var ey=V((GL,Jm)=>{Jm.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 ry=V((WL,ty)=>{var Yv=ey(),zl=Rt();ty.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 i!==0?(this._storage[e].value=this._storage[e].value+r,new zl(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 Yv(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 zl(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 zl(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 Yl=V((QL,iy)=>{var Wv=Ss(),Qv=ry(),ny=Rt(),Gl=class extends Wv{constructor(e={}){super(e),this._memoryStorage=new Qv}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 ny(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 ny(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)))}};iy.exports=Gl});var fy=V((XL,ly)=>{var sy=jm(),Xv=Ki(),Zv=Ss(),ay=Yl(),jv=Rt(),Nt="rate_limiter_flexible",Bi=null,oy=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:Nt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},cy=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&cy.call(this,t)},30)},Ci=function(t,e,r,n,i){let s={channel:Nt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):cy.call(this,s)},uy=function(t,e){if(!e||e.channel!==Nt||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=>{oy(t,e,"resolve",n)}).catch(n=>{oy(t,e,"reject",n)})},Jv=function(t){if(!t||t.channel!==Nt||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 jv(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]}},e_=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Ti=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=Xv.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},Wl=class{constructor(){if(Bi)return Bi;this._rateLimiters={},sy.setMaxListeners(0),sy.on("message",(e,r)=>{r&&r.channel===Nt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new ay(r.opts)),e.send({channel:Nt,type:"init",keyPrefix:r.opts.keyPrefix})):uy.call(this,e,r)}),Bi=this}},Ql=class{constructor(e){if(Bi)return Bi;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===Nt&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new ay(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Nt,channel:Nt,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=Nt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};uy.call(this,o,s)}})}),Bi=this}},Xl=class extends Zv{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===Nt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:Jv.call(this,r)}),process.send({channel:Nt,type:"init",opts:e_.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=Ti.call(this,i,s);Ci.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=Ti.call(this,i,s);Ci.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=Ti.call(this,i,s);Ci.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=Ti.call(this,i,s);Ci.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=Ti.call(this,n,i);Ci.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=Ti.call(this,n,i);Ci.call(this,"delete",s,e,r)})}};ly.exports={RateLimiterClusterMaster:Wl,RateLimiterClusterMasterPM2:Ql,RateLimiterCluster:Xl}});var dy=V((ZL,hy)=>{var t_=Ri(),r_=Rt(),Zl=class extends t_{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new r_;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)})})})}};hy.exports=Zl});var yy=V((JL,my)=>{var py=Rt();my.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 py(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new py(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 xy=V((t6,gy)=>{var n_=Ss();gy.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 n_))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 by=V((n6,Ey)=>{Ey.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 Sy=V((s6,_y)=>{var wy=by(),vy=4294967295,jl="limiter";_y.exports=class{constructor(e,r={maxQueueSize:vy}){this._queueLimiters={KEY_DEFAULT:new ma(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=jl){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=jl){return this._queueLimiters[r]||(this._queueLimiters[r]=new ma(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var ma=class{constructor(e,r={maxQueueSize:vy,key:jl}){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 wy(`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 wy(`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 Iy=V((a6,Ay)=>{var Jl=Rt();Ay.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new Jl(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 Jl?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Jl?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 Cy=V((c6,Ry)=>{var i_=Hm(),s_=Ym(),o_=Qm(),a_=Zm(),{RateLimiterClusterMaster:c_,RateLimiterClusterMasterPM2:u_,RateLimiterCluster:l_}=fy(),f_=Yl(),h_=dy(),d_=yy(),p_=xy(),m_=Sy(),y_=Iy(),g_=Rt();Ry.exports={RateLimiterRedis:i_,RateLimiterMongo:s_,RateLimiterMySQL:o_,RateLimiterPostgres:a_,RateLimiterMemory:f_,RateLimiterMemcache:h_,RateLimiterClusterMaster:c_,RateLimiterClusterMasterPM2:u_,RateLimiterCluster:l_,RLWrapperBlackAndWhite:d_,RateLimiterUnion:p_,RateLimiterQueue:m_,BurstyRateLimiter:y_,RateLimiterRes:g_}});var Q_={};ze(Q_,{createLibp2p:()=>W_});var Yy=ae($n(),1);var A4=ae(Fi(),1),I4=ae(th(),1);var Wn=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"},w=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var So=ae(pe(),1);function cn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var pc={};ze(pc,{base10:()=>H1});function F1(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,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var b=(x-g)*l+1>>>0,C=new Uint8Array(b);g!==x;){for(var _=h[g],S=0,P=b-1;(_!==0||S<y)&&P!==-1;P--,S++)_+=256*C[P]>>>0,C[P]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");y=S,g++}for(var D=b-y;D!==b&&C[D]===0;)D++;for(var Y=c.repeat(m);D<b;++D)Y+=t.charAt(C[D]);return Y}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 y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,b=new Uint8Array(x);h[m];){var C=r[h.charCodeAt(m)];if(C===255)return;for(var _=0,S=x-1;(C!==0||_<g)&&S!==-1;S--,_++)C+=a*b[S]>>>0,b[S]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");g=_,m++}if(h[m]!==" "){for(var P=x-g;P!==x&&b[P]===0;)P++;for(var D=new Uint8Array(y+(x-P)),Y=y;P!==x;)D[Y++]=b[P++];return D}}}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 K1=F1,V1=K1,rh=V1;var IS=new Uint8Array(0);var nh=(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 ih=t=>new TextEncoder().encode(t),sh=t=>new TextDecoder().decode(t);var lc=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")}},fc=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 ah(this,e)}},hc=class{constructor(e){this.decoders=e}or(e){return ah(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`)}},ah=(t,e)=>new hc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),dc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new lc(e,r,n),this.decoder=new fc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Qn=({name:t,prefix:e,encode:r,decode:n})=>new dc(t,e,r,n),Pr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=rh(r,e);return Qn({prefix:t,name:e,encode:n,decode:s=>fr(i(s))})},q1=(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},$1=(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},De=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Qn({prefix:e,name:t,encode(i){return $1(i,n,r)},decode(i){return q1(i,n,r,t)}});var H1=Pr({prefix:"9",name:"base10",alphabet:"0123456789"});var mc={};ze(mc,{base16:()=>z1,base16upper:()=>G1});var z1=De({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),G1=De({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var yc={};ze(yc,{base2:()=>Y1});var Y1=De({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var gc={};ze(gc,{base256emoji:()=>j1});var ch=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),W1=ch.reduce((t,e,r)=>(t[r]=e,t),[]),Q1=ch.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function X1(t){return t.reduce((e,r)=>(e+=W1[r],e),"")}function Z1(t){let e=[];for(let r of t){let n=Q1[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var j1=Qn({prefix:"\u{1F680}",name:"base256emoji",encode:X1,decode:Z1});var xc={};ze(xc,{base32:()=>bt,base32hex:()=>r2,base32hexpad:()=>i2,base32hexpadupper:()=>s2,base32hexupper:()=>n2,base32pad:()=>e2,base32padupper:()=>t2,base32upper:()=>J1,base32z:()=>o2});var bt=De({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),J1=De({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),e2=De({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),t2=De({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),r2=De({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),n2=De({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),i2=De({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),s2=De({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),o2=De({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ec={};ze(Ec,{base36:()=>a2,base36upper:()=>c2});var a2=Pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),c2=Pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var bc={};ze(bc,{base58btc:()=>Te,base58flickr:()=>u2});var Te=Pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),u2=Pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var vc={};ze(vc,{base64:()=>un,base64pad:()=>l2,base64url:()=>wc,base64urlpad:()=>f2});var un=De({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),l2=De({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),wc=De({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),f2=De({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var _c={};ze(_c,{base8:()=>h2});var h2=De({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Sc={};ze(Sc,{identity:()=>d2});var d2=Qn({prefix:"\0",name:"identity",encode:t=>sh(t),decode:t=>ih(t)});var VS=new TextEncoder,qS=new TextDecoder;var Ic={};ze(Ic,{identity:()=>Dr});var y2=fh,uh=128,g2=127,x2=~g2,E2=Math.pow(2,31);function fh(t,e,r){e=e||[],r=r||0;for(var n=r;t>=E2;)e[r++]=t&255|uh,t/=128;for(;t&x2;)e[r++]=t&255|uh,t>>>=7;return e[r]=t|0,fh.bytes=r-n+1,e}var b2=Ac,w2=128,lh=127;function Ac(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw Ac.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&lh)<<i:(o&lh)*Math.pow(2,i),i+=7}while(o>=w2);return Ac.bytes=s-n,r}var v2=Math.pow(2,7),_2=Math.pow(2,14),S2=Math.pow(2,21),A2=Math.pow(2,28),I2=Math.pow(2,35),R2=Math.pow(2,42),C2=Math.pow(2,49),T2=Math.pow(2,56),B2=Math.pow(2,63),L2=function(t){return t<v2?1:t<_2?2:t<S2?3:t<A2?4:t<I2?5:t<R2?6:t<C2?7:t<T2?8:t<B2?9:10},P2={encode:y2,decode:b2,encodingLength:L2},D2=P2,$i=D2;var Hi=(t,e=0)=>[$i.decode(t,e),$i.decode.bytes],Xn=(t,e,r=0)=>($i.encode(t,e,r),e),Zn=t=>$i.encodingLength(t);var jt=(t,e)=>{let r=e.byteLength,n=Zn(t),i=n+Zn(r),s=new Uint8Array(i+r);return Xn(t,s,0),Xn(r,s,n),s.set(e,i),new jn(t,r,e,s)},ln=t=>{let e=fr(t),[r,n]=Hi(e),[i,s]=Hi(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new jn(r,i,o,e)},hh=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&nh(t.bytes,r.bytes)}},jn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var dh=0,N2="identity",ph=fr,k2=t=>jt(dh,ph(t)),Dr={code:dh,name:N2,encode:ph,digest:k2};var Tc={};ze(Tc,{sha256:()=>tt,sha512:()=>O2});var Cc=({name:t,code:e,encode:r})=>new Rc(t,e,r),Rc=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?jt(this.code,r):r.then(n=>jt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var yh=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),tt=Cc({name:"sha2-256",code:18,encode:yh("SHA-256")}),O2=Cc({name:"sha2-512",code:19,encode:yh("SHA-512")});var gh=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return U2(r,Bc(t),e||Te.encoder);default:return F2(r,Bc(t),e||bt.encoder)}};var xh=new WeakMap,Bc=t=>{let e=xh.get(t);if(e==null){let r=new Map;return xh.set(t,r),r}return e},Mt=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!==zi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==K2)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&&e.code===n.code&&e.version===n.version&&hh(e.multihash,n.multihash)}toString(e){return gh(this,e)}toJSON(){return{"/":gh(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||Eh(n,i,s.bytes))}else if(r[V2]===!0){let{version:n,multihash:i,code:s}=r,o=ln(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!==zi)throw new Error(`Version 0 CID must use dag-pb (code: ${zi}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Eh(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,zi,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 s=i.subarray(r.multihashSize-r.digestSize),o=new jn(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]=Hi(e.subarray(r));return r+=d,f},i=n(),s=zi;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]=M2(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 Bc(s).set(n,e),s}},M2=(t,e)=>{switch(t[0]){case"Q":{let r=e||Te;return[Te.prefix,r.decode(`${Te.prefix}${t}`)]}case Te.prefix:{let r=e||Te;return[Te.prefix,r.decode(t)]}case bt.prefix:{let r=e||bt;return[bt.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)]}}},U2=(t,e,r)=>{let{prefix:n}=r;if(n!==Te.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},F2=(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},zi=112,K2=18,Eh=(t,e,r)=>{let n=Zn(t),i=n+Zn(e),s=new Uint8Array(i+r.byteLength);return Xn(t,s,0),Xn(e,s,n),s.set(r,i),s},V2=Symbol.for("@ipld/js-cid/CID");var Nr={...Sc,...yc,..._c,...pc,...mc,...xc,...Ec,...bc,...vc,...gc},iA={...Tc,...Ic};function hr(t=0){return globalThis.Buffer?.alloc!=null?cn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function ct(t=0){return globalThis.Buffer?.allocUnsafe!=null?cn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function wh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var bh=wh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Lc=wh("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=ct(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),q2={utf8:bh,"utf-8":bh,hex:Nr.base16,latin1:Lc,ascii:Lc,binary:Lc,...Nr},ro=q2;function z(t,e="utf8"){let r=ro[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?cn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var cu={};ze(cu,{Ed25519PrivateKey:()=>gn,Ed25519PublicKey:()=>ji,generateKeyPair:()=>nb,generateKeyPairFromSeed:()=>ed,unmarshalEd25519PrivateKey:()=>tb,unmarshalEd25519PublicKey:()=>rb});function Be(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 vh(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Pc(t,...e){if(!(t instanceof Uint8Array))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 _h(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");vh(t.outputLen),vh(t.blockLen)}function Jn(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 Sh(t,e){Pc(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var no=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Ah=t=>t instanceof Uint8Array;var io=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Ut=(t,e)=>t<<32-e|t>>>e,$2=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!$2)throw new Error("Non little-endian hardware is not supported");function Dc(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Gi(t){if(typeof t=="string"&&(t=Dc(t)),!Ah(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function so(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!Ah(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var ei=class{clone(){return this._cloneInto()}},xA={}.toString;function oo(t){let e=n=>t().update(Gi(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function ti(t=32){if(no&&typeof no.getRandomValues=="function")return no.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function H2(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 ri=class extends ei{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=io(this.buffer)}update(e){Jn(this);let{view:r,buffer:n,blockLen:i}=this;e=Gi(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=io(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){Jn(this),Sh(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;H2(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=io(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 ao=BigInt(4294967295),Nc=BigInt(32);function Ih(t,e=!1){return e?{h:Number(t&ao),l:Number(t>>Nc&ao)}:{h:Number(t>>Nc&ao)|0,l:Number(t&ao)|0}}function z2(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}=Ih(t[i],e);[r[i],n[i]]=[s,o]}return[r,n]}var G2=(t,e)=>BigInt(t>>>0)<<Nc|BigInt(e>>>0),Y2=(t,e,r)=>t>>>r,W2=(t,e,r)=>t<<32-r|e>>>r,Q2=(t,e,r)=>t>>>r|e<<32-r,X2=(t,e,r)=>t<<32-r|e>>>r,Z2=(t,e,r)=>t<<64-r|e>>>r-32,j2=(t,e,r)=>t>>>r-32|e<<64-r,J2=(t,e)=>e,eE=(t,e)=>t,tE=(t,e,r)=>t<<r|e>>>32-r,rE=(t,e,r)=>e<<r|t>>>32-r,nE=(t,e,r)=>e<<r-32|t>>>64-r,iE=(t,e,r)=>t<<r-32|e>>>64-r;function sE(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var oE=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),aE=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,cE=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),uE=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,lE=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),fE=(t,e,r,n,i,s)=>e+r+n+i+s+(t/2**32|0)|0;var hE={fromBig:Ih,split:z2,toBig:G2,shrSH:Y2,shrSL:W2,rotrSH:Q2,rotrSL:X2,rotrBH:Z2,rotrBL:j2,rotr32H:J2,rotr32L:eE,rotlSH:tE,rotlSL:rE,rotlBH:nE,rotlBL:iE,add:sE,add3L:oE,add3H:aE,add4L:cE,add4H:uE,add5H:fE,add5L:lE},j=hE;var[dE,pE]=(()=>j.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),kr=new Uint32Array(80),Or=new Uint32Array(80),kc=class extends ri{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:y}=this;return[e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,y]}set(e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,y){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=y|0}process(e,r){for(let b=0;b<16;b++,r+=4)kr[b]=e.getUint32(r),Or[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let C=kr[b-15]|0,_=Or[b-15]|0,S=j.rotrSH(C,_,1)^j.rotrSH(C,_,8)^j.shrSH(C,_,7),P=j.rotrSL(C,_,1)^j.rotrSL(C,_,8)^j.shrSL(C,_,7),D=kr[b-2]|0,Y=Or[b-2]|0,W=j.rotrSH(D,Y,19)^j.rotrBH(D,Y,61)^j.shrSH(D,Y,6),H=j.rotrSL(D,Y,19)^j.rotrBL(D,Y,61)^j.shrSL(D,Y,6),te=j.add4L(P,H,Or[b-7],Or[b-16]),me=j.add4H(te,S,W,kr[b-7],kr[b-16]);kr[b]=me|0,Or[b]=te|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:y,Hh:g,Hl:x}=this;for(let b=0;b<80;b++){let C=j.rotrSH(f,d,14)^j.rotrSH(f,d,18)^j.rotrBH(f,d,41),_=j.rotrSL(f,d,14)^j.rotrSL(f,d,18)^j.rotrBL(f,d,41),S=f&p^~f&m,P=d&h^~d&y,D=j.add5L(x,_,P,pE[b],Or[b]),Y=j.add5H(D,g,C,S,dE[b],kr[b]),W=D|0,H=j.rotrSH(n,i,28)^j.rotrBH(n,i,34)^j.rotrBH(n,i,39),te=j.rotrSL(n,i,28)^j.rotrBL(n,i,34)^j.rotrBL(n,i,39),me=n&s^n&a^s&a,je=i&o^i&c^o&c;g=m|0,x=y|0,m=p|0,y=h|0,p=f|0,h=d|0,{h:f,l:d}=j.add(u|0,l|0,Y|0,W|0),u=a|0,l=c|0,a=s|0,c=o|0,s=n|0,o=i|0;let T=j.add3L(W,te,je);n=j.add3H(T,Y,H,me),i=T|0}({h:n,l:i}=j.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=j.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=j.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=j.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:d}=j.add(this.Eh|0,this.El|0,f|0,d|0),{h:p,l:h}=j.add(this.Fh|0,this.Fl|0,p|0,h|0),{h:m,l:y}=j.add(this.Gh|0,this.Gl|0,m|0,y|0),{h:g,l:x}=j.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,s,o,a,c,u,l,f,d,p,h,m,y,g,x)}roundClean(){kr.fill(0),Or.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 Oc=oo(()=>new kc);var lo={};ze(lo,{bitGet:()=>wE,bitLen:()=>bE,bitMask:()=>Yi,bitSet:()=>vE,bytesToHex:()=>dr,bytesToNumberBE:()=>pr,bytesToNumberLE:()=>Mr,concatBytes:()=>mr,createHmacDrbg:()=>Fc,ensureBytes:()=>Ne,equalBytes:()=>xE,hexToBytes:()=>hn,hexToNumber:()=>Uc,numberToBytesBE:()=>Ur,numberToBytesLE:()=>dn,numberToHexUnpadded:()=>Th,numberToVarBytesBE:()=>gE,utf8ToBytes:()=>EE,validateObject:()=>Jt});var Ch=BigInt(0),co=BigInt(1),mE=BigInt(2),uo=t=>t instanceof Uint8Array,yE=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function dr(t){if(!uo(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=yE[t[r]];return e}function Th(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Uc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function hn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,s=t.slice(i,i+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");r[n]=o}return r}function pr(t){return Uc(dr(t))}function Mr(t){if(!uo(t))throw new Error("Uint8Array expected");return Uc(dr(Uint8Array.from(t).reverse()))}function Ur(t,e){return hn(t.toString(16).padStart(e*2,"0"))}function dn(t,e){return Ur(t,e).reverse()}function gE(t){return hn(Th(t))}function Ne(t,e,r){let n;if(typeof e=="string")try{n=hn(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(uo(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 mr(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!uo(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function xE(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function EE(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function bE(t){let e;for(e=0;t>Ch;t>>=co,e+=1);return e}function wE(t,e){return t>>BigInt(e)&co}var vE=(t,e,r)=>t|(r?co:Ch)<<BigInt(e),Yi=t=>(mE<<BigInt(t-1))-co,Mc=t=>new Uint8Array(t),Rh=t=>Uint8Array.from(t);function Fc(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=Mc(t),i=Mc(t),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...f)=>r(i,n,...f),c=(f=Mc())=>{i=a(Rh([0]),f),n=a(),f.length!==0&&(i=a(Rh([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 mr(...d)};return(f,d)=>{o(),c(f);let p;for(;!(p=d(u()));)c();return o(),p}}var _E={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"||t instanceof Uint8Array,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 Jt(t,e,r={}){let n=(i,s,o)=>{let a=_E[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 $e=BigInt(0),Ie=BigInt(1),pn=BigInt(2),SE=BigInt(3),Kc=BigInt(4),Bh=BigInt(5),Lh=BigInt(8),AE=BigInt(9),IE=BigInt(16);function ge(t,e){let r=t%e;return r>=$e?r:e+r}function RE(t,e,r){if(r<=$e||e<$e)throw new Error("Expected power/modulo > 0");if(r===Ie)return $e;let n=Ie;for(;e>$e;)e&Ie&&(n=n*t%r),t=t*t%r,e>>=Ie;return n}function Re(t,e,r){let n=t;for(;e-- >$e;)n*=n,n%=r;return n}function fo(t,e){if(t===$e||e<=$e)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=ge(t,e),n=e,i=$e,s=Ie,o=Ie,a=$e;for(;r!==$e;){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!==Ie)throw new Error("invert: does not exist");return ge(i,e)}function CE(t){let e=(t-Ie)/pn,r,n,i;for(r=t-Ie,n=0;r%pn===$e;r/=pn,n++);for(i=pn;i<t&&RE(i,e,t)!==t-Ie;i++);if(n===1){let o=(t+Ie)/Kc;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+Ie)/pn;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,Ie<<BigInt(u-p-1));l=a.sqr(h),f=a.mul(f,h),d=a.mul(d,l),u=p}return f}}function TE(t){if(t%Kc===SE){let e=(t+Ie)/Kc;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%Lh===Bh){let e=(t-Bh)/Lh;return function(n,i){let s=n.mul(i,pn),o=n.pow(s,e),a=n.mul(i,o),c=n.mul(n.mul(a,pn),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%IE,CE(t)}var Ph=(t,e)=>(ge(t,e)&Ie)===Ie,BE=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Vc(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=BE.reduce((n,i)=>(n[i]="function",n),e);return Jt(t,r)}function LE(t,e,r){if(r<$e)throw new Error("Expected power > 0");if(r===$e)return t.ONE;if(r===Ie)return e;let n=t.ONE,i=e;for(;r>$e;)r&Ie&&(n=t.mul(n,i)),i=t.sqr(i),r>>=Ie;return n}function PE(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 qc(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ho(t,e,r=!1,n={}){if(t<=$e)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=qc(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=TE(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:Yi(i),ZERO:$e,ONE:Ie,create:c=>ge(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return $e<=c&&c<t},is0:c=>c===$e,isOdd:c=>(c&Ie)===Ie,neg:c=>ge(-c,t),eql:(c,u)=>c===u,sqr:c=>ge(c*c,t),add:(c,u)=>ge(c+u,t),sub:(c,u)=>ge(c-u,t),mul:(c,u)=>ge(c*u,t),pow:(c,u)=>LE(a,c,u),div:(c,u)=>ge(c*fo(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>fo(c,t),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>PE(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?dn(c,s):Ur(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?Mr(c):pr(c)}});return Object.freeze(a)}function Dh(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 Nh(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 $c(t){let e=Nh(t);return e+Math.ceil(e/2)}function kh(t,e,r=!1){let n=t.length,i=Nh(e),s=$c(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?pr(t):Mr(t),a=ge(o,e-Ie)+Ie;return r?dn(a,i):Ur(a,i)}var NE=BigInt(0),Hc=BigInt(1);function po(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>NE;)s&Hc&&(o=o.add(a)),a=a.double(),s>>=Hc;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,y=Number(o&f);o>>=p,y>c&&(y-=d,o+=Hc);let g=m,x=m+Math.abs(y)-1,b=h%2!==0,C=y<0;y===0?l=l.add(r(b,s[g])):u=u.add(r(C,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 Vc(t.Fp),Jt(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...qc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Ft=BigInt(0),wt=BigInt(1),mo=BigInt(2),kE=BigInt(8),OE={zip215:!0};function ME(t){let e=Wi(t);return Jt(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function yo(t){let e=ME(t),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:c}=e,u=mo<<BigInt(a*8)-wt,l=r.create,f=e.uvRatio||((N,I)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(I))}}catch{return{isValid:!1,value:Ft}}}),d=e.adjustScalarBytes||(N=>N),p=e.domain||((N,I,F)=>{if(I.length||F)throw new Error("Contexts/pre-hash are not supported");return N}),h=N=>typeof N=="bigint"&&Ft<N,m=(N,I)=>h(N)&&h(I)&&N<I,y=N=>N===Ft||m(N,u);function g(N,I){if(m(N,I))return N;throw new Error(`Expected valid scalar < ${I}, got ${typeof N} ${N}`)}function x(N){return N===Ft?N:g(N,n)}let b=new Map;function C(N){if(!(N instanceof _))throw new Error("ExtendedPoint expected")}class _{constructor(I,F,q,G){if(this.ex=I,this.ey=F,this.ez=q,this.et=G,!y(I))throw new Error("x required");if(!y(F))throw new Error("y required");if(!y(q))throw new Error("z required");if(!y(G))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(I){if(I instanceof _)throw new Error("extended point not allowed");let{x:F,y:q}=I||{};if(!y(F)||!y(q))throw new Error("invalid affine point");return new _(F,q,wt,l(F*q))}static normalizeZ(I){let F=r.invertBatch(I.map(q=>q.ez));return I.map((q,G)=>q.toAffine(F[G])).map(_.fromAffine)}_setWindowSize(I){this._WINDOW_SIZE=I,b.delete(this)}assertValidity(){let{a:I,d:F}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:q,ey:G,ez:J,et:ne}=this,de=l(q*q),ie=l(G*G),ue=l(J*J),Ke=l(ue*ue),Pe=l(de*I),Je=l(ue*l(Pe+ie)),et=l(Ke+l(F*l(de*ie)));if(Je!==et)throw new Error("bad point: equation left != right (1)");let qe=l(q*G),at=l(J*ne);if(qe!==at)throw new Error("bad point: equation left != right (2)")}equals(I){C(I);let{ex:F,ey:q,ez:G}=this,{ex:J,ey:ne,ez:de}=I,ie=l(F*de),ue=l(J*G),Ke=l(q*de),Pe=l(ne*G);return ie===ue&&Ke===Pe}is0(){return this.equals(_.ZERO)}negate(){return new _(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:I}=e,{ex:F,ey:q,ez:G}=this,J=l(F*F),ne=l(q*q),de=l(mo*l(G*G)),ie=l(I*J),ue=F+q,Ke=l(l(ue*ue)-J-ne),Pe=ie+ne,Je=Pe-de,et=ie-ne,qe=l(Ke*Je),at=l(Pe*et),ar=l(Ke*et),tn=l(Je*Pe);return new _(qe,at,tn,ar)}add(I){C(I);let{a:F,d:q}=e,{ex:G,ey:J,ez:ne,et:de}=this,{ex:ie,ey:ue,ez:Ke,et:Pe}=I;if(F===BigInt(-1)){let _f=l((J-G)*(ue+ie)),Sf=l((J+G)*(ue-ie)),Ka=l(Sf-_f);if(Ka===Ft)return this.double();let Af=l(ne*mo*Pe),If=l(de*mo*Ke),Rf=If+Af,Cf=Sf+_f,Tf=If-Af,Jy=l(Rf*Ka),eg=l(Cf*Tf),tg=l(Rf*Tf),rg=l(Ka*Cf);return new _(Jy,eg,rg,tg)}let Je=l(G*ie),et=l(J*ue),qe=l(de*q*Pe),at=l(ne*Ke),ar=l((G+J)*(ie+ue)-Je-et),tn=at-qe,ki=at+qe,vf=l(et-F*Je),Qy=l(ar*tn),Xy=l(ki*vf),Zy=l(ar*vf),jy=l(tn*ki);return new _(Qy,Xy,jy,Zy)}subtract(I){return this.add(I.negate())}wNAF(I){return D.wNAFCached(this,b,I,_.normalizeZ)}multiply(I){let{p:F,f:q}=this.wNAF(g(I,n));return _.normalizeZ([F,q])[0]}multiplyUnsafe(I){let F=x(I);return F===Ft?P:this.equals(P)||F===wt?this:this.equals(S)?this.wNAF(F).p:D.unsafeLadder(this,F)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(I){let{ex:F,ey:q,ez:G}=this,J=this.is0();I==null&&(I=J?kE:r.inv(G));let ne=l(F*I),de=l(q*I),ie=l(G*I);if(J)return{x:Ft,y:wt};if(ie!==wt)throw new Error("invZ was invalid");return{x:ne,y:de}}clearCofactor(){let{h:I}=e;return I===wt?this:this.multiplyUnsafe(I)}static fromHex(I,F=!1){let{d:q,a:G}=e,J=r.BYTES;I=Ne("pointHex",I,J);let ne=I.slice(),de=I[J-1];ne[J-1]=de&-129;let ie=Mr(ne);ie===Ft||(F?g(ie,u):g(ie,r.ORDER));let ue=l(ie*ie),Ke=l(ue-wt),Pe=l(q*ue-G),{isValid:Je,value:et}=f(Ke,Pe);if(!Je)throw new Error("Point.fromHex: invalid y coordinate");let qe=(et&wt)===wt,at=(de&128)!==0;if(!F&&et===Ft&&at)throw new Error("Point.fromHex: x=0 and x_0=1");return at!==qe&&(et=l(-et)),_.fromAffine({x:et,y:ie})}static fromPrivateKey(I){return H(I).point}toRawBytes(){let{x:I,y:F}=this.toAffine(),q=dn(F,r.BYTES);return q[q.length-1]|=I&wt?128:0,q}toHex(){return dr(this.toRawBytes())}}_.BASE=new _(e.Gx,e.Gy,wt,l(e.Gx*e.Gy)),_.ZERO=new _(Ft,wt,wt,Ft);let{BASE:S,ZERO:P}=_,D=po(_,a*8);function Y(N){return ge(N,n)}function W(N){return Y(Mr(N))}function H(N){let I=a;N=Ne("private key",N,I);let F=Ne("hashed private key",s(N),2*I),q=d(F.slice(0,I)),G=F.slice(I,2*I),J=W(q),ne=S.multiply(J),de=ne.toRawBytes();return{head:q,prefix:G,scalar:J,point:ne,pointBytes:de}}function te(N){return H(N).pointBytes}function me(N=new Uint8Array,...I){let F=mr(...I);return W(s(p(F,Ne("context",N),!!i)))}function je(N,I,F={}){N=Ne("message",N),i&&(N=i(N));let{prefix:q,scalar:G,pointBytes:J}=H(I),ne=me(F.context,q,N),de=S.multiply(ne).toRawBytes(),ie=me(F.context,de,J,N),ue=Y(ne+ie*G);x(ue);let Ke=mr(de,dn(ue,r.BYTES));return Ne("result",Ke,a*2)}let T=OE;function k(N,I,F,q=T){let{context:G,zip215:J}=q,ne=r.BYTES;N=Ne("signature",N,2*ne),I=Ne("message",I),i&&(I=i(I));let de=Mr(N.slice(ne,2*ne)),ie,ue,Ke;try{ie=_.fromHex(F,J),ue=_.fromHex(N.slice(0,ne),J),Ke=S.multiplyUnsafe(de)}catch{return!1}if(!J&&ie.isSmallOrder())return!1;let Pe=me(G,ue.toRawBytes(),ie.toRawBytes(),I);return ue.add(ie.multiplyUnsafe(Pe)).subtract(Ke).clearCofactor().equals(_.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:te,sign:je,verify:k,ExtendedPoint:_,utils:{getExtendedPublicKey:H,randomPrivateKey:()=>o(r.BYTES),precompute(N=8,I=_.BASE){return I._setWindowSize(N),I.multiply(BigInt(3)),I}}}}var Gc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Oh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),KA=BigInt(0),UE=BigInt(1),zc=BigInt(2),FE=BigInt(5),Mh=BigInt(10),KE=BigInt(20),VE=BigInt(40),Uh=BigInt(80);function qE(t){let e=Gc,n=t*t%e*t%e,i=Re(n,zc,e)*n%e,s=Re(i,UE,e)*t%e,o=Re(s,FE,e)*s%e,a=Re(o,Mh,e)*o%e,c=Re(a,KE,e)*a%e,u=Re(c,VE,e)*c%e,l=Re(u,Uh,e)*u%e,f=Re(l,Uh,e)*u%e,d=Re(f,Mh,e)*o%e;return{pow_p_5_8:Re(d,zc,e)*t%e,b2:n}}function $E(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function HE(t,e){let r=Gc,n=ge(e*e*e,r),i=ge(n*n*e,r),s=qE(t*i).pow_p_5_8,o=ge(t*n*s,r),a=ge(e*o*o,r),c=o,u=ge(o*Oh,r),l=a===t,f=a===ge(-t,r),d=a===ge(-t*Oh,r);return l&&(o=c),(f||d)&&(o=u),Ph(o,r)&&(o=ge(-o,r)),{isValid:l||f,value:o}}var yr=ho(Gc,void 0,!0),Yc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:yr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Oc,randomBytes:ti,adjustScalarBytes:$E,uvRatio:HE},ni=yo(Yc);function Fh(t,e,r){if(e.length>255)throw new Error("Context is too big");return so(Dc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var VA=yo({...Yc,domain:Fh}),qA=yo({...Yc,domain:Fh,prehash:Oc});var zE=(yr.ORDER+BigInt(3))/BigInt(8),$A=yr.pow(zc,zE),HA=yr.sqrt(yr.neg(yr.ONE)),zA=(yr.ORDER-BigInt(5))/BigInt(8),GA=BigInt(486662);var YA=Dh(yr,yr.neg(BigInt(486664)));var WA=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),QA=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),XA=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),ZA=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var jA=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var ii=32,gr=64,go=32;async function Kh(){let t=ni.utils.randomPrivateKey(),e=ni.getPublicKey(t);return{privateKey:Hh(t,e),publicKey:e}}async function Vh(t){if(t.length!==go)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=ni.getPublicKey(e);return{privateKey:Hh(e,r),publicKey:r}}async function qh(t,e){let r=t.subarray(0,go);return ni.sign(e,r)}async function $h(t,e,r){return ni.verify(e,r,t)}function Hh(t,e){let r=new Uint8Array(gr);for(let n=0;n<go;n++)r[n]=t[n],r[go+n]=e[n];return r}function Oe(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=ct(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return cn(r)}var yt={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-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var Wc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function xo(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=yt.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 y;if(d.length===0){y=await a.subtle.importKey("jwk",Wc,{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"]);y=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Wc,{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"]);y=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Oe([p,m.iv,new Uint8Array(g)])}async function u(f,d){let p=f.subarray(0,s),h=f.subarray(s,s+n),m=f.subarray(s+n),y={name:e,iv:h};typeof d=="string"&&(d=z(d));let g;if(d.length===0)try{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},C=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,C,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Wc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},C=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,C,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function si(t,e){let n=await xo().encrypt(t,e);return un.encode(n)}var Qc=new Float32Array([-0]),Fr=new Uint8Array(Qc.buffer);function Gh(t,e,r){Qc[0]=t,e[r]=Fr[0],e[r+1]=Fr[1],e[r+2]=Fr[2],e[r+3]=Fr[3]}function Yh(t,e){return Fr[0]=t[e],Fr[1]=t[e+1],Fr[2]=t[e+2],Fr[3]=t[e+3],Qc[0]}var Xc=new Float64Array([-0]),ut=new Uint8Array(Xc.buffer);function Wh(t,e,r){Xc[0]=t,e[r]=ut[0],e[r+1]=ut[1],e[r+2]=ut[2],e[r+3]=ut[3],e[r+4]=ut[4],e[r+5]=ut[5],e[r+6]=ut[6],e[r+7]=ut[7]}function Qh(t,e){return ut[0]=t[e],ut[1]=t[e+1],ut[2]=t[e+2],ut[3]=t[e+3],ut[4]=t[e+4],ut[5]=t[e+5],ut[6]=t[e+6],ut[7]=t[e+7],Xc[0]}var YE=BigInt(Number.MAX_SAFE_INTEGER),WE=BigInt(Number.MIN_SAFE_INTEGER),gt=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 mn;if(e<YE&&e>WE)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>Xh&&(i=0n,++n>Xh&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return mn;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):mn}},mn=new gt(0,0);mn.toBigInt=function(){return 0n};mn.zzEncode=mn.zzDecode=function(){return this};mn.length=function(){return 1};var Xh=4294967296n;function Zh(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 jh(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 Zc(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 Kt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Eo(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var jc=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,Kt(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 Kt(this,4);return Eo(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Kt(this,4);return Eo(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Kt(this,4);let e=Yh(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw Kt(this,4);let e=Qh(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 Kt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return jh(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Kt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Kt(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 gt(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 Kt(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 Kt(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 Kt(this,8);let e=Eo(this.buf,this.pos+=4),r=Eo(this.buf,this.pos+=4);return new gt(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 Jc(t){return new jc(t instanceof Uint8Array?t:t.subarray())}function rt(t,e){let r=Jc(t);return e.decode(r)}function eu(t){let e=t??8192,r=e>>>1,n,i=e;return function(o){if(o<1||o>r)return ct(o);i+o>e&&(n=ct(e),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var yn=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function tu(){}var nu=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},QE=eu();function XE(t){return globalThis.Buffer!=null?ct(t):QE(t)}var Zi=class{len;head;tail;states;constructor(){this.len=0,this.head=new yn(tu,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new yn(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new iu((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(Qi,10,gt.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=gt.fromBigInt(e);return this._push(Qi,r.length(),r)}uint64Number(e){let r=gt.fromNumber(e);return this._push(Qi,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=gt.fromBigInt(e).zzEncode();return this._push(Qi,r.length(),r)}sint64Number(e){let r=gt.fromNumber(e).zzEncode();return this._push(Qi,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(ru,1,e?1:0)}fixed32(e){return this._push(Xi,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=gt.fromBigInt(e);return this._push(Xi,4,r.lo)._push(Xi,4,r.hi)}fixed64Number(e){let r=gt.fromNumber(e);return this._push(Xi,4,r.lo)._push(Xi,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(Gh,4,e)}double(e){return this._push(Wh,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(ru,1,0):this.uint32(r)._push(jE,r,e)}string(e){let r=Zh(e);return r!==0?this.uint32(r)._push(Zc,r,e):this._push(ru,1,0)}fork(){return this.states=new nu(this),this.head=this.tail=new yn(tu,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new yn(tu,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=XE(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function ru(t,e,r){e[r]=t&255}function ZE(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var iu=class extends yn{next;constructor(e,r){super(ZE,e,r),this.next=void 0}};function Qi(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 Xi(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 jE(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Zi.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(JE,e,t),this},Zi.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(eb,e,t),this});function JE(t,e,r){e.set(t,r)}function eb(t,e,r){t.length<40?Zc(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(z(t),r)}function su(){return new Zi}function nt(t,e){let r=su();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var oi;(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"})(oi||(oi={}));function bo(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function ou(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 bo("enum",oi.VARINT,r,n)}function it(t,e){return bo("message",oi.LENGTH_DELIMITED,t,e)}var Ce;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Ce||(Ce={}));var au;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(au||(au={}));(function(t){t.codec=()=>ou(au)})(Ce||(Ce={}));var er;(function(t){let e;t.codec=()=>(e==null&&(e=it((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Ce.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=Ce.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(er||(er={}));var tr;(function(t){let e;t.codec=()=>(e==null&&(e=it((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Ce.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=Ce.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(tr||(tr={}));var ji=class{_key;constructor(e){this._key=ai(e,ii)}async verify(e,r){return $h(this._key,r,e)}marshal(){return this._key}get bytes(){return er.encode({Type:Ce.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Be(this.bytes,e.bytes)}async hash(){let{bytes:e}=await tt.digest(this.bytes);return e}},gn=class{_key;_publicKey;constructor(e,r){this._key=ai(e,gr),this._publicKey=ai(r,ii)}async sign(e){return qh(this._key,e)}get public(){return new ji(this._publicKey)}marshal(){return this._key}get bytes(){return tr.encode({Type:Ce.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Be(this.bytes,e.bytes)}async hash(){let{bytes:e}=await tt.digest(this.bytes);return e}async id(){let e=Dr.digest(this.public.bytes);return Te.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return si(this.bytes,e);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function tb(t){if(t.length>gr){t=ai(t,gr+ii);let n=t.subarray(0,gr),i=t.subarray(gr,t.length);return new gn(n,i)}t=ai(t,gr);let e=t.subarray(0,gr),r=t.subarray(ii);return new gn(e,r)}function rb(t){return t=ai(t,ii),new ji(t)}async function nb(){let{privateKey:t,publicKey:e}=await Kh();return new gn(t,e)}async function ed(t){let{privateKey:e,publicKey:r}=await Vh(t);return new gn(e,r)}function ai(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new w(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function X(t,e="utf8"){let r=ro[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 WI=ae(ke(),1),QI=ae(Zs(),1),td=ae(pe(),1);function Vt(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=Oe([new Uint8Array(e-r.length),r])}return X(r,"base64url")}function vt(t){let e=rd(t);return new td.default.jsbn.BigInteger(X(e,"base16"),16)}function rd(t,e){let r=z(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Oe([new Uint8Array(e-r.length),r])}return r}var ib={"P-256":256,"P-384":384,"P-521":521},sb=Object.keys(ib),oR=sb.join(" / ");async function nd(t,e){let r=un.decode(t);return xo().decrypt(r,e)}var du={};ze(du,{MAX_KEY_SIZE:()=>rs,RsaPrivateKey:()=>ci,RsaPublicKey:()=>ts,fromJwk:()=>mb,generateKeyPair:()=>yb,unmarshalRsaPrivateKey:()=>db,unmarshalRsaPublicKey:()=>pb});var es=ae(pe(),1);var HR=ae(ud(),1);function En(t){if(isNaN(t)||t<=0)throw new w("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return ti(t)}var IR=ae(eo(),1),fu=ae(pe(),1);function ld(t,e){return e.map(r=>vt(t[r]))}function fd(t){return fu.default.pki.setRsaPrivateKey(...ld(t,["n","e","d","p","q","dp","dq","qi"]))}function hd(t){return fu.default.pki.setRsaPublicKey(...ld(t,["n","e"]))}var bn={};ze(bn,{jwkToPkcs1:()=>cb,jwkToPkix:()=>lb,pkcs1ToJwk:()=>ab,pkixToJwk:()=>ub});var TR=ae(Fi(),1),BR=ae(eo(),1);var xr=ae(pe(),1);function ab(t){let e=xr.default.asn1.fromDer(X(t,"ascii")),r=xr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Vt(r.n),e:Vt(r.e),d:Vt(r.d),p:Vt(r.p),q:Vt(r.q),dp:Vt(r.dP),dq:Vt(r.dQ),qi:Vt(r.qInv),alg:"RS256"}}function cb(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 w("JWK was missing components","ERR_INVALID_PARAMETERS");let e=xr.default.pki.privateKeyToAsn1({n:vt(t.n),e:vt(t.e),d:vt(t.d),p:vt(t.p),q:vt(t.q),dP:vt(t.dp),dQ:vt(t.dq),qInv:vt(t.qi)});return z(xr.default.asn1.toDer(e).getBytes(),"ascii")}function ub(t){let e=xr.default.asn1.fromDer(X(t,"ascii")),r=xr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Vt(r.n),e:Vt(r.e)}}function lb(t){if(t.n==null||t.e==null)throw new w("JWK was missing components","ERR_INVALID_PARAMETERS");let e=xr.default.pki.publicKeyToAsn1({n:vt(t.n),e:vt(t.e)});return z(xr.default.asn1.toDer(e).getBytes(),"ascii")}async function dd(t){let e=await yt.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 yd(e);return{privateKey:r[0],publicKey:r[1]}}async function hu(t){let r=[await yt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await fb(t)],n=await yd({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function pd(t,e){let r=await yt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await yt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function md(t,e,r){let n=await yt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return yt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function yd(t){if(t.privateKey==null||t.publicKey==null)throw new w("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([yt.get().subtle.exportKey("jwk",t.privateKey),yt.get().subtle.exportKey("jwk",t.publicKey)])}async function fb(t){return yt.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 gd(t,e,r,n){let i=e?hd(t):fd(t),s=X(Uint8Array.from(r),"ascii"),o=n(s,i);return z(o,"ascii")}function xd(t,e){return gd(t,!0,e,(r,n)=>n.encrypt(r))}function Ed(t,e){return gd(t,!1,e,(r,n)=>n.decrypt(r))}function vo(t){if(t.kty!=="RSA")throw new w("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new w("invalid key modulus","ERR_INVALID_KEY_MODULUS");return z(t.n,"base64url").length*8}var rs=8192,ts=class{_key;constructor(e){this._key=e}async verify(e,r){return md(this._key,r,e)}marshal(){return bn.jwkToPkix(this._key)}get bytes(){return er.encode({Type:Ce.RSA,Data:this.marshal()}).subarray()}encrypt(e){return xd(this._key,e)}equals(e){return Be(this.bytes,e.bytes)}async hash(){let{bytes:e}=await tt.digest(this.bytes);return e}},ci=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return En(16)}async sign(e){return pd(this._key,e)}get public(){if(this._publicKey==null)throw new w("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ts(this._publicKey)}decrypt(e){return Ed(this._key,e)}marshal(){return bn.jwkToPkcs1(this._key)}get bytes(){return tr.encode({Type:Ce.RSA,Data:this.marshal()}).subarray()}equals(e){return Be(this.bytes,e.bytes)}async hash(){let{bytes:e}=await tt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return X(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new es.default.util.ByteBuffer(this.marshal()),i=es.default.asn1.fromDer(n),s=es.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return es.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return si(this.bytes,e);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function db(t){let e=bn.pkcs1ToJwk(t);if(vo(e)>rs)throw new w("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await hu(e);return new ci(r.privateKey,r.publicKey)}function pb(t){let e=bn.pkixToJwk(t);if(vo(e)>rs)throw new w("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ts(e)}async function mb(t){if(vo(t)>rs)throw new w("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await hu(t);return new ci(e.privateKey,e.publicKey)}async function yb(t){if(t>rs)throw new w("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await dd(t);return new ci(e.privateKey,e.publicKey)}var Eu={};ze(Eu,{Secp256k1PrivateKey:()=>is,Secp256k1PublicKey:()=>ns,generateKeyPair:()=>Lb,unmarshalSecp256k1PrivateKey:()=>Tb,unmarshalSecp256k1PublicKey:()=>Bb});var gb=(t,e,r)=>t&e^~t&r,xb=(t,e,r)=>t&e^t&r^e&r,Eb=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]),Kr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Vr=new Uint32Array(64),pu=class extends ri{constructor(){super(64,32,8,!1),this.A=Kr[0]|0,this.B=Kr[1]|0,this.C=Kr[2]|0,this.D=Kr[3]|0,this.E=Kr[4]|0,this.F=Kr[5]|0,this.G=Kr[6]|0,this.H=Kr[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)Vr[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let d=Vr[f-15],p=Vr[f-2],h=Ut(d,7)^Ut(d,18)^d>>>3,m=Ut(p,17)^Ut(p,19)^p>>>10;Vr[f]=m+Vr[f-7]+h+Vr[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=Ut(a,6)^Ut(a,11)^Ut(a,25),p=l+d+gb(a,c,u)+Eb[f]+Vr[f]|0,m=(Ut(n,2)^Ut(n,13)^Ut(n,22))+xb(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(){Vr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var bd=oo(()=>new pu);function bb(t){let e=Wi(t);Jt(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:wb,hexToBytes:vb}=lo,wn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=wn;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:wb(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=wn,r=typeof t=="string"?vb(t):t;if(!(r instanceof Uint8Array))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}=wn._parseInt(r.subarray(2)),{d:o,l:a}=wn._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}`}},Er=BigInt(0),Lt=BigInt(1),JR=BigInt(2),wd=BigInt(3),e4=BigInt(4);function _b(t){let e=bb(t),{Fp:r}=e,n=e.toBytes||((h,m,y)=>{let g=m.toAffine();return mr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.fromBytes||(h=>{let m=h.subarray(1),y=r.fromBytes(m.subarray(0,r.BYTES)),g=r.fromBytes(m.subarray(r.BYTES,2*r.BYTES));return{x:y,y:g}});function s(h){let{a:m,b:y}=e,g=r.sqr(h),x=r.mul(g,h);return r.add(r.add(x,r.mul(h,m)),y)}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"&&Er<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:y,wrapPrivateKey:g,n:x}=e;if(m&&typeof h!="bigint"){if(h instanceof Uint8Array&&(h=dr(h)),typeof h!="string"||!m.includes(h.length))throw new Error("Invalid key");h=h.padStart(y*2,"0")}let b;try{b=typeof h=="bigint"?h:pr(Ne("private key",h,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof h}`)}return g&&(b=ge(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,y,g){if(this.px=m,this.py=y,this.pz=g,m==null||!r.isValid(m))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(m){let{x:y,y:g}=m||{};if(!m||!r.isValid(y)||!r.isValid(g))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(y)&&x(g)?f.ZERO:new f(y,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(m){let y=r.invertBatch(m.map(g=>g.pz));return m.map((g,x)=>g.toAffine(y[x])).map(f.fromAffine)}static fromHex(m){let y=f.fromAffine(i(Ne("pointHex",m)));return y.assertValidity(),y}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}=this.toAffine();if(!r.isValid(m)||!r.isValid(y))throw new Error("bad point: x or y not FE");let g=r.sqr(y),x=s(m);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:m}=this.toAffine();if(r.isOdd)return!r.isOdd(m);throw new Error("Field doesn't support isOdd")}equals(m){l(m);let{px:y,py:g,pz:x}=this,{px:b,py:C,pz:_}=m,S=r.eql(r.mul(y,_),r.mul(b,x)),P=r.eql(r.mul(g,_),r.mul(C,x));return S&&P}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:y}=e,g=r.mul(y,wd),{px:x,py:b,pz:C}=this,_=r.ZERO,S=r.ZERO,P=r.ZERO,D=r.mul(x,x),Y=r.mul(b,b),W=r.mul(C,C),H=r.mul(x,b);return H=r.add(H,H),P=r.mul(x,C),P=r.add(P,P),_=r.mul(m,P),S=r.mul(g,W),S=r.add(_,S),_=r.sub(Y,S),S=r.add(Y,S),S=r.mul(_,S),_=r.mul(H,_),P=r.mul(g,P),W=r.mul(m,W),H=r.sub(D,W),H=r.mul(m,H),H=r.add(H,P),P=r.add(D,D),D=r.add(P,D),D=r.add(D,W),D=r.mul(D,H),S=r.add(S,D),W=r.mul(b,C),W=r.add(W,W),D=r.mul(W,H),_=r.sub(_,D),P=r.mul(W,Y),P=r.add(P,P),P=r.add(P,P),new f(_,S,P)}add(m){l(m);let{px:y,py:g,pz:x}=this,{px:b,py:C,pz:_}=m,S=r.ZERO,P=r.ZERO,D=r.ZERO,Y=e.a,W=r.mul(e.b,wd),H=r.mul(y,b),te=r.mul(g,C),me=r.mul(x,_),je=r.add(y,g),T=r.add(b,C);je=r.mul(je,T),T=r.add(H,te),je=r.sub(je,T),T=r.add(y,x);let k=r.add(b,_);return T=r.mul(T,k),k=r.add(H,me),T=r.sub(T,k),k=r.add(g,x),S=r.add(C,_),k=r.mul(k,S),S=r.add(te,me),k=r.sub(k,S),D=r.mul(Y,T),S=r.mul(W,me),D=r.add(S,D),S=r.sub(te,D),D=r.add(te,D),P=r.mul(S,D),te=r.add(H,H),te=r.add(te,H),me=r.mul(Y,me),T=r.mul(W,T),te=r.add(te,me),me=r.sub(H,me),me=r.mul(Y,me),T=r.add(T,me),H=r.mul(te,T),P=r.add(P,H),H=r.mul(k,T),S=r.mul(je,S),S=r.sub(S,H),H=r.mul(je,te),D=r.mul(k,D),D=r.add(D,H),new f(S,P,D)}subtract(m){return this.add(m.negate())}is0(){return this.equals(f.ZERO)}wNAF(m){return p.wNAFCached(this,u,m,y=>{let g=r.invertBatch(y.map(x=>x.pz));return y.map((x,b)=>x.toAffine(g[b])).map(f.fromAffine)})}multiplyUnsafe(m){let y=f.ZERO;if(m===Er)return y;if(a(m),m===Lt)return this;let{endo:g}=e;if(!g)return p.unsafeLadder(this,m);let{k1neg:x,k1:b,k2neg:C,k2:_}=g.splitScalar(m),S=y,P=y,D=this;for(;b>Er||_>Er;)b&Lt&&(S=S.add(D)),_&Lt&&(P=P.add(D)),D=D.double(),b>>=Lt,_>>=Lt;return x&&(S=S.negate()),C&&(P=P.negate()),P=new f(r.mul(P.px,g.beta),P.py,P.pz),S.add(P)}multiply(m){a(m);let y=m,g,x,{endo:b}=e;if(b){let{k1neg:C,k1:_,k2neg:S,k2:P}=b.splitScalar(y),{p:D,f:Y}=this.wNAF(_),{p:W,f:H}=this.wNAF(P);D=p.constTimeNegate(C,D),W=p.constTimeNegate(S,W),W=new f(r.mul(W.px,b.beta),W.py,W.pz),g=D.add(W),x=Y.add(H)}else{let{p:C,f:_}=this.wNAF(y);g=C,x=_}return f.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(m,y,g){let x=f.BASE,b=(_,S)=>S===Er||S===Lt||!_.equals(x)?_.multiplyUnsafe(S):_.multiply(S),C=b(this,y).add(b(m,g));return C.is0()?void 0:C}toAffine(m){let{px:y,py:g,pz:x}=this,b=this.is0();m==null&&(m=b?r.ONE:r.inv(x));let C=r.mul(y,m),_=r.mul(g,m),S=r.mul(x,m);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:C,y:_}}isTorsionFree(){let{h:m,isTorsionFree:y}=e;if(m===Lt)return!0;if(y)return y(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:m,clearCofactor:y}=e;return m===Lt?this:y?y(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return dr(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=po(f,e.endo?Math.ceil(d/2):d);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:o}}function Sb(t){let e=Wi(t);return Jt(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function vd(t){let e=Sb(t),{Fp:r,n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function o(T){return Er<T&&T<r.ORDER}function a(T){return ge(T,n)}function c(T){return fo(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:d}=_b({...e,toBytes(T,k,L){let N=k.toAffine(),I=r.toBytes(N.x),F=mr;return L?F(Uint8Array.from([k.hasEvenY()?2:3]),I):F(Uint8Array.from([4]),I,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 I=pr(N);if(!o(I))throw new Error("Point is not on curve");let F=f(I),q=r.sqrt(F),G=(q&Lt)===Lt;return(L&1)===1!==G&&(q=r.neg(q)),{x:I,y:q}}else if(k===s&&L===4){let I=r.fromBytes(N.subarray(0,r.BYTES)),F=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:I,y:F}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),p=T=>dr(Ur(T,e.nByteLength));function h(T){let k=n>>Lt;return T>k}function m(T){return h(T)?a(-T):T}let y=(T,k,L)=>pr(T.slice(k,L));class g{constructor(k,L,N){this.r=k,this.s=L,this.recovery=N,this.assertValidity()}static fromCompact(k){let L=e.nByteLength;return k=Ne("compactSignature",k,L*2),new g(y(k,0,L),y(k,L,2*L))}static fromDER(k){let{r:L,s:N}=wn.toSig(Ne("DER",k));return new g(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 g(this.r,this.s,k)}recoverPublicKey(k){let{r:L,s:N,recovery:I}=this,F=P(Ne("msgHash",k));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");let q=I===2||I===3?L+e.n:L;if(q>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let G=I&1?"03":"02",J=u.fromHex(G+p(q)),ne=c(q),de=a(-F*ne),ie=a(N*ne),ue=u.BASE.multiplyAndAddUnsafe(J,de,ie);if(!ue)throw new Error("point at infinify");return ue.assertValidity(),ue}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return hn(this.toDERHex())}toDERHex(){return wn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return hn(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=$c(e.n);return kh(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 C(T){let k=T instanceof Uint8Array,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 _(T,k,L=!0){if(C(T))throw new Error("first arg must be private key");if(!C(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(T)).toRawBytes(L)}let S=e.bits2int||function(T){let k=pr(T),L=T.length*8-e.nBitLength;return L>0?k>>BigInt(L):k},P=e.bits2int_modN||function(T){return a(S(T))},D=Yi(e.nBitLength);function Y(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(Er<=T&&T<D))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Ur(T,e.nByteLength)}function W(T,k,L=H){if(["recovered","canonical"].some(Pe=>Pe in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:I}=e,{lowS:F,prehash:q,extraEntropy:G}=L;F==null&&(F=!0),T=Ne("msgHash",T),q&&(T=Ne("prehashed msgHash",N(T)));let J=P(T),ne=l(k),de=[Y(ne),Y(J)];if(G!=null){let Pe=G===!0?I(r.BYTES):G;de.push(Ne("extraEntropy",Pe))}let ie=mr(...de),ue=J;function Ke(Pe){let Je=S(Pe);if(!d(Je))return;let et=c(Je),qe=u.BASE.multiply(Je).toAffine(),at=a(qe.x);if(at===Er)return;let ar=a(et*a(ue+at*ne));if(ar===Er)return;let tn=(qe.x===at?0:2)|Number(qe.y&Lt),ki=ar;return F&&h(ar)&&(ki=m(ar),tn^=1),new g(at,ki,tn)}return{seed:ie,k2sig:Ke}}let H={lowS:e.lowS,prehash:!1},te={lowS:e.lowS,prehash:!1};function me(T,k,L=H){let{seed:N,k2sig:I}=W(T,k,L),F=e;return Fc(F.hash.outputLen,F.nByteLength,F.hmac)(N,I)}u.BASE._setWindowSize(8);function je(T,k,L,N=te){let I=T;if(k=Ne("msgHash",k),L=Ne("publicKey",L),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:F,prehash:q}=N,G,J;try{if(typeof I=="string"||I instanceof Uint8Array)try{G=g.fromDER(I)}catch(qe){if(!(qe instanceof wn.Err))throw qe;G=g.fromCompact(I)}else if(typeof I=="object"&&typeof I.r=="bigint"&&typeof I.s=="bigint"){let{r:qe,s:at}=I;G=new g(qe,at)}else throw new Error("PARSE");J=u.fromHex(L)}catch(qe){if(qe.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(F&&G.hasHighS())return!1;q&&(k=e.hash(k));let{r:ne,s:de}=G,ie=P(k),ue=c(de),Ke=a(ie*ue),Pe=a(ne*ue),Je=u.BASE.multiplyAndAddUnsafe(J,Ke,Pe)?.toAffine();return Je?a(Je.x)===ne:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:_,sign:me,verify:je,ProjectivePoint:u,Signature:g,utils:x}}var _o=class extends ei{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,_h(e);let n=Gi(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 Jn(this),this.iHash.update(e),this}digestInto(e){Jn(this),Pc(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()}},mu=(t,e,r)=>new _o(t,e).update(r).digest();mu.create=(t,e)=>new _o(t,e);function Ab(t){return{hash:t,hmac:(e,...r)=>mu(t,e,so(...r)),randomBytes:ti}}function _d(t,e){let r=n=>vd({...t,...Ab(n)});return Object.freeze({...r(e),create:r})}var Id=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Sd=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Ib=BigInt(1),yu=BigInt(2),Ad=(t,e)=>(t+e/yu)/e;function Rb(t){let e=Id,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=Re(l,r,e)*l%e,d=Re(f,r,e)*l%e,p=Re(d,yu,e)*u%e,h=Re(p,i,e)*p%e,m=Re(h,s,e)*h%e,y=Re(m,a,e)*m%e,g=Re(y,c,e)*y%e,x=Re(g,a,e)*m%e,b=Re(x,r,e)*l%e,C=Re(b,o,e)*h%e,_=Re(C,n,e)*u%e,S=Re(_,yu,e);if(!gu.eql(gu.sqr(S),t))throw new Error("Cannot find square root");return S}var gu=ho(Id,void 0,void 0,{sqrt:Rb}),br=_d({a:BigInt(0),b:BigInt(7),Fp:gu,n:Sd,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=Sd,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Ib*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=Ad(s*t,e),c=Ad(-n*t,e),u=ge(t-a*r-c*i,e),l=ge(-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}}}},bd),h4=BigInt(0);var d4=br.ProjectivePoint;function Rd(){return br.utils.randomPrivateKey()}async function Cd(t,e){let{digest:r}=await tt.digest(e);try{return br.sign(r,t).toDERRawBytes()}catch(n){throw new w(String(n),"ERR_INVALID_INPUT")}}async function Td(t,e,r){try{let{digest:n}=await tt.digest(r);return br.verify(e,n,t)}catch(n){throw new w(String(n),"ERR_INVALID_INPUT")}}function Bd(t){return br.ProjectivePoint.fromHex(t).toRawBytes(!0)}function Ld(t){try{br.getPublicKey(t,!0)}catch(e){throw new w(String(e),"ERR_INVALID_PRIVATE_KEY")}}function xu(t){try{br.ProjectivePoint.fromHex(t)}catch(e){throw new w(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Pd(t){try{return br.getPublicKey(t,!0)}catch(e){throw new w(String(e),"ERR_INVALID_PRIVATE_KEY")}}var ns=class{_key;constructor(e){xu(e),this._key=e}async verify(e,r){return Td(this._key,r,e)}marshal(){return Bd(this._key)}get bytes(){return er.encode({Type:Ce.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Be(this.bytes,e.bytes)}async hash(){let{bytes:e}=await tt.digest(this.bytes);return e}},is=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Pd(e),Ld(this._key),xu(this._publicKey)}async sign(e){return Cd(this._key,e)}get public(){return new ns(this._publicKey)}marshal(){return this._key}get bytes(){return tr.encode({Type:Ce.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Be(this.bytes,e.bytes)}async hash(){let{bytes:e}=await tt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return X(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return si(this.bytes,e);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Tb(t){return new is(t)}function Bb(t){return new ns(t)}async function Lb(){let t=Rd();return new is(t)}var wr={rsa:du,ed25519:cu,secp256k1:Eu};function bu(t){let e=Object.keys(wr).join(" / ");return new w(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function wu(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return wr[t];throw bu(t)}async function Ao(t,e){return wu(t).generateKeyPair(e??2048)}function ss(t){let e=er.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Ce.RSA:return wr.rsa.unmarshalRsaPublicKey(r);case Ce.Ed25519:return wr.ed25519.unmarshalEd25519PublicKey(r);case Ce.Secp256k1:return wr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw bu(e.Type??"unknown")}}function Dd(t,e){return e=(e??"rsa").toLowerCase(),wu(e),t.bytes}async function ui(t){let e=tr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Ce.RSA:return wr.rsa.unmarshalRsaPrivateKey(r);case Ce.Ed25519:return wr.ed25519.unmarshalEd25519PrivateKey(r);case Ce.Secp256k1:return wr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw bu(e.Type??"RSA")}}function Nd(t,e){return e=(e??"rsa").toLowerCase(),wu(e),t.bytes}async function os(t,e){try{let i=await nd(t,e);return await ui(i)}catch{}let r=So.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new w("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=So.default.asn1.toDer(So.default.pki.privateKeyToAsn1(r));return n=z(n.getBytes(),"ascii"),wr.rsa.unmarshalRsaPrivateKey(n)}var vu=Symbol.for("@libp2p/content-routing");var as=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 Su(e,r))}},_u=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Su=globalThis.CustomEvent??_u;var Au=Symbol.for("@libp2p/peer-discovery");var Iu=Symbol.for("@libp2p/peer-routing");var U4=ae($s(),1),Db=ae(pe(),1);var Od=ae(ec(),1),Md=ae(ke(),1),kd={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function cs(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(kd).join(" / ");throw new w(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=kd[i],o=(0,Od.default)(t,e,r,n,s);return Md.default.encode64(o,null)}var St=ae(Cu(),1);St.default.formatters.b=t=>t==null?"undefined":Te.baseEncode(t);St.default.formatters.t=t=>t==null?"undefined":bt.baseEncode(t);St.default.formatters.m=t=>t==null?"undefined":un.baseEncode(t);St.default.formatters.p=t=>t==null?"undefined":t.toString();St.default.formatters.c=t=>t==null?"undefined":t.toString();St.default.formatters.k=t=>t==null?"undefined":t.toString();St.default.formatters.a=t=>t==null?"undefined":t.toString();function Wb(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 re(t){let e=Wb(`${t}:trace`);return St.default.enabled(`${t}:trace`)&&St.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,St.default)(`${t}:trace`)),Object.assign((0,St.default)(t),{error:(0,St.default)(`${t}:error`),trace:e})}var Tu=Symbol.for("@libp2p/peer-id");function Co(t){return t!=null&&!!t[Tu]}var Qb=Symbol.for("nodejs.util.inspect.custom"),Vd=Object.values(Nr).map(t=>t.decoder).reduce((t,e)=>t.or(e),Nr.identity.decoder),qd=114,Bu=36,Lu=37,us=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()})`}[Tu]=!0;toString(){return this.string==null&&(this.string=Te.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Mt.createV1(qd,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Be(this.multihash.bytes,e);if(typeof e=="string")return fe(e).equals(this);if(e?.multihash?.bytes!=null)return Be(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Qb](){return`PeerId(${this.toString()})`}},_n=class extends us{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Sn=class extends us{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},An=class extends us{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function $d(t){if(t.type==="RSA")return new _n(t);if(t.type==="Ed25519")return new Sn(t);if(t.type==="secp256k1")return new An(t);throw new w("Not a PeerId","ERR_INVALID_PARAMETERS")}function fe(t,e){if(e=e??Vd,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=ln(Te.decode(`z${t}`));return t.startsWith("12D")?new Sn({multihash:r}):t.startsWith("16U")?new An({multihash:r}):new _n({multihash:r})}return di(Vd.decode(t))}function di(t){try{let e=ln(t);if(e.code===Dr.code){if(e.digest.length===Bu)return new Sn({multihash:e});if(e.digest.length===Lu)return new An({multihash:e})}if(e.code===tt.code)return new _n({multihash:e})}catch{return Xb(Mt.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Xb(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==qd)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===tt.code)return new _n({multihash:t.multihash});if(e.code===Dr.code){if(e.digest.length===Bu)return new Sn({multihash:t.multihash});if(e.digest.length===Lu)return new An({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function pi(t,e){return t.length===Bu?new Sn({multihash:jt(Dr.code,t),privateKey:e}):t.length===Lu?new An({multihash:jt(Dr.code,t),privateKey:e}):new _n({multihash:await tt.digest(t),publicKey:t,privateKey:e})}var To=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var vr="/",Hd=new TextEncoder().encode(vr),Bo=Hd[0],rr=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]!==Bo)throw new Error("Invalid key")}toString(e="utf8"){return X(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(vr))}static random(){return new t(To().replace(/-/g,""))}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=Hd),this._buf[0]!==Bo){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Bo,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Bo;)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(vr).slice(1)}type(){return Zb(this.baseNamespace())}name(){return jb(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(vr)||(e+=vr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(vr):new t(e.slice(0,-1).join(vr))}child(e){return this.toString()===vr?e:e.toString()===vr?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(),...Jb(e.map(r=>r.namespaces()))])}};function Zb(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function jb(t){let e=t.split(":");return e[e.length-1]}function Jb(t){return[].concat(...t)}var Jd=ae(jd(),1),qr=Jd.default;var up=ae(cp(),1);var oe;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",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_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"})(oe||(oe={}));var Do=re("libp2p:keychain"),gw="/pkcs8/",lp="/info/",In=new WeakMap,Rn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Du={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function _r(t){return t==null||typeof t!="string"?!1:t===(0,up.default)(t.trim())&&t.length>0}async function xe(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function nr(t){return new rr(gw+t)}function $r(t){return new rr(lp+t)}var Cn=class{components;init;constructor(e,r){if(this.components=e,this.init=qr(Du,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<Rn.minKeyLength)throw new Error(`dek.keyLength must be least ${Rn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Rn.minSaltLength)throw new Error(`dek.saltLength must be least ${Rn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Rn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Rn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?cs(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";In.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},Du),r=Math.ceil(Rn.minSaltLength/3)*3;return e.dek.salt=X(En(r),"base64"),e}static get options(){return Du}async createKey(e,r,n=2048){if(!_r(e)||e==="self")throw await xe(),new w("Invalid key name",oe.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await xe(),new w("Invalid key type",oe.ERR_INVALID_KEY_TYPE);let i=nr(e);if(await this.components.datastore.has(i))throw await xe(),new w("Key name already exists",oe.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await xe(),new w("Invalid RSA key size",oe.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await Ao(r,n),c=await a.id(),u=In.get(this);if(u==null)throw new w("dek missing",oe.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:e,id:c};let d=this.components.datastore.batch();d.put(i,z(f)),d.put($r(e),z(JSON.stringify(o))),await d.commit()}catch(a){throw await xe(),a}return o}async listKeys(){let e={prefix:lp},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(X(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new w(`Key with id '${e}' does not exist.`,oe.ERR_KEY_NOT_FOUND);return n}catch(r){throw await xe(),r}}async findKeyByName(e){if(!_r(e))throw await xe(),new w(`Invalid key name '${e}'`,oe.ERR_INVALID_KEY_NAME);let r=$r(e);try{let n=await this.components.datastore.get(r);return JSON.parse(X(n))}catch(n){throw await xe(),Do.error(n),new w(`Key '${e}' does not exist.`,oe.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!_r(e)||e==="self")throw await xe(),new w(`Invalid key name '${e}'`,oe.ERR_INVALID_KEY_NAME);let r=nr(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete($r(e)),await i.commit(),n}async renameKey(e,r){if(!_r(e)||e==="self")throw await xe(),new w(`Invalid old key name '${e}'`,oe.ERR_OLD_KEY_NAME_INVALID);if(!_r(r)||r==="self")throw await xe(),new w(`Invalid new key name '${r}'`,oe.ERR_NEW_KEY_NAME_INVALID);let n=nr(e),i=nr(r),s=$r(e),o=$r(r);if(await this.components.datastore.has(i))throw await xe(),new w(`Key '${r}' already exists`,oe.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(s),l=JSON.parse(X(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,z(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await xe(),c}}async exportKey(e,r){if(!_r(e))throw await xe(),new w(`Invalid key name '${e}'`,oe.ERR_INVALID_KEY_NAME);if(r==null)throw await xe(),new w("Password is required",oe.ERR_PASSWORD_REQUIRED);let n=nr(e);try{let i=await this.components.datastore.get(n),s=X(i),o=In.get(this);if(o==null)throw new w("dek missing",oe.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await os(s,a)).export(r)}catch(i){throw await xe(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await os(n,r);return pi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!_r(e)||e==="self")throw await xe(),new w(`Invalid key name '${e}'`,oe.ERR_INVALID_KEY_NAME);if(r==null)throw await xe(),new w("PEM encoded key is required",oe.ERR_PEM_REQUIRED);let i=nr(e);if(await this.components.datastore.has(i))throw await xe(),new w(`Key '${e}' already exists`,oe.ERR_KEY_ALREADY_EXISTS);let o;try{o=await os(r,n)}catch{throw await xe(),new w("Cannot read the key, most likely the password is wrong",oe.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=In.get(this);if(l==null)throw new w("dek missing",oe.ERR_INVALID_PARAMETERS);let f=l.dek;r=await o.export(f)}catch(l){throw await xe(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,z(r)),u.put($r(e),z(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!_r(e))throw new w(`Invalid key name '${e}'`,oe.ERR_INVALID_KEY_NAME);if(r==null)throw new w("PeerId is required",oe.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new w("PeerId.privKey is required",oe.ERR_MISSING_PRIVATE_KEY);let n=await ui(r.privateKey),i=nr(e);if(await this.components.datastore.has(i))throw await xe(),new w(`Key '${e}' already exists`,oe.ERR_KEY_ALREADY_EXISTS);let o=In.get(this);if(o==null)throw new w("dek missing",oe.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,z(c)),l.put($r(e),z(JSON.stringify(u))),await l.commit(),u}catch(n){throw await xe(),n}}async getPrivateKey(e){if(!_r(e))throw await xe(),new w(`Invalid key name '${e}'`,oe.ERR_INVALID_KEY_NAME);try{let r=nr(e),n=await this.components.datastore.get(r);return X(n)}catch(r){throw await xe(),Do.error(r),new w(`Key '${e}' does not exist.`,oe.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await xe(),new w(`Invalid old pass type '${typeof e}'`,oe.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await xe(),new w(`Invalid new pass type '${typeof r}'`,oe.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await xe(),new w(`Invalid pass length ${r.length}`,oe.ERR_INVALID_PASS_LENGTH);Do("recreating keychain");let n=In.get(this);if(n==null)throw new w("dek missing",oe.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?cs(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";In.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(nr(a.name)),u=X(c),l=await os(u,i),f=s.toString(),d=await l.export(f),p=this.components.datastore.batch(),h={name:a.name,id:a.id};p.put(nr(a.name),z(d)),p.put($r(a.name),z(JSON.stringify(h))),await p.commit()}Do("keychain reconstructed")}};function Sr(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 qt=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){this.map.delete(e.toString())}entries(){return Sr(this.map.entries(),e=>[fe(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,fe(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 Sr(this.map.keys(),e=>fe(e))}values(){return this.map.values()}get size(){return this.map.size}};var Tn=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 Sr(this.set.entries(),e=>{let r=fe(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=fe(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Sr(this.set.values(),e=>fe(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 Nu=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Sr(this.list.entries(),e=>fe(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Sr(this.list.entries(),e=>[e[0],fe(e[1])])}every(e){return this.list.every((r,n)=>e(fe(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let s=fe(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(fe(n),i,this));if(r!=null)return fe(r)}findIndex(e){return this.list.findIndex((r,n)=>e(fe(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(fe(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 fe(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return fe(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}get length(){return this.list.length}};var ku;(function(t){let e;t.codec=()=>(e==null&&(e=it((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=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(ku||(ku={}));var fp=async()=>{let t=await Ao("Ed25519"),e=await xw(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function xw(t){return pi(Dd(t.public),Nd(t))}var Ew=Math.pow(2,7),bw=Math.pow(2,14),ww=Math.pow(2,21),Ou=Math.pow(2,28),Mu=Math.pow(2,35),Uu=Math.pow(2,42),Fu=Math.pow(2,49),he=128,lt=127;function xt(t){if(t<Ew)return 1;if(t<bw)return 2;if(t<ww)return 3;if(t<Ou)return 4;if(t<Mu)return 5;if(t<Uu)return 6;if(t<Fu)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function vw(t,e,r=0){switch(xt(t)){case 8:e[r++]=t&255|he,t/=128;case 7:e[r++]=t&255|he,t/=128;case 6:e[r++]=t&255|he,t/=128;case 5:e[r++]=t&255|he,t/=128;case 4:e[r++]=t&255|he,t>>>=7;case 3:e[r++]=t&255|he,t>>>=7;case 2:e[r++]=t&255|he,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function _w(t,e,r=0){switch(xt(t)){case 8:e.set(r++,t&255|he),t/=128;case 7:e.set(r++,t&255|he),t/=128;case 6:e.set(r++,t&255|he),t/=128;case 5:e.set(r++,t&255|he),t/=128;case 4:e.set(r++,t&255|he),t>>>=7;case 3:e.set(r++,t&255|he),t>>>=7;case 2:e.set(r++,t&255|he),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Sw(t,e){let r=t[e],n=0;if(n+=r<,r<he||(r=t[e+1],n+=(r<)<<7,r<he)||(r=t[e+2],n+=(r<)<<14,r<he)||(r=t[e+3],n+=(r<)<<21,r<he)||(r=t[e+4],n+=(r<)*Ou,r<he)||(r=t[e+5],n+=(r<)*Mu,r<he)||(r=t[e+6],n+=(r<)*Uu,r<he)||(r=t[e+7],n+=(r<)*Fu,r<he))return n;throw new RangeError("Could not decode varint")}function Aw(t,e){let r=t.get(e),n=0;if(n+=r<,r<he||(r=t.get(e+1),n+=(r<)<<7,r<he)||(r=t.get(e+2),n+=(r<)<<14,r<he)||(r=t.get(e+3),n+=(r<)<<21,r<he)||(r=t.get(e+4),n+=(r<)*Ou,r<he)||(r=t.get(e+5),n+=(r<)*Mu,r<he)||(r=t.get(e+6),n+=(r<)*Uu,r<he)||(r=t.get(e+7),n+=(r<)*Fu,r<he))return n;throw new RangeError("Could not decode varint")}function Pt(t,e,r=0){return e==null&&(e=ct(xt(t))),e instanceof Uint8Array?vw(t,e,r):_w(t,e,r)}function Ar(t,e=0){return t instanceof Uint8Array?Sw(t,e):Aw(t,e)}var dp=Symbol.for("@achingbrain/uint8arraylist");function hp(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 No(t){return!!t?.[dp]}var Qe=class t{constructor(...e){Object.defineProperty(this,dp,{value:!0}),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(No(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(No(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=hp(this.bufs,e);return r.buf[r.index]}set(e,r){let n=hp(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(No(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 Oe(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Oe(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(!No(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=ct(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=hr(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=hr(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=hr(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=ct(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=hr(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=hr(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=hr(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=hr(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=hr(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(!Be(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 pp={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var fs;(function(t){let e;t.codec=()=>(e==null&&(e=it((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=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(fs||(fs={}));var gi=class t{static createFromProtobuf=async e=>{let r=fs.decode(e),n=await pi(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=mp(n,i,s),c=await(await ui(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 w("envelope signature is not valid for the given domain",pp.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=fs.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Be(this.marshal(),e.marshal())}async validate(e){let r=mp(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return ss(this.peerId.publicKey).verify(r.subarray(),this.signature)}},mp=(t,e,r)=>{let n=z(t),i=Pt(n.byteLength),s=Pt(e.length),o=Pt(r.length);return new Qe(i,n,s,e,o,r)};function yp(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 ko=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 gp=45,Iw=15,xi=new ko;function Ku(t){if(!(t.length>Iw))return xi.new(t).parseWith(()=>xi.readIPv4Addr())}function Vu(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>gp))return xi.new(t).parseWith(()=>xi.readIPv6Addr())}function Oo(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>gp))return xi.new(t).parseWith(()=>xi.readIPAddr())}var T8=parseInt("0xFFFF",16),B8=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Mo(t){return!!Ku(t)}function Uo(t){return!!Vu(t)}function Ei(t){return!!Oo(t)}var bp=Mo,Lw=Uo,qu=function(t){let e=0;if(t=t.toString().trim(),bp(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(Lw(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=bp(r[n]),o;s&&(o=qu(r[n]),r[n]=X(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,X(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")},wp=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 bi={},$u={},Dw=[[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"]];Dw.forEach(t=>{let e=Nw(...t);$u[e.code]=e,bi[e.name]=e});function Nw(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function Ee(t){if(typeof t=="number"){if($u[t]!=null)return $u[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(bi[t]!=null)return bi[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var dT=Ee("ip4"),pT=Ee("ip6"),mT=Ee("ipcidr");function zu(t,e){switch(Ee(t).code){case 4:case 41:return Ow(e);case 42:return Sp(e);case 6:case 273:case 33:case 132:return Ip(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Sp(e);case 421:return Kw(e);case 444:return Ap(e);case 445:return Ap(e);case 466:return Fw(e);default:return X(e,"base16")}}function Gu(t,e){switch(Ee(t).code){case 4:return vp(e);case 41:return vp(e);case 42:return _p(e);case 6:case 273:case 33:case 132:return Yu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return _p(e);case 421:return Mw(e);case 444:return Vw(e);case 445:return qw(e);case 466:return Uw(e);default:return z(e,"base16")}}var Hu=Object.values(Nr).map(t=>t.decoder),kw=function(){let t=Hu[0].or(Hu[1]);return Hu.slice(2).forEach(e=>t=t.or(e)),t}();function vp(t){if(!Ei(t))throw new Error("invalid ip address");return qu(t)}function Ow(t){let e=wp(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ei(e))throw new Error("invalid ip address");return e}function Yu(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Ip(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function _p(t){let e=z(t),r=Uint8Array.from(Pt(e.length));return Oe([r,e],r.length+e.length)}function Sp(t){let e=Ar(t);if(t=t.slice(xt(e)),t.length!==e)throw new Error("inconsistent lengths");return X(t)}function Mw(t){let e;t[0]==="Q"||t[0]==="1"?e=ln(Te.decode(`z${t}`)).bytes:e=Mt.parse(t).multihash.bytes;let r=Uint8Array.from(Pt(e.length));return Oe([r,e],r.length+e.length)}function Uw(t){let e=kw.decode(t),r=Uint8Array.from(Pt(e.length));return Oe([r,e],r.length+e.length)}function Fw(t){let e=Ar(t),r=t.slice(xt(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+X(r,"base64url")}function Kw(t){let e=Ar(t),r=t.slice(xt(e));if(r.length!==e)throw new Error("inconsistent lengths");return X(r,"base58btc")}function Vw(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=bt.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=Yu(n);return Oe([r,i],r.length+i.length)}function qw(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=bt.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=Yu(n);return Oe([r,i],r.length+i.length)}function Ap(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=X(e,"base32"),i=Ip(r);return`${n}:${i}`}function Rp(t){t=Wu(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=Ee(o);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw Tp("invalid address: "+t);if(a.path===!0){n=Wu(i.slice(s).join("/")),e.push([a.code,Gu(a.code,n)]),r.push([a.code,n]);break}let c=Gu(a.code,i[s]);e.push([a.code,c]),r.push([a.code,zu(a.code,c)])}return{string:Cp(r),bytes:Xu(e),tuples:e,stringTuples:r,path:n}}function Qu(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let s=Ar(t,i),o=xt(s),a=Ee(s),c=$w(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 Tp("Invalid address Uint8Array: "+X(t,"base16"));e.push([s,u]);let l=zu(s,u);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:Cp(r),tuples:e,stringTuples:r,path:n}}function Cp(t){let e=[];return t.map(r=>{let n=Ee(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Wu(e.join("/"))}function Xu(t){return Oe(t.map(e=>{let r=Ee(e[0]),n=Uint8Array.from(Pt(r.code));return e.length>1&&e[1]!=null&&(n=Oe([n,e[1]])),n}))}function $w(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Ar(e instanceof Uint8Array?e:Uint8Array.from(e));return r+xt(r)}}function Wu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Tp(t){return new Error("Error parsing address: "+t)}var Hw=Symbol.for("nodejs.util.inspect.custom"),zw=[Ee("dns").code,Ee("dns4").code,Ee("dns6").code,Ee("dnsaddr").code],ju=new Map,Bp=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Bn(t){return!!t?.[Bp]}var Zu=class t{bytes;#e;#t;#r;#n;[Bp]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Qu(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Rp(e)}else if(Bn(e))r=Qu(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=Ee("tcp"),a=Ee("udp"),c=Ee("ip4"),u=Ee("ip6"),l=Ee("dns6"),f=Ee("ip6zone");for(let[p,h]of this.stringTuples())p===f.code&&(s=`%${h??""}`),zw.includes(p)&&(r=o.name,i=443,n=`${h??""}${s}`,e=p===l.code?6:4),(p===o.code||p===a.code)&&(r=Ee(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=Ee(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({},Ee(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>Ee(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(Xu(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===bi.p2p.code&&e.push([n,i]),n===bi["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?X(Te.decode(`z${n}`),"base58btc"):X(Mt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return Be(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=ju.get(r.name);if(n==null)throw new w(`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)}[Hw](){return`Multiaddr(${this.#e})`}};function He(t){return new Zu(t)}var Lp="libp2p-peer-record",Pp=Uint8Array.from([3,1]);var hs;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=it((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=>nt(s,n.codec()),n.decode=s=>rt(s,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=it((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=>nt(n,t.codec()),t.decode=n=>rt(n,t.codec())})(hs||(hs={}));var Ln=class t{static createFromProtobuf=e=>{let r=hs.decode(e),n=di(r.peerId),i=(r.addresses??[]).map(o=>He(o.multiaddr)),s=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:s})};static DOMAIN=Lp;static CODEC=Pp;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=hs.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||!yp(this.multiaddrs,e.multiaddrs))}};function Gw(t){return t[Symbol.asyncIterator]!=null}function Yw(t){if(Gw(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 ds=Yw;var el=ae(Np(),1);var ms=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},tl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},kp=t=>globalThis.DOMException===void 0?new tl(t):new DOMException(t),Op=t=>{let e=t.reason===void 0?kp("This operation was aborted."):t.reason;return e instanceof Error?e:kp(e)};function rl(t,e,r,n){let i,s=new Promise((o,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){o(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(Op(c)),c.addEventListener("abort",()=>{a(Op(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new ms(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{o(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function nl(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 Pn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ir,il=class{constructor(){Ir.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Pn(this,Ir,"f")[this.size-1].priority>=r.priority){Pn(this,Ir,"f").push(n);return}let i=nl(Pn(this,Ir,"f"),n,(s,o)=>o.priority-s.priority);Pn(this,Ir,"f").splice(i,0,n)}dequeue(){let e=Pn(this,Ir,"f").shift();return e?.run}filter(e){return Pn(this,Ir,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Pn(this,Ir,"f").length}};Ir=new WeakMap;var Mp=il;var Le=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},K=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Me,gs,xs,zr,zo,Es,Ko,$t,ys,At,Vo,It,bs,Hr,qo,Up,Fp,qp,Kp,Vp,$o,sl,ol,Go,$p,Ho,Yo=class extends Error{},al=class extends el.default{constructor(e){var r,n,i,s;if(super(),Me.add(this),gs.set(this,void 0),xs.set(this,void 0),zr.set(this,0),zo.set(this,void 0),Es.set(this,void 0),Ko.set(this,0),$t.set(this,void 0),ys.set(this,void 0),At.set(this,void 0),Vo.set(this,void 0),It.set(this,0),bs.set(this,void 0),Hr.set(this,void 0),qo.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Mp,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${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 \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);Le(this,gs,e.carryoverConcurrencyCount,"f"),Le(this,xs,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Le(this,zo,e.intervalCap,"f"),Le(this,Es,e.interval,"f"),Le(this,At,new e.queueClass,"f"),Le(this,Vo,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Le(this,qo,e.throwOnTimeout===!0,"f"),Le(this,Hr,e.autoStart===!1,"f")}get concurrency(){return K(this,bs,"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})`);Le(this,bs,e,"f"),K(this,Me,"m",Go).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:K(this,qo,"f"),...r},new Promise((n,i)=>{K(this,At,"f").enqueue(async()=>{var s,o,a;Le(this,It,(o=K(this,It,"f"),o++,o),"f"),Le(this,zr,(a=K(this,zr,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new Yo("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=rl(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,K(this,Me,"m",$p).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof ms&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{K(this,Me,"m",qp).call(this)}},r),this.emit("add"),K(this,Me,"m",$o).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return K(this,Hr,"f")?(Le(this,Hr,!1,"f"),K(this,Me,"m",Go).call(this),this):this}pause(){Le(this,Hr,!0,"f")}clear(){Le(this,At,new(K(this,Vo,"f")),"f")}async onEmpty(){K(this,At,"f").size!==0&&await K(this,Me,"m",Ho).call(this,"empty")}async onSizeLessThan(e){K(this,At,"f").size<e||await K(this,Me,"m",Ho).call(this,"next",()=>K(this,At,"f").size<e)}async onIdle(){K(this,It,"f")===0&&K(this,At,"f").size===0||await K(this,Me,"m",Ho).call(this,"idle")}get size(){return K(this,At,"f").size}sizeBy(e){return K(this,At,"f").filter(e).length}get pending(){return K(this,It,"f")}get isPaused(){return K(this,Hr,"f")}};gs=new WeakMap,xs=new WeakMap,zr=new WeakMap,zo=new WeakMap,Es=new WeakMap,Ko=new WeakMap,$t=new WeakMap,ys=new WeakMap,At=new WeakMap,Vo=new WeakMap,It=new WeakMap,bs=new WeakMap,Hr=new WeakMap,qo=new WeakMap,Me=new WeakSet,Up=function(){return K(this,xs,"f")||K(this,zr,"f")<K(this,zo,"f")},Fp=function(){return K(this,It,"f")<K(this,bs,"f")},qp=function(){var e;Le(this,It,(e=K(this,It,"f"),e--,e),"f"),K(this,Me,"m",$o).call(this),this.emit("next")},Kp=function(){K(this,Me,"m",ol).call(this),K(this,Me,"m",sl).call(this),Le(this,ys,void 0,"f")},Vp=function(){let e=Date.now();if(K(this,$t,"f")===void 0){let r=K(this,Ko,"f")-e;if(r<0)Le(this,zr,K(this,gs,"f")?K(this,It,"f"):0,"f");else return K(this,ys,"f")===void 0&&Le(this,ys,setTimeout(()=>{K(this,Me,"m",Kp).call(this)},r),"f"),!0}return!1},$o=function(){if(K(this,At,"f").size===0)return K(this,$t,"f")&&clearInterval(K(this,$t,"f")),Le(this,$t,void 0,"f"),this.emit("empty"),K(this,It,"f")===0&&this.emit("idle"),!1;if(!K(this,Hr,"f")){let e=!K(this,Me,"a",Vp);if(K(this,Me,"a",Up)&&K(this,Me,"a",Fp)){let r=K(this,At,"f").dequeue();return r?(this.emit("active"),r(),e&&K(this,Me,"m",sl).call(this),!0):!1}}return!1},sl=function(){K(this,xs,"f")||K(this,$t,"f")!==void 0||(Le(this,$t,setInterval(()=>{K(this,Me,"m",ol).call(this)},K(this,Es,"f")),"f"),Le(this,Ko,Date.now()+K(this,Es,"f"),"f"))},ol=function(){K(this,zr,"f")===0&&K(this,It,"f")===0&&K(this,$t,"f")&&(clearInterval(K(this,$t,"f")),Le(this,$t,void 0,"f")),Le(this,zr,K(this,gs,"f")?K(this,It,"f"):0,"f"),K(this,Me,"m",Go).call(this)},Go=function(){for(;K(this,Me,"m",$o).call(this););},$p=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Yo("The task was aborted."))},{once:!0})})},Ho=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var Gr=al;var cl=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},ul=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Hp=t=>globalThis.DOMException===void 0?new ul(t):new DOMException(t),zp=t=>{let e=t.reason===void 0?Hp("This operation was aborted."):t.reason;return e instanceof Error?e:Hp(e)};function ll(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(zp(d)),d.addEventListener("abort",()=>{l(zp(d))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new cl;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}var fl="lock:worker:request-read",hl="lock:worker:release-read",dl="lock:master:grant-read",pl="lock:worker:request-write",ml="lock:worker:release-write",yl="lock:master:grant-write";var Yr={},wi=t=>{t.addEventListener("message",e=>{wi.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{wi.dispatchEvent("message",t,e)})};wi.addEventListener=(t,e)=>{Yr[t]==null&&(Yr[t]=[]),Yr[t].push(e)};wi.removeEventListener=(t,e)=>{Yr[t]!=null&&(Yr[t]=Yr[t].filter(r=>r===e))};wi.dispatchEvent=function(t,e,r){Yr[t]!=null&&Yr[t].forEach(n=>n(e,r))};var gl=wi;var Gp=(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)}))}}))},Yp=(t,e,r,n)=>async()=>{let i=To();return globalThis.postMessage({type:e,identifier:i,name:t}),await 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)})},Xw={singleProcess:!1},Wp=t=>{if(t=Object.assign({},Xw,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return gl.addEventListener("message",Gp(r,"requestReadLock",fl,hl,dl)),gl.addEventListener("message",Gp(r,"requestWriteLock",pl,ml,yl)),r}return{isWorker:!0,readLock:r=>Yp(r,fl,dl,hl),writeLock:r=>Yp(r,pl,yl,ml)}};var Dn={},Wr;async function xl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await ll((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var Zw=(t,e)=>{if(Wr.isWorker===!0)return{readLock:Wr.readLock(t,e),writeLock:Wr.writeLock(t,e)};let r=new Gr({concurrency:1}),n;return{async readLock(){if(n!=null)return await xl(n,e);n=new Gr({concurrency:e.concurrency,autoStart:!1});let i=n,s=xl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await xl(r,e)}}},jw={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function El(t){let e=Object.assign({},jw,t);return Wr==null&&(Wr=Wp(e),Wr.isWorker!==!0&&(Wr.addEventListener("requestReadLock",r=>{Dn[r.data.name]!=null&&Dn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Wr.addEventListener("requestWriteLock",async r=>{Dn[r.data.name]!=null&&Dn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Dn[e.name]==null&&(Dn[e.name]=Zw(e.name,e)),Dn[e.name]}var st={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var vi;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=it((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=>nt(o,i.codec()),i.decode=o=>rt(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=it((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),Qo.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=Qo.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>nt(o,i.codec()),i.decode=o=>rt(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=it((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),Wo.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(Wo.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=>nt(i,t.codec()),t.decode=i=>rt(i,t.codec())})(vi||(vi={}));var Wo;(function(t){let e;t.codec=()=>(e==null&&(e=it((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=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(Wo||(Wo={}));var Qo;(function(t){let e;t.codec=()=>(e==null&&(e=it((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=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(Qo||(Qo={}));function _i(t,e){let r=vi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=$d({...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:He(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var bl="/peers/";function Si(t){if(!Co(t)||t.type==null)throw new w("Invalid PeerId",st.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new rr(`${bl}${e}`)}async function Qp(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=He(i.multiaddr)),!Bn(i.multiaddr))throw new w("Multiaddr was invalid",st.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 Zo(t,e,r,n){if(e==null)throw new w("Invalid PeerData",st.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Be(e.publicKey,t.publicKey))throw new w("publicKey bytes do not match peer id publicKey bytes",st.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new w("peer id did not match existing peer id",st.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=Xo(f,{validate:Xp})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Xo(f,{validate:Zp,map:jp})}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=Xo([...a.entries()],{validate:Xp})}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=Xo([...d.entries()],{validate:Zp,map:jp})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Qp(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 Xo(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 Xp(t,e){if(typeof t!="string")throw new w("Metadata key must be a string",st.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new w("Metadata value must be a Uint8Array",st.ERR_INVALID_PARAMETERS)}function Zp(t,e){if(typeof t!="string")throw new w("Tag name must be a string",st.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new w("Tag value must be an integer",st.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new w("Tag value must be between 0-100",st.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new w("Tag ttl must be an integer",st.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new w("Tag ttl must be between greater than 0",st.ERR_INVALID_PARAMETERS)}}function jp(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 jo(t,e,r){let n=t.toString().split("/")[2],i=bt.decode(n),s=di(i),o=r.get(s);if(o!=null)return o;let a=_i(s,e);return r.set(s,a),a}function Jw(t,e){return t==null?{}:{prefix:bl,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(jo(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(jo(n.key,n.value,e),jo(i.key,i.value,e)))}}var Jo=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=El({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Si(e))}async delete(e){if(this.peerId.equals(e))throw new w("Cannot delete self peer",st.ERR_INVALID_PARAMETERS);await this.datastore.delete(Si(e))}async load(e){let r=await this.datastore.get(Si(e));return _i(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await Zo(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 Zo(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 Zo(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,s,n,i)}async*all(e){let r=new qt;for await(let{key:n,value:i}of this.datastore.query(Jw(e??{},r))){let s=jo(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#e(e){try{let r=await this.datastore.get(Si(e)),n=_i(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=vi.encode(r);return n!=null&&Be(s,n)?{peer:_i(e,s),previous:i,updated:!1}:(await this.datastore.put(Si(e),s),{peer:_i(e,s),previous:i,updated:!0})}};var ve=re("libp2p:peer-store"),ea=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new Jo(e,r)}async forEach(e,r){ve.trace("forEach await read lock");let n=await this.store.lock.readLock();ve.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{ve.trace("forEach release read lock"),n()}}async all(e){ve.trace("all await read lock");let r=await this.store.lock.readLock();ve.trace("all got read lock");try{return await ds(this.store.all(e))}finally{ve.trace("all release read lock"),r()}}async delete(e){ve.trace("delete await write lock");let r=await this.store.lock.writeLock();ve.trace("delete got write lock");try{await this.store.delete(e)}finally{ve.trace("delete release write lock"),r()}}async has(e){ve.trace("has await read lock");let r=await this.store.lock.readLock();ve.trace("has got read lock");try{return await this.store.has(e)}finally{ve.trace("has release read lock"),r()}}async get(e){ve.trace("get await read lock");let r=await this.store.lock.readLock();ve.trace("get got read lock");try{return await this.store.load(e)}finally{ve.trace("get release read lock"),r()}}async save(e,r){ve.trace("save await write lock");let n=await this.store.lock.writeLock();ve.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{ve.trace("save release write lock"),n()}}async patch(e,r){ve.trace("patch await write lock");let n=await this.store.lock.writeLock();ve.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{ve.trace("patch release write lock"),n()}}async merge(e,r){ve.trace("merge await write lock");let n=await this.store.lock.writeLock();ve.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{ve.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await gi.openAndCertify(e,Ln.DOMAIN);if(r?.equals(n.peerId)===!1)return ve("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=Ln.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 gi.createFromProtobuf(s.peerRecordEnvelope),a=Ln.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return ve("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 ev(t){return t[Symbol.asyncIterator]!=null}function tv(t){if(ev(t))return(async()=>{for await(let e of t);})();for(let e of t);}var wl=tv;function rv(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 ta=rv;function nv(t){return t[Symbol.asyncIterator]!=null}function iv(t,e){if(nv(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=ta(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 Ht=iv;function sv(t){return t[Symbol.asyncIterator]!=null}function ov(t,e){return sv(t)?async function*(){yield*(await ds(t)).sort(e)}():function*(){yield*ds(t).sort(e)}()}var vl=ov;function av(t){return t[Symbol.asyncIterator]!=null}function cv(t,e){return av(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 _l=cv;var ra=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 wl(this.putMany(e,n)),e=[],await wl(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=Ht(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Ht(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>vl(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=Ht(n,()=>i++>=s)}return e.limit!=null&&(n=_l(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Ht(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Ht(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>vl(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=Ht(n,()=>s++>=i)}return e.limit!=null&&(n=_l(n,e.limit)),n}};var tm=ae(Sl(),1);function rm(t){return t=t??new Error("Not Found"),(0,tm.default)(t,"ERR_NOT_FOUND")}var na=class extends ra{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 rm();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 rr(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new rr(e)}};function nm(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var fv=re("libp2p:address-manager"),hv=t=>t;function Al(t,e){let r=t.getPeerId();return r!=null&&fe(r).equals(e)&&(t=t.decapsulate(He(`/p2p/${e.toString()}`))),t}var ia=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??hv,this._updatePeerStoreAddresses=nm(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])=>He(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=>{fv.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>He(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>He(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>He(e))}addObservedAddr(e){e=Al(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Al(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=Al(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=>He(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function im(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Il=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>im(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")}},dv=["metrics","connectionProtector"],pv=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function sm(t={}){let e=new Il(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!pv.includes(i)){let o=e.components[i];if(o==null&&!dv.includes(i))throw new w(`${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 hm=ae(om(),1);var am="[a-fA-F\\d:]",Qr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${am})|(?<=${am})(?=\\s|$))`:"",zt="(?: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}",Ve="[a-fA-F\\d]{1,4}",sa=`
|
|
36
|
+
RETURNING points, expire;`,values:[t,r,s,Date.now()]})}_get(t){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:[t,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[t]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Lm.exports=Fl});var Dm=V(()=>{});var km=V((v6,Nm)=>{Nm.exports=class{constructor(t,r,n=null){this.value=t,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(t){this._value=parseInt(t)}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t}}});var Mm=V((S6,Om)=>{var bv=km(),Kl=Ce();Om.exports=class{constructor(){this._storage={}}incrby(t,r,n){if(this._storage[t]){let i=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[t].value=this._storage[t].value+r,new Kl(0,i,this._storage[t].value,!1)):this.set(t,r,n)}return this.set(t,r,n)}set(t,r,n){let i=n*1e3;return this._storage[t]&&this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),this._storage[t]=new bv(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[t].timeoutId=setTimeout(()=>{delete this._storage[t]},i),this._storage[t].timeoutId.unref&&this._storage[t].timeoutId.unref()),new Kl(0,i===0?-1:i,this._storage[t].value,!0)}get(t){if(this._storage[t]){let r=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return new Kl(0,r,this._storage[t].value,!1)}return null}delete(t){return this._storage[t]?(this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),delete this._storage[t],!0):!1}}});var ql=V((A6,Fm)=>{var wv=vs(),vv=Mm(),Um=Ce(),Vl=class extends wv{constructor(t={}){super(t),this._memoryStorage=new vv}consume(t,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),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(t,r=1,n={}){let i=this.getKey(t);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(t,r=1,n={}){let i=this.getKey(t);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(t,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(t),i,r),Promise.resolve(new Um(0,n===0?-1:n,i))}set(t,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(t),r,n),Promise.resolve(new Um(0,i===0?-1:i,r))}get(t){let r=this._memoryStorage.get(this.getKey(t));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(t){return Promise.resolve(this._memoryStorage.delete(this.getKey(t)))}};Fm.exports=Vl});var Gm=V((I6,zm)=>{var Km=Dm(),_v=Ui(),Sv=vs(),qm=ql(),Av=Ce(),ke="rate_limiter_flexible",Ci=null,Vm=function(e,t,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},e.send({channel:ke,keyPrefix:t.keyPrefix,promiseId:t.promiseId,type:r,data:i})},$m=function(e){setTimeout(()=>{this._initiated?process.send(e):typeof this._promises[e.promiseId]<"u"&&$m.call(this,e)},30)},Ii=function(e,t,r,n,i){let s={channel:ke,keyPrefix:this.keyPrefix,func:e,promiseId:t,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):$m.call(this,s)},Hm=function(e,t){if(!t||t.channel!==ke||typeof this._rateLimiters[t.keyPrefix]>"u")return!1;let r;switch(t.func){case"consume":r=this._rateLimiters[t.keyPrefix].consume(t.data.key,t.data.arg,t.data.opts);break;case"penalty":r=this._rateLimiters[t.keyPrefix].penalty(t.data.key,t.data.arg,t.data.opts);break;case"reward":r=this._rateLimiters[t.keyPrefix].reward(t.data.key,t.data.arg,t.data.opts);break;case"block":r=this._rateLimiters[t.keyPrefix].block(t.data.key,t.data.arg,t.data.opts);break;case"get":r=this._rateLimiters[t.keyPrefix].get(t.data.key,t.data.opts);break;case"delete":r=this._rateLimiters[t.keyPrefix].delete(t.data.key,t.data.opts);break;default:return!1}r&&r.then(n=>{Vm(e,t,"resolve",n)}).catch(n=>{Vm(e,t,"reject",n)})},Iv=function(e){if(!e||e.channel!==ke||e.keyPrefix!==this.keyPrefix)return!1;if(this._promises[e.promiseId]){clearTimeout(this._promises[e.promiseId].timeoutId);let t;switch(e.data===null||e.data===!0||e.data===!1?t=e.data:t=new Av(e.data.remainingPoints,e.data.msBeforeNext,e.data.consumedPoints,e.data.isFirstInDuration),e.type){case"resolve":this._promises[e.promiseId].resolve(t);break;case"reject":this._promises[e.promiseId].reject(t);break;default:throw new Error(`RateLimiterCluster: no such message type '${e.type}'`)}delete this._promises[e.promiseId]}},Rv=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Ri=function(e,t){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=_v.randomBytes(12).toString("base64")),this._promises[n]={resolve:e,reject:t,timeoutId:setTimeout(()=>{delete this._promises[n],t(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},$l=class{constructor(){if(Ci)return Ci;this._rateLimiters={},Km.setMaxListeners(0),Km.on("message",(t,r)=>{r&&r.channel===ke&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new qm(r.opts)),t.send({channel:ke,type:"init",keyPrefix:r.opts.keyPrefix})):Hm.call(this,t,r)}),Ci=this}},Hl=class{constructor(t){if(Ci)return Ci;this._rateLimiters={},t.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===ke&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new qm(s.opts)),t.sendDataToProcessId(i.process.pm_id,{data:{},topic:ke,channel:ke,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=ke,typeof c.data>"u"&&(c.data={}),t.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};Hm.call(this,o,s)}})}),Ci=this}},zl=class extends Sv{get timeoutMs(){return this._timeoutMs}set timeoutMs(t){this._timeoutMs=typeof t>"u"?5e3:Math.abs(parseInt(t))}constructor(t={}){super(t),process.setMaxListeners(0),this.timeoutMs=t.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===ke&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:Iv.call(this,r)}),process.send({channel:ke,type:"init",opts:Rv.call(this)}),this._promises={}}consume(t,r=1,n={}){return new Promise((i,s)=>{let o=Ri.call(this,i,s);Ii.call(this,"consume",o,t,r,n)})}penalty(t,r=1,n={}){return new Promise((i,s)=>{let o=Ri.call(this,i,s);Ii.call(this,"penalty",o,t,r,n)})}reward(t,r=1,n={}){return new Promise((i,s)=>{let o=Ri.call(this,i,s);Ii.call(this,"reward",o,t,r,n)})}block(t,r,n={}){return new Promise((i,s)=>{let o=Ri.call(this,i,s);Ii.call(this,"block",o,t,r,n)})}get(t,r={}){return new Promise((n,i)=>{let s=Ri.call(this,n,i);Ii.call(this,"get",s,t,r)})}delete(t,r={}){return new Promise((n,i)=>{let s=Ri.call(this,n,i);Ii.call(this,"delete",s,t,r)})}};zm.exports={RateLimiterClusterMaster:$l,RateLimiterClusterMasterPM2:Hl,RateLimiterCluster:zl}});var Wm=V((R6,Ym)=>{var Cv=Ai(),Tv=Ce(),Gl=class extends Cv{constructor(t){super(t),this.client=t.storeClient}_getRateLimiterRes(t,r,n){let i=new Tv;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(t,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(t,r,u,l=>{l?a(l):this.client.set(`${t}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(t,r,(l,f)=>{l||f===!1?this.client.add(t,r,u,(h,p)=>{if(h||!p)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let d=Object.assign({},s);d.attemptNumber=d.attemptNumber?d.attemptNumber+1:1,this._upsert(t,r,n,i,d).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${t}_expire`,u>0?c+u*1e3:-1,u,()=>{let d={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(d)})}):this.client.get(`${t}_expire`,(h,p)=>{if(h)a(h);else{let d=p===!1?0:p,m={consumedPoints:f,msBeforeNext:d>=0?Math.max(d-c,0):-1};o(m)}})})})}_get(t){return new Promise((r,n)=>{let i=Date.now();this.client.get(t,(s,o)=>{o?this.client.get(`${t}_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(t){return new Promise((r,n)=>{this.client.del(t,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${t}_expire`,o=>{o?n(o):r(s)})})})}};Ym.exports=Gl});var Zm=V((T6,Xm)=>{var Qm=Ce();Xm.exports=class{constructor(t={}){this.limiter=t.limiter,this.blackList=t.blackList,this.whiteList=t.whiteList,this.isBlackListed=t.isBlackListed,this.isWhiteListed=t.isWhiteListed,this.runActionAnyway=t.runActionAnyway}get limiter(){return this._limiter}set limiter(t){if(typeof t>"u")throw new Error("limiter is not set");this._limiter=t}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(t){this._runActionAnyway=typeof t>"u"?!1:t}get blackList(){return this._blackList}set blackList(t){this._blackList=Array.isArray(t)?t:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isBlackListed must be function");this._isBlackListed=t}get whiteList(){return this._whiteList}set whiteList(t){this._whiteList=Array.isArray(t)?t:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=t}isBlackListedSomewhere(t){return this.blackList.indexOf(t)>=0||this.isBlackListed(t)}isWhiteListedSomewhere(t){return this.whiteList.indexOf(t)>=0||this.isWhiteListed(t)}getBlackRes(){return new Qm(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Qm(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(t,r=1){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(t,r):(this.runActionAnyway&&this.limiter.consume(t,r).catch(()=>{}),n)}block(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(t,r):(this.runActionAnyway&&this.limiter.block(t,r).catch(()=>{}),n)}penalty(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(t,r):(this.runActionAnyway&&this.limiter.penalty(t,r).catch(()=>{}),n)}reward(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(t,r):(this.runActionAnyway&&this.limiter.reward(t,r).catch(()=>{}),n)}get(t){let r;return this.isWhiteListedSomewhere(t)?r=this.resolveWhite():this.isBlackListedSomewhere(t)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(t):r}delete(t){return this.limiter.delete(t)}}});var jm=V((L6,Jm)=>{var Bv=vs();Jm.exports=class{constructor(...t){if(t.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");t.forEach(r=>{if(!(r instanceof Bv))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=t}consume(t,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(t,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 ey=V((D6,ty)=>{ty.exports=class extends Error{constructor(t,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=t,r&&(this.extra=r)}}});var sy=V((k6,iy)=>{var ry=ey(),ny=4294967295,Yl="limiter";iy.exports=class{constructor(t,r={maxQueueSize:ny}){this._queueLimiters={KEY_DEFAULT:new fa(t,r)},this._limiterFlexible=t,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(t=Yl){return this._queueLimiters[t]?this._queueLimiters[t].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(t,r=Yl){return this._queueLimiters[r]||(this._queueLimiters[r]=new fa(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(t)}};var fa=class{constructor(t,r={maxQueueSize:ny,key:Yl}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=t,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(t=>t!==null?t.remainingPoints:this._limiterFlexible.points)}removeTokens(t){let r=this;return new Promise((n,i)=>{if(t>r._limiterFlexible.points){i(new ry(`Requested tokens ${t} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,t):r._limiterFlexible.consume(r._key,t).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,t),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(t,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:t,reject:r,tokens:n}):r(new ry(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let t=this;if(t._waitTimeout!==null&&(clearTimeout(t._waitTimeout),t._waitTimeout=null),t._queue.length===0)return;let r=t._queue.shift();t._limiterFlexible.consume(t._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),t._processFIFO.call(t)}).catch(n=>{n instanceof Error?(r.reject(n),t._processFIFO.call(t)):(t._queue.unshift(r),t._waitTimeout===null&&(t._waitTimeout=setTimeout(t._processFIFO.bind(t),n.msBeforeNext)))})}}});var ay=V((M6,oy)=>{var Wl=Ce();oy.exports=class{constructor(t,r){this._rateLimiter=t,this._burstLimiter=r}_combineRes(t,r){return t?new Wl(t.remainingPoints,Math.min(t.msBeforeNext,r?r.msBeforeNext:0),t.consumedPoints,t.isFirstInDuration):null}consume(t,r=1,n={}){return this._rateLimiter.consume(t,r,n).catch(i=>i instanceof Wl?this._burstLimiter.consume(t,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Wl?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(t){return Promise.all([this._rateLimiter.get(t),this._burstLimiter.get(t)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var uy=V((U6,cy)=>{var Lv=Am(),Pv=Cm(),Dv=Bm(),Nv=Pm(),{RateLimiterClusterMaster:kv,RateLimiterClusterMasterPM2:Ov,RateLimiterCluster:Mv}=Gm(),Uv=ql(),Fv=Wm(),Kv=Zm(),Vv=jm(),qv=sy(),$v=ay(),Hv=Ce();cy.exports={RateLimiterRedis:Lv,RateLimiterMongo:Pv,RateLimiterMySQL:Dv,RateLimiterPostgres:Nv,RateLimiterMemory:Uv,RateLimiterMemcache:Fv,RateLimiterClusterMaster:kv,RateLimiterClusterMasterPM2:Ov,RateLimiterCluster:Mv,RLWrapperBlackAndWhite:Kv,RateLimiterUnion:Vv,RateLimiterQueue:qv,BurstyRateLimiter:$v,RateLimiterRes:Hv}});var __={};zt(__,{createLibp2p:()=>v_});var JR=mt(Mi(),1),jR=mt(O0(),1);var Gn=class e extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=e.code,this.type=e.type}static code="ABORT_ERR";static type="aborted"},w=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var bo=mt(dt(),1);function cn(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}var uc={};zt(uc,{base10:()=>g1});function h1(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var s=e.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var m=0,y=0,g=0,x=d.length;g!==x&&d[g]===0;)g++,m++;for(var b=(x-g)*l+1>>>0,C=new Uint8Array(b);g!==x;){for(var _=d[g],S=0,P=b-1;(_!==0||S<y)&&P!==-1;P--,S++)_+=256*C[P]>>>0,C[P]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");y=S,g++}for(var D=b-y;D!==b&&C[D]===0;)D++;for(var Y=c.repeat(m);D<b;++D)Y+=e.charAt(C[D]);return Y}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var m=0;if(d[m]!==" "){for(var y=0,g=0;d[m]===c;)y++,m++;for(var x=(d.length-m)*u+1>>>0,b=new Uint8Array(x);d[m];){var C=r[d.charCodeAt(m)];if(C===255)return;for(var _=0,S=x-1;(C!==0||_<g)&&S!==-1;S--,_++)C+=a*b[S]>>>0,b[S]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");g=_,m++}if(d[m]!==" "){for(var P=x-g;P!==x&&b[P]===0;)P++;for(var D=new Uint8Array(y+(x-P)),Y=y;P!==x;)D[Y++]=b[P++];return D}}}function p(d){var m=h(d);if(m)return m;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:h,decode:p}}var d1=h1,p1=d1,M0=p1;var j_=new Uint8Array(0);var U0=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},fr=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var F0=e=>new TextEncoder().encode(e),K0=e=>new TextDecoder().decode(e);var sc=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},oc=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return q0(this,t)}},ac=class{constructor(t){this.decoders=t}or(t){return q0(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},q0=(e,t)=>new ac({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),cc=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new sc(t,r,n),this.decoder=new oc(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Yn=({name:e,prefix:t,encode:r,decode:n})=>new cc(e,t,r,n),Pr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=M0(r,t);return Yn({prefix:e,name:t,encode:n,decode:s=>fr(i(s))})},m1=(e,t,r,n)=>{let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let s=e.length;for(;e[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[e[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},y1=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],o+=8;o>r;)o-=r,s+=t[i&a>>o];if(o&&(s+=t[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},Pt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Yn({prefix:t,name:e,encode(i){return y1(i,n,r)},decode(i){return m1(i,n,r,e)}});var g1=Pr({prefix:"9",name:"base10",alphabet:"0123456789"});var lc={};zt(lc,{base16:()=>x1,base16upper:()=>E1});var x1=Pt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),E1=Pt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var fc={};zt(fc,{base2:()=>b1});var b1=Pt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hc={};zt(hc,{base256emoji:()=>A1});var $0=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),w1=$0.reduce((e,t,r)=>(e[r]=t,e),[]),v1=$0.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function _1(e){return e.reduce((t,r)=>(t+=w1[r],t),"")}function S1(e){let t=[];for(let r of e){let n=v1[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var A1=Yn({prefix:"\u{1F680}",name:"base256emoji",encode:_1,decode:S1});var dc={};zt(dc,{base32:()=>Ee,base32hex:()=>T1,base32hexpad:()=>L1,base32hexpadupper:()=>P1,base32hexupper:()=>B1,base32pad:()=>R1,base32padupper:()=>C1,base32upper:()=>I1,base32z:()=>D1});var Ee=Pt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),I1=Pt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),R1=Pt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),C1=Pt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),T1=Pt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),B1=Pt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),L1=Pt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),P1=Pt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),D1=Pt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var pc={};zt(pc,{base36:()=>N1,base36upper:()=>k1});var N1=Pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),k1=Pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var mc={};zt(mc,{base58btc:()=>Ct,base58flickr:()=>O1});var Ct=Pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),O1=Pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var gc={};zt(gc,{base64:()=>un,base64pad:()=>M1,base64url:()=>yc,base64urlpad:()=>U1});var un=Pt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),M1=Pt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),yc=Pt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),U1=Pt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var xc={};zt(xc,{base8:()=>F1});var F1=Pt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ec={};zt(Ec,{identity:()=>K1});var K1=Yn({prefix:"\0",name:"identity",encode:e=>K0(e),decode:e=>F0(e)});var pS=new TextEncoder,mS=new TextDecoder;var wc={};zt(wc,{identity:()=>Dr});var $1=G0,H0=128,H1=127,z1=~H1,G1=Math.pow(2,31);function G0(e,t,r){t=t||[],r=r||0;for(var n=r;e>=G1;)t[r++]=e&255|H0,e/=128;for(;e&z1;)t[r++]=e&255|H0,e>>>=7;return t[r]=e|0,G0.bytes=r-n+1,t}var Y1=bc,W1=128,z0=127;function bc(e,n){var r=0,n=n||0,i=0,s=n,o,a=e.length;do{if(s>=a)throw bc.bytes=0,new RangeError("Could not decode varint");o=e[s++],r+=i<28?(o&z0)<<i:(o&z0)*Math.pow(2,i),i+=7}while(o>=W1);return bc.bytes=s-n,r}var Q1=Math.pow(2,7),X1=Math.pow(2,14),Z1=Math.pow(2,21),J1=Math.pow(2,28),j1=Math.pow(2,35),t2=Math.pow(2,42),e2=Math.pow(2,49),r2=Math.pow(2,56),n2=Math.pow(2,63),i2=function(e){return e<Q1?1:e<X1?2:e<Z1?3:e<J1?4:e<j1?5:e<t2?6:e<e2?7:e<r2?8:e<n2?9:10},s2={encode:$1,decode:Y1,encodingLength:i2},o2=s2,Vi=o2;var qi=(e,t=0)=>[Vi.decode(e,t),Vi.decode.bytes],Wn=(e,t,r=0)=>(Vi.encode(e,t,r),t),Qn=e=>Vi.encodingLength(e);var Je=(e,t)=>{let r=t.byteLength,n=Qn(e),i=n+Qn(r),s=new Uint8Array(i+r);return Wn(e,s,0),Wn(r,s,n),s.set(t,i),new Xn(e,r,t,s)},ln=e=>{let t=fr(e),[r,n]=qi(t),[i,s]=qi(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Xn(r,i,o,t)},Y0=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&U0(e.bytes,r.bytes)}},Xn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var W0=0,a2="identity",Q0=fr,c2=e=>Je(W0,Q0(e)),Dr={code:W0,name:a2,encode:Q0,digest:c2};var Sc={};zt(Sc,{sha256:()=>ee,sha512:()=>u2});var _c=({name:e,code:t,encode:r})=>new vc(e,t,r),vc=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Je(this.code,r):r.then(n=>Je(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Z0=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),ee=_c({name:"sha2-256",code:18,encode:Z0("SHA-256")}),u2=_c({name:"sha2-512",code:19,encode:Z0("SHA-512")});var J0=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return f2(r,Ac(e),t||Ct.encoder);default:return h2(r,Ac(e),t||Ee.encoder)}};var j0=new WeakMap,Ac=e=>{let t=j0.get(e);if(t==null){let r=new Map;return j0.set(e,r),r}return t},Ue=class e{constructor(t,r,n,i){this.code=r,this.version=t,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:t,multihash:r}=this;if(t!==$i)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==d2)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Je(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Y0(t.multihash,n.multihash)}toString(t){return J0(this,t)}toJSON(){return{"/":J0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new e(n,i,s,o||th(n,i,s.bytes))}else if(r[p2]===!0){let{version:n,multihash:i,code:s}=r,o=ln(i);return e.create(n,s,o)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==$i)throw new Error(`Version 0 CID must use dag-pb (code: ${$i}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=th(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,$i,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=fr(t.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 Xn(r.multihashCode,r.digestSize,s,i);return[r.version===0?e.createV0(o):e.createV1(r.codec,o),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[f,h]=qi(t.subarray(r));return r+=h,f},i=n(),s=$i;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(t,r){let[n,i]=l2(t,r),s=e.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ac(s).set(n,t),s}},l2=(e,t)=>{switch(e[0]){case"Q":{let r=t||Ct;return[Ct.prefix,r.decode(`${Ct.prefix}${e}`)]}case Ct.prefix:{let r=t||Ct;return[Ct.prefix,r.decode(e)]}case Ee.prefix:{let r=t||Ee;return[Ee.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},f2=(e,t,r)=>{let{prefix:n}=r;if(n!==Ct.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return i},h2=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let s=r.encode(e);return t.set(n,s),s}else return i},$i=112,d2=18,th=(e,t,r)=>{let n=Qn(e),i=n+Qn(t),s=new Uint8Array(i+r.byteLength);return Wn(e,s,0),Wn(t,s,n),s.set(r,i),s},p2=Symbol.for("@ipld/js-cid/CID");var Nr={...Ec,...fc,...xc,...uc,...lc,...dc,...pc,...mc,...gc,...hc},LS={...Sc,...wc};function hr(e=0){return globalThis.Buffer?.alloc!=null?cn(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function ae(e=0){return globalThis.Buffer?.allocUnsafe!=null?cn(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function rh(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var eh=rh("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ic=rh("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=ae(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),m2={utf8:eh,"utf-8":eh,hex:Nr.base16,latin1:Ic,ascii:Ic,binary:Ic,...Nr},Js=m2;function z(e,t="utf8"){let r=Js[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?cn(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var nu={};zt(nu,{Ed25519PrivateKey:()=>gn,Ed25519PublicKey:()=>Xi,generateKeyPair:()=>BE,generateKeyPairFromSeed:()=>kh,unmarshalEd25519PrivateKey:()=>CE,unmarshalEd25519PublicKey:()=>TE});function Tt(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function nh(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Rc(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function ih(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");nh(e.outputLen),nh(e.blockLen)}function Zn(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function sh(e,t){Rc(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var js=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var oh=e=>e instanceof Uint8Array;var to=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Fe=(e,t)=>e<<32-t|e>>>t,y2=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!y2)throw new Error("Non little-endian hardware is not supported");function Cc(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Hi(e){if(typeof e=="string"&&(e=Cc(e)),!oh(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function eo(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!oh(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var Jn=class{clone(){return this._cloneInto()}},zS={}.toString;function ro(e){let t=n=>e().update(Hi(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function jn(e=32){if(js&&typeof js.getRandomValues=="function")return js.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function g2(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,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;e.setUint32(t+c,o,n),e.setUint32(t+u,a,n)}var ti=class extends Jn{constructor(t,r,n,i){super(),this.blockLen=t,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(t),this.view=to(this.buffer)}update(t){Zn(this);let{view:r,buffer:n,blockLen:i}=this;t=Hi(t);let s=t.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let c=to(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Zn(this),sh(t,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;g2(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=to(t),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:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}};var no=BigInt(4294967295),Tc=BigInt(32);function ah(e,t=!1){return t?{h:Number(e&no),l:Number(e>>Tc&no)}:{h:Number(e>>Tc&no)|0,l:Number(e&no)|0}}function x2(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:s,l:o}=ah(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}var E2=(e,t)=>BigInt(e>>>0)<<Tc|BigInt(t>>>0),b2=(e,t,r)=>e>>>r,w2=(e,t,r)=>e<<32-r|t>>>r,v2=(e,t,r)=>e>>>r|t<<32-r,_2=(e,t,r)=>e<<32-r|t>>>r,S2=(e,t,r)=>e<<64-r|t>>>r-32,A2=(e,t,r)=>e>>>r-32|t<<64-r,I2=(e,t)=>t,R2=(e,t)=>e,C2=(e,t,r)=>e<<r|t>>>32-r,T2=(e,t,r)=>t<<r|e>>>32-r,B2=(e,t,r)=>t<<r-32|e>>>64-r,L2=(e,t,r)=>e<<r-32|t>>>64-r;function P2(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var D2=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),N2=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,k2=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),O2=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,M2=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),U2=(e,t,r,n,i,s)=>t+r+n+i+s+(e/2**32|0)|0;var F2={fromBig:ah,split:x2,toBig:E2,shrSH:b2,shrSL:w2,rotrSH:v2,rotrSL:_2,rotrBH:S2,rotrBL:A2,rotr32H:I2,rotr32L:R2,rotlSH:C2,rotlSL:T2,rotlBH:B2,rotlBL:L2,add:P2,add3L:D2,add3H:N2,add4L:k2,add4H:O2,add5H:U2,add5L:M2},J=F2;var[K2,V2]=(()=>J.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))))(),kr=new Uint32Array(80),Or=new Uint32Array(80),Bc=class extends ti{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:r,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:h,Gh:p,Gl:d,Hh:m,Hl:y}=this;return[t,r,n,i,s,o,a,c,u,l,f,h,p,d,m,y]}set(t,r,n,i,s,o,a,c,u,l,f,h,p,d,m,y){this.Ah=t|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=h|0,this.Gh=p|0,this.Gl=d|0,this.Hh=m|0,this.Hl=y|0}process(t,r){for(let b=0;b<16;b++,r+=4)kr[b]=t.getUint32(r),Or[b]=t.getUint32(r+=4);for(let b=16;b<80;b++){let C=kr[b-15]|0,_=Or[b-15]|0,S=J.rotrSH(C,_,1)^J.rotrSH(C,_,8)^J.shrSH(C,_,7),P=J.rotrSL(C,_,1)^J.rotrSL(C,_,8)^J.shrSL(C,_,7),D=kr[b-2]|0,Y=Or[b-2]|0,W=J.rotrSH(D,Y,19)^J.rotrBH(D,Y,61)^J.shrSH(D,Y,6),H=J.rotrSL(D,Y,19)^J.rotrBL(D,Y,61)^J.shrSL(D,Y,6),et=J.add4L(P,H,Or[b-7],Or[b-16]),pt=J.add4H(et,S,W,kr[b-7],kr[b-16]);kr[b]=pt|0,Or[b]=et|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:h,Fh:p,Fl:d,Gh:m,Gl:y,Hh:g,Hl:x}=this;for(let b=0;b<80;b++){let C=J.rotrSH(f,h,14)^J.rotrSH(f,h,18)^J.rotrBH(f,h,41),_=J.rotrSL(f,h,14)^J.rotrSL(f,h,18)^J.rotrBL(f,h,41),S=f&p^~f&m,P=h&d^~h&y,D=J.add5L(x,_,P,V2[b],Or[b]),Y=J.add5H(D,g,C,S,K2[b],kr[b]),W=D|0,H=J.rotrSH(n,i,28)^J.rotrBH(n,i,34)^J.rotrBH(n,i,39),et=J.rotrSL(n,i,28)^J.rotrBL(n,i,34)^J.rotrBL(n,i,39),pt=n&s^n&a^s&a,Jt=i&o^i&c^o&c;g=m|0,x=y|0,m=p|0,y=d|0,p=f|0,d=h|0,{h:f,l:h}=J.add(u|0,l|0,Y|0,W|0),u=a|0,l=c|0,a=s|0,c=o|0,s=n|0,o=i|0;let T=J.add3L(W,et,Jt);n=J.add3H(T,Y,H,pt),i=T|0}({h:n,l:i}=J.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=J.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=J.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=J.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:h}=J.add(this.Eh|0,this.El|0,f|0,h|0),{h:p,l:d}=J.add(this.Fh|0,this.Fl|0,p|0,d|0),{h:m,l:y}=J.add(this.Gh|0,this.Gl|0,m|0,y|0),{h:g,l:x}=J.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,s,o,a,c,u,l,f,h,p,d,m,y,g,x)}roundClean(){kr.fill(0),Or.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 Lc=ro(()=>new Bc);var oo={};zt(oo,{bitGet:()=>W2,bitLen:()=>Y2,bitMask:()=>zi,bitSet:()=>Q2,bytesToHex:()=>dr,bytesToNumberBE:()=>pr,bytesToNumberLE:()=>Mr,concatBytes:()=>mr,createHmacDrbg:()=>Nc,ensureBytes:()=>Dt,equalBytes:()=>z2,hexToBytes:()=>hn,hexToNumber:()=>Dc,numberToBytesBE:()=>Ur,numberToBytesLE:()=>dn,numberToHexUnpadded:()=>lh,numberToVarBytesBE:()=>H2,utf8ToBytes:()=>G2,validateObject:()=>je});var uh=BigInt(0),io=BigInt(1),q2=BigInt(2),so=e=>e instanceof Uint8Array,$2=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function dr(e){if(!so(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=$2[e[r]];return t}function lh(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Dc(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function hn(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,s=e.slice(i,i+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");r[n]=o}return r}function pr(e){return Dc(dr(e))}function Mr(e){if(!so(e))throw new Error("Uint8Array expected");return Dc(dr(Uint8Array.from(e).reverse()))}function Ur(e,t){return hn(e.toString(16).padStart(t*2,"0"))}function dn(e,t){return Ur(e,t).reverse()}function H2(e){return hn(lh(e))}function Dt(e,t,r){let n;if(typeof t=="string")try{n=hn(t)}catch(s){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${s}`)}else if(so(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function mr(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!so(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function z2(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function G2(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Y2(e){let t;for(t=0;e>uh;e>>=io,t+=1);return t}function W2(e,t){return e>>BigInt(t)&io}var Q2=(e,t,r)=>e|(r?io:uh)<<BigInt(t),zi=e=>(q2<<BigInt(e-1))-io,Pc=e=>new Uint8Array(e),ch=e=>Uint8Array.from(e);function Nc(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Pc(e),i=Pc(e),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...f)=>r(i,n,...f),c=(f=Pc())=>{i=a(ch([0]),f),n=a(),f.length!==0&&(i=a(ch([1]),f),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,h=[];for(;f<t;){n=a();let p=n.slice();h.push(p),f+=n.length}return mr(...h)};return(f,h)=>{o(),c(f);let p;for(;!(p=h(u()));)c();return o(),p}}var X2={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function je(e,t,r={}){let n=(i,s,o)=>{let a=X2[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=e[i];if(!(o&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${s}`)};for(let[i,s]of Object.entries(t))n(i,s,!1);for(let[i,s]of Object.entries(r))n(i,s,!0);return e}var $t=BigInt(0),At=BigInt(1),pn=BigInt(2),Z2=BigInt(3),kc=BigInt(4),fh=BigInt(5),hh=BigInt(8),J2=BigInt(9),j2=BigInt(16);function yt(e,t){let r=e%t;return r>=$t?r:t+r}function tE(e,t,r){if(r<=$t||t<$t)throw new Error("Expected power/modulo > 0");if(r===At)return $t;let n=At;for(;t>$t;)t&At&&(n=n*e%r),e=e*e%r,t>>=At;return n}function It(e,t,r){let n=e;for(;t-- >$t;)n*=n,n%=r;return n}function ao(e,t){if(e===$t||t<=$t)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=yt(e,t),n=t,i=$t,s=At,o=At,a=$t;for(;r!==$t;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==At)throw new Error("invert: does not exist");return yt(i,t)}function eE(e){let t=(e-At)/pn,r,n,i;for(r=e-At,n=0;r%pn===$t;r/=pn,n++);for(i=pn;i<e&&tE(i,t,e)!==e-At;i++);if(n===1){let o=(e+At)/kc;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+At)/pn;return function(a,c){if(a.pow(c,t)===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),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let p=1;for(let m=a.sqr(h);p<u&&!a.eql(m,a.ONE);p++)m=a.sqr(m);let d=a.pow(l,At<<BigInt(u-p-1));l=a.sqr(d),f=a.mul(f,d),h=a.mul(h,l),u=p}return f}}function rE(e){if(e%kc===Z2){let t=(e+At)/kc;return function(n,i){let s=n.pow(i,t);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(e%hh===fh){let t=(e-fh)/hh;return function(n,i){let s=n.mul(i,pn),o=n.pow(s,t),a=n.mul(i,o),c=n.mul(n.mul(a,pn),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 e%j2,eE(e)}var dh=(e,t)=>(yt(e,t)&At)===At,nE=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Oc(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=nE.reduce((n,i)=>(n[i]="function",n),t);return je(e,r)}function iE(e,t,r){if(r<$t)throw new Error("Expected power > 0");if(r===$t)return e.ONE;if(r===At)return t;let n=e.ONE,i=t;for(;r>$t;)r&At&&(n=e.mul(n,i)),i=e.sqr(i),r>>=At;return n}function sE(e,t){let r=new Array(t.length),n=t.reduce((s,o,a)=>e.is0(o)?s:(r[a]=s,e.mul(s,o)),e.ONE),i=e.inv(n);return t.reduceRight((s,o,a)=>e.is0(o)?s:(r[a]=e.mul(s,r[a]),e.mul(s,o)),i),r}function Mc(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function co(e,t,r=!1,n={}){if(e<=$t)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:s}=Mc(e,t);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=rE(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:s,MASK:zi(i),ZERO:$t,ONE:At,create:c=>yt(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return $t<=c&&c<e},is0:c=>c===$t,isOdd:c=>(c&At)===At,neg:c=>yt(-c,e),eql:(c,u)=>c===u,sqr:c=>yt(c*c,e),add:(c,u)=>yt(c+u,e),sub:(c,u)=>yt(c-u,e),mul:(c,u)=>yt(c*u,e),pow:(c,u)=>iE(a,c,u),div:(c,u)=>yt(c*ao(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>ao(c,e),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>sE(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?dn(c,s):Ur(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?Mr(c):pr(c)}});return Object.freeze(a)}function ph(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function mh(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Uc(e){let t=mh(e);return t+Math.ceil(t/2)}function yh(e,t,r=!1){let n=e.length,i=mh(t),s=Uc(t);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?pr(e):Mr(e),a=yt(o,t-At)+At;return r?dn(a,i):Ur(a,i)}var aE=BigInt(0),Fc=BigInt(1);function uo(e,t){let r=(i,s)=>{let o=s.negate();return i?o:s},n=i=>{let s=Math.ceil(t/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:r,unsafeLadder(i,s){let o=e.ZERO,a=i;for(;s>aE;)s&Fc&&(o=o.add(a)),a=a.double(),s>>=Fc;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 h=1;h<a;h++)l=l.add(u),c.push(l);u=l.double()}return c},wNAF(i,s,o){let{windows:a,windowSize:c}=n(i),u=e.ZERO,l=e.BASE,f=BigInt(2**i-1),h=2**i,p=BigInt(i);for(let d=0;d<a;d++){let m=d*c,y=Number(o&f);o>>=p,y>c&&(y-=h,o+=Fc);let g=m,x=m+Math.abs(y)-1,b=d%2!==0,C=y<0;y===0?l=l.add(r(b,s[g])):u=u.add(r(C,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 Gi(e){return Oc(e.Fp),je(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Mc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Ke=BigInt(0),be=BigInt(1),lo=BigInt(2),cE=BigInt(8),uE={zip215:!0};function lE(e){let t=Gi(e);return je(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function fo(e){let t=lE(e),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:c}=t,u=lo<<BigInt(a*8)-be,l=r.create,f=t.uvRatio||((N,I)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(I))}}catch{return{isValid:!1,value:Ke}}}),h=t.adjustScalarBytes||(N=>N),p=t.domain||((N,I,U)=>{if(I.length||U)throw new Error("Contexts/pre-hash are not supported");return N}),d=N=>typeof N=="bigint"&&Ke<N,m=(N,I)=>d(N)&&d(I)&&N<I,y=N=>N===Ke||m(N,u);function g(N,I){if(m(N,I))return N;throw new Error(`Expected valid scalar < ${I}, got ${typeof N} ${N}`)}function x(N){return N===Ke?N:g(N,n)}let b=new Map;function C(N){if(!(N instanceof _))throw new Error("ExtendedPoint expected")}class _{constructor(I,U,q,G){if(this.ex=I,this.ey=U,this.ez=q,this.et=G,!y(I))throw new Error("x required");if(!y(U))throw new Error("y required");if(!y(q))throw new Error("z required");if(!y(G))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(I){if(I instanceof _)throw new Error("extended point not allowed");let{x:U,y:q}=I||{};if(!y(U)||!y(q))throw new Error("invalid affine point");return new _(U,q,be,l(U*q))}static normalizeZ(I){let U=r.invertBatch(I.map(q=>q.ez));return I.map((q,G)=>q.toAffine(U[G])).map(_.fromAffine)}_setWindowSize(I){this._WINDOW_SIZE=I,b.delete(this)}assertValidity(){let{a:I,d:U}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:q,ey:G,ez:j,et:nt}=this,ht=l(q*q),it=l(G*G),ct=l(j*j),Ft=l(ct*ct),Lt=l(ht*I),jt=l(ct*l(Lt+it)),te=l(Ft+l(U*l(ht*it)));if(jt!==te)throw new Error("bad point: equation left != right (1)");let qt=l(q*G),oe=l(j*nt);if(qt!==oe)throw new Error("bad point: equation left != right (2)")}equals(I){C(I);let{ex:U,ey:q,ez:G}=this,{ex:j,ey:nt,ez:ht}=I,it=l(U*ht),ct=l(j*G),Ft=l(q*ht),Lt=l(nt*G);return it===ct&&Ft===Lt}is0(){return this.equals(_.ZERO)}negate(){return new _(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:I}=t,{ex:U,ey:q,ez:G}=this,j=l(U*U),nt=l(q*q),ht=l(lo*l(G*G)),it=l(I*j),ct=U+q,Ft=l(l(ct*ct)-j-nt),Lt=it+nt,jt=Lt-ht,te=it-nt,qt=l(Ft*jt),oe=l(Lt*te),ar=l(Ft*te),en=l(jt*Lt);return new _(qt,oe,en,ar)}add(I){C(I);let{a:U,d:q}=t,{ex:G,ey:j,ez:nt,et:ht}=this,{ex:it,ey:ct,ez:Ft,et:Lt}=I;if(U===BigInt(-1)){let pf=l((j-G)*(ct+it)),mf=l((j+G)*(ct-it)),Oa=l(mf-pf);if(Oa===Ke)return this.double();let yf=l(nt*lo*Lt),gf=l(ht*lo*Ft),xf=gf+yf,Ef=mf+pf,bf=gf-yf,Py=l(xf*Oa),Dy=l(Ef*bf),Ny=l(xf*bf),ky=l(Oa*Ef);return new _(Py,Dy,ky,Ny)}let jt=l(G*it),te=l(j*ct),qt=l(ht*q*Lt),oe=l(nt*Ft),ar=l((G+j)*(it+ct)-jt-te),en=oe-qt,Di=oe+qt,df=l(te-U*jt),Cy=l(ar*en),Ty=l(Di*df),By=l(ar*df),Ly=l(en*Di);return new _(Cy,Ty,Ly,By)}subtract(I){return this.add(I.negate())}wNAF(I){return D.wNAFCached(this,b,I,_.normalizeZ)}multiply(I){let{p:U,f:q}=this.wNAF(g(I,n));return _.normalizeZ([U,q])[0]}multiplyUnsafe(I){let U=x(I);return U===Ke?P:this.equals(P)||U===be?this:this.equals(S)?this.wNAF(U).p:D.unsafeLadder(this,U)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(I){let{ex:U,ey:q,ez:G}=this,j=this.is0();I==null&&(I=j?cE:r.inv(G));let nt=l(U*I),ht=l(q*I),it=l(G*I);if(j)return{x:Ke,y:be};if(it!==be)throw new Error("invZ was invalid");return{x:nt,y:ht}}clearCofactor(){let{h:I}=t;return I===be?this:this.multiplyUnsafe(I)}static fromHex(I,U=!1){let{d:q,a:G}=t,j=r.BYTES;I=Dt("pointHex",I,j);let nt=I.slice(),ht=I[j-1];nt[j-1]=ht&-129;let it=Mr(nt);it===Ke||(U?g(it,u):g(it,r.ORDER));let ct=l(it*it),Ft=l(ct-be),Lt=l(q*ct-G),{isValid:jt,value:te}=f(Ft,Lt);if(!jt)throw new Error("Point.fromHex: invalid y coordinate");let qt=(te&be)===be,oe=(ht&128)!==0;if(!U&&te===Ke&&oe)throw new Error("Point.fromHex: x=0 and x_0=1");return oe!==qt&&(te=l(-te)),_.fromAffine({x:te,y:it})}static fromPrivateKey(I){return H(I).point}toRawBytes(){let{x:I,y:U}=this.toAffine(),q=dn(U,r.BYTES);return q[q.length-1]|=I&be?128:0,q}toHex(){return dr(this.toRawBytes())}}_.BASE=new _(t.Gx,t.Gy,be,l(t.Gx*t.Gy)),_.ZERO=new _(Ke,be,be,Ke);let{BASE:S,ZERO:P}=_,D=uo(_,a*8);function Y(N){return yt(N,n)}function W(N){return Y(Mr(N))}function H(N){let I=a;N=Dt("private key",N,I);let U=Dt("hashed private key",s(N),2*I),q=h(U.slice(0,I)),G=U.slice(I,2*I),j=W(q),nt=S.multiply(j),ht=nt.toRawBytes();return{head:q,prefix:G,scalar:j,point:nt,pointBytes:ht}}function et(N){return H(N).pointBytes}function pt(N=new Uint8Array,...I){let U=mr(...I);return W(s(p(U,Dt("context",N),!!i)))}function Jt(N,I,U={}){N=Dt("message",N),i&&(N=i(N));let{prefix:q,scalar:G,pointBytes:j}=H(I),nt=pt(U.context,q,N),ht=S.multiply(nt).toRawBytes(),it=pt(U.context,ht,j,N),ct=Y(nt+it*G);x(ct);let Ft=mr(ht,dn(ct,r.BYTES));return Dt("result",Ft,a*2)}let T=uE;function k(N,I,U,q=T){let{context:G,zip215:j}=q,nt=r.BYTES;N=Dt("signature",N,2*nt),I=Dt("message",I),i&&(I=i(I));let ht=Mr(N.slice(nt,2*nt)),it,ct,Ft;try{it=_.fromHex(U,j),ct=_.fromHex(N.slice(0,nt),j),Ft=S.multiplyUnsafe(ht)}catch{return!1}if(!j&&it.isSmallOrder())return!1;let Lt=pt(G,ct.toRawBytes(),it.toRawBytes(),I);return ct.add(it.multiplyUnsafe(Lt)).subtract(Ft).clearCofactor().equals(_.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:et,sign:Jt,verify:k,ExtendedPoint:_,utils:{getExtendedPublicKey:H,randomPrivateKey:()=>o(r.BYTES),precompute(N=8,I=_.BASE){return I._setWindowSize(N),I.multiply(BigInt(3)),I}}}}var Vc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),gh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),dA=BigInt(0),fE=BigInt(1),Kc=BigInt(2),hE=BigInt(5),xh=BigInt(10),dE=BigInt(20),pE=BigInt(40),Eh=BigInt(80);function mE(e){let t=Vc,n=e*e%t*e%t,i=It(n,Kc,t)*n%t,s=It(i,fE,t)*e%t,o=It(s,hE,t)*s%t,a=It(o,xh,t)*o%t,c=It(a,dE,t)*a%t,u=It(c,pE,t)*c%t,l=It(u,Eh,t)*u%t,f=It(l,Eh,t)*u%t,h=It(f,xh,t)*o%t;return{pow_p_5_8:It(h,Kc,t)*e%t,b2:n}}function yE(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function gE(e,t){let r=Vc,n=yt(t*t*t,r),i=yt(n*n*t,r),s=mE(e*i).pow_p_5_8,o=yt(e*n*s,r),a=yt(t*o*o,r),c=o,u=yt(o*gh,r),l=a===e,f=a===yt(-e,r),h=a===yt(-e*gh,r);return l&&(o=c),(f||h)&&(o=u),dh(o,r)&&(o=yt(-o,r)),{isValid:l||f,value:o}}var yr=co(Vc,void 0,!0),qc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:yr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Lc,randomBytes:jn,adjustScalarBytes:yE,uvRatio:gE},ei=fo(qc);function bh(e,t,r){if(t.length>255)throw new Error("Context is too big");return eo(Cc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var pA=fo({...qc,domain:bh}),mA=fo({...qc,domain:bh,prehash:Lc});var xE=(yr.ORDER+BigInt(3))/BigInt(8),yA=yr.pow(Kc,xE),gA=yr.sqrt(yr.neg(yr.ONE)),xA=(yr.ORDER-BigInt(5))/BigInt(8),EA=BigInt(486662);var bA=ph(yr,yr.neg(BigInt(486664)));var wA=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),vA=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),_A=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),SA=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var AA=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var ri=32,gr=64,ho=32;async function wh(){let e=ei.utils.randomPrivateKey(),t=ei.getPublicKey(e);return{privateKey:Ah(e,t),publicKey:t}}async function vh(e){if(e.length!==ho)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=ei.getPublicKey(t);return{privateKey:Ah(t,r),publicKey:r}}async function _h(e,t){let r=e.subarray(0,ho);return ei.sign(t,r)}async function Sh(e,t,r){return ei.verify(t,r,e)}function Ah(e,t){let r=new Uint8Array(gr);for(let n=0;n<ho;n++)r[n]=e[n],r[ho+n]=t[n];return r}function kt(e,t){t==null&&(t=e.reduce((i,s)=>i+s.length,0));let r=ae(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return cn(r)}var me={get(e=globalThis){let t=e.crypto;if(t==null||t.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-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var $c={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function po(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",s=e?.saltLength??16,o=e?.iterations??32767,a=me.get();r*=8;async function c(f,h){let p=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),m={name:t,iv:d};typeof h=="string"&&(h=z(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",$c,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,b,{name:t,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",$c,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,b,{name:t,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return kt([p,m.iv,new Uint8Array(g)])}async function u(f,h){let p=f.subarray(0,s),d=f.subarray(s,s+n),m=f.subarray(s+n),y={name:t,iv:d};typeof h=="string"&&(h=z(h));let g;if(h.length===0)try{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,C,{name:t,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",$c,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,C,{name:t,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function ni(e,t){let n=await po().encrypt(e,t);return un.encode(n)}var Hc=new Float32Array([-0]),Fr=new Uint8Array(Hc.buffer);function Rh(e,t,r){Hc[0]=e,t[r]=Fr[0],t[r+1]=Fr[1],t[r+2]=Fr[2],t[r+3]=Fr[3]}function Ch(e,t){return Fr[0]=e[t],Fr[1]=e[t+1],Fr[2]=e[t+2],Fr[3]=e[t+3],Hc[0]}var zc=new Float64Array([-0]),ce=new Uint8Array(zc.buffer);function Th(e,t,r){zc[0]=e,t[r]=ce[0],t[r+1]=ce[1],t[r+2]=ce[2],t[r+3]=ce[3],t[r+4]=ce[4],t[r+5]=ce[5],t[r+6]=ce[6],t[r+7]=ce[7]}function Bh(e,t){return ce[0]=e[t],ce[1]=e[t+1],ce[2]=e[t+2],ce[3]=e[t+3],ce[4]=e[t+4],ce[5]=e[t+5],ce[6]=e[t+6],ce[7]=e[t+7],zc[0]}var bE=BigInt(Number.MAX_SAFE_INTEGER),wE=BigInt(Number.MIN_SAFE_INTEGER),ye=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return mn;if(t<bE&&t>wE)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>Lh&&(i=0n,++n>Lh&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return mn;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):mn}},mn=new ye(0,0);mn.toBigInt=function(){return 0n};mn.zzEncode=mn.zzDecode=function(){return this};mn.length=function(){return 1};var Lh=4294967296n;function Ph(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Dh(e,t,r){if(r-t<1)return"";let i,s=[],o=0,a;for(;t<r;)a=e[t++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&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 Gc(e,t,r){let n=r,i,s;for(let o=0;o<e.length;++o)i=e.charCodeAt(o),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((s=e.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function Ve(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function mo(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var Yc=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Ve(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Ve(this,4);return mo(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ve(this,4);return mo(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ve(this,4);let t=Ch(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Ve(this,4);let t=Bh(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw Ve(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return Dh(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ve(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ve(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new ye(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Ve(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw Ve(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Ve(this,8);let t=mo(this.buf,this.pos+=4),r=mo(this.buf,this.pos+=4);return new ye(t,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 Wc(e){return new Yc(e instanceof Uint8Array?e:e.subarray())}function re(e,t){let r=Wc(e);return t.decode(r)}function Qc(e){let t=e??8192,r=t>>>1,n,i=t;return function(o){if(o<1||o>r)return ae(o);i+o>t&&(n=ae(t),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var yn=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Xc(){}var Jc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},vE=Qc();function _E(e){return globalThis.Buffer!=null?ae(e):vE(e)}var Qi=class{len;head;tail;states;constructor(){this.len=0,this.head=new yn(Xc,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new yn(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new jc((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Yi,10,ye.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=ye.fromBigInt(t);return this._push(Yi,r.length(),r)}uint64Number(t){let r=ye.fromNumber(t);return this._push(Yi,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=ye.fromBigInt(t).zzEncode();return this._push(Yi,r.length(),r)}sint64Number(t){let r=ye.fromNumber(t).zzEncode();return this._push(Yi,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Zc,1,t?1:0)}fixed32(t){return this._push(Wi,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=ye.fromBigInt(t);return this._push(Wi,4,r.lo)._push(Wi,4,r.hi)}fixed64Number(t){let r=ye.fromNumber(t);return this._push(Wi,4,r.lo)._push(Wi,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Rh,4,t)}double(t){return this._push(Th,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Zc,1,0):this.uint32(r)._push(AE,r,t)}string(t){let r=Ph(t);return r!==0?this.uint32(r)._push(Gc,r,t):this._push(Zc,1,0)}fork(){return this.states=new Jc(this),this.head=this.tail=new yn(Xc,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new yn(Xc,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=_E(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Zc(e,t,r){t[r]=e&255}function SE(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var jc=class extends yn{next;constructor(t,r){super(SE,t,r),this.next=void 0}};function Yi(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function Wi(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function AE(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Qi.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(IE,t,e),this},Qi.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(RE,t,e),this});function IE(e,t,r){t.set(e,r)}function RE(e,t,r){e.length<40?Gc(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(z(e),r)}function tu(){return new Qi}function ne(e,t){let r=tu();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var ii;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(ii||(ii={}));function yo(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function eu(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return yo("enum",ii.VARINT,r,n)}function ie(e,t){return yo("message",ii.LENGTH_DELIMITED,e,t)}var Rt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(Rt||(Rt={}));var ru;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(ru||(ru={}));(function(e){e.codec=()=>eu(ru)})(Rt||(Rt={}));var tr;(function(e){let t;e.codec=()=>(t==null&&(t=ie((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Rt.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=Rt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>ne(r,e.codec()),e.decode=r=>re(r,e.codec())})(tr||(tr={}));var er;(function(e){let t;e.codec=()=>(t==null&&(t=ie((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Rt.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=Rt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>ne(r,e.codec()),e.decode=r=>re(r,e.codec())})(er||(er={}));var Xi=class{_key;constructor(t){this._key=si(t,ri)}async verify(t,r){return Sh(this._key,r,t)}marshal(){return this._key}get bytes(){return tr.encode({Type:Rt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Tt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ee.digest(this.bytes);return t}},gn=class{_key;_publicKey;constructor(t,r){this._key=si(t,gr),this._publicKey=si(r,ri)}async sign(t){return _h(this._key,t)}get public(){return new Xi(this._publicKey)}marshal(){return this._key}get bytes(){return er.encode({Type:Rt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Tt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ee.digest(this.bytes);return t}async id(){let t=Dr.digest(this.public.bytes);return Ct.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return ni(this.bytes,t);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function CE(e){if(e.length>gr){e=si(e,gr+ri);let n=e.subarray(0,gr),i=e.subarray(gr,e.length);return new gn(n,i)}e=si(e,gr);let t=e.subarray(0,gr),r=e.subarray(ri);return new gn(t,r)}function TE(e){return e=si(e,ri),new Xi(e)}async function BE(){let{privateKey:e,publicKey:t}=await wh();return new gn(e,t)}async function kh(e){let{privateKey:t,publicKey:r}=await vh(e);return new gn(t,r)}function si(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new w(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}function X(e,t="utf8"){let r=Js[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var wI=mt(Nt(),1),vI=mt(Ys(),1),Oh=mt(dt(),1);function qe(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=kt([new Uint8Array(t-r.length),r])}return X(r,"base64url")}function we(e){let t=Mh(e);return new Oh.default.jsbn.BigInteger(X(t,"base16"),16)}function Mh(e,t){let r=z(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=kt([new Uint8Array(t-r.length),r])}return r}var LE={"P-256":256,"P-384":384,"P-521":521},PE=Object.keys(LE),DI=PE.join(" / ");async function Uh(e,t){let r=un.decode(e);return po().decrypt(r,t)}var cu={};zt(cu,{MAX_KEY_SIZE:()=>ts,RsaPrivateKey:()=>oi,RsaPublicKey:()=>ji,fromJwk:()=>qE,generateKeyPair:()=>$E,unmarshalRsaPrivateKey:()=>KE,unmarshalRsaPublicKey:()=>VE});var Ji=mt(dt(),1);var gR=mt(Hh(),1);function En(e){if(isNaN(e)||e<=0)throw new w("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return jn(e)}var jI=mt(Xs(),1),ou=mt(dt(),1);function zh(e,t){return t.map(r=>we(e[r]))}function Gh(e){return ou.default.pki.setRsaPrivateKey(...zh(e,["n","e","d","p","q","dp","dq","qi"]))}function Yh(e){return ou.default.pki.setRsaPublicKey(...zh(e,["n","e"]))}var bn={};zt(bn,{jwkToPkcs1:()=>kE,jwkToPkix:()=>ME,pkcs1ToJwk:()=>NE,pkixToJwk:()=>OE});var rR=mt(Mi(),1),nR=mt(Xs(),1);var xr=mt(dt(),1);function NE(e){let t=xr.default.asn1.fromDer(X(e,"ascii")),r=xr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:qe(r.n),e:qe(r.e),d:qe(r.d),p:qe(r.p),q:qe(r.q),dp:qe(r.dP),dq:qe(r.dQ),qi:qe(r.qInv),alg:"RS256"}}function kE(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new w("JWK was missing components","ERR_INVALID_PARAMETERS");let t=xr.default.pki.privateKeyToAsn1({n:we(e.n),e:we(e.e),d:we(e.d),p:we(e.p),q:we(e.q),dP:we(e.dp),dQ:we(e.dq),qInv:we(e.qi)});return z(xr.default.asn1.toDer(t).getBytes(),"ascii")}function OE(e){let t=xr.default.asn1.fromDer(X(e,"ascii")),r=xr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:qe(r.n),e:qe(r.e)}}function ME(e){if(e.n==null||e.e==null)throw new w("JWK was missing components","ERR_INVALID_PARAMETERS");let t=xr.default.pki.publicKeyToAsn1({n:we(e.n),e:we(e.e)});return z(xr.default.asn1.toDer(t).getBytes(),"ascii")}async function Wh(e){let t=await me.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Zh(t);return{privateKey:r[0],publicKey:r[1]}}async function au(e){let r=[await me.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await UE(e)],n=await Zh({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Qh(e,t){let r=await me.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await me.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function Xh(e,t,r){let n=await me.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return me.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function Zh(e){if(e.privateKey==null||e.publicKey==null)throw new w("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([me.get().subtle.exportKey("jwk",e.privateKey),me.get().subtle.exportKey("jwk",e.publicKey)])}async function UE(e){return me.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Jh(e,t,r,n){let i=t?Yh(e):Gh(e),s=X(Uint8Array.from(r),"ascii"),o=n(s,i);return z(o,"ascii")}function jh(e,t){return Jh(e,!0,t,(r,n)=>n.encrypt(r))}function td(e,t){return Jh(e,!1,t,(r,n)=>n.decrypt(r))}function xo(e){if(e.kty!=="RSA")throw new w("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new w("invalid key modulus","ERR_INVALID_KEY_MODULUS");return z(e.n,"base64url").length*8}var ts=8192,ji=class{_key;constructor(t){this._key=t}async verify(t,r){return Xh(this._key,r,t)}marshal(){return bn.jwkToPkix(this._key)}get bytes(){return tr.encode({Type:Rt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return jh(this._key,t)}equals(t){return Tt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ee.digest(this.bytes);return t}},oi=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return En(16)}async sign(t){return Qh(this._key,t)}get public(){if(this._publicKey==null)throw new w("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ji(this._publicKey)}decrypt(t){return td(this._key,t)}marshal(){return bn.jwkToPkcs1(this._key)}get bytes(){return er.encode({Type:Rt.RSA,Data:this.marshal()}).subarray()}equals(t){return Tt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ee.digest(this.bytes);return t}async id(){let t=await this.public.hash();return X(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ji.default.util.ByteBuffer(this.marshal()),i=Ji.default.asn1.fromDer(n),s=Ji.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ji.default.pki.encryptRsaPrivateKey(s,t,o)}else{if(r==="libp2p-key")return ni(this.bytes,t);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function KE(e){let t=bn.pkcs1ToJwk(e);if(xo(t)>ts)throw new w("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await au(t);return new oi(r.privateKey,r.publicKey)}function VE(e){let t=bn.pkixToJwk(e);if(xo(t)>ts)throw new w("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ji(t)}async function qE(e){if(xo(e)>ts)throw new w("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await au(e);return new oi(t.privateKey,t.publicKey)}async function $E(e){if(e>ts)throw new w("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Wh(e);return new oi(t.privateKey,t.publicKey)}var pu={};zt(pu,{Secp256k1PrivateKey:()=>rs,Secp256k1PublicKey:()=>es,generateKeyPair:()=>ib,unmarshalSecp256k1PrivateKey:()=>rb,unmarshalSecp256k1PublicKey:()=>nb});var HE=(e,t,r)=>e&t^~e&r,zE=(e,t,r)=>e&t^e&r^t&r,GE=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]),Kr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Vr=new Uint32Array(64),uu=class extends ti{constructor(){super(64,32,8,!1),this.A=Kr[0]|0,this.B=Kr[1]|0,this.C=Kr[2]|0,this.D=Kr[3]|0,this.E=Kr[4]|0,this.F=Kr[5]|0,this.G=Kr[6]|0,this.H=Kr[7]|0}get(){let{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,c){this.A=t|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(t,r){for(let f=0;f<16;f++,r+=4)Vr[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let h=Vr[f-15],p=Vr[f-2],d=Fe(h,7)^Fe(h,18)^h>>>3,m=Fe(p,17)^Fe(p,19)^p>>>10;Vr[f]=m+Vr[f-7]+d+Vr[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 h=Fe(a,6)^Fe(a,11)^Fe(a,25),p=l+h+HE(a,c,u)+GE[f]+Vr[f]|0,m=(Fe(n,2)^Fe(n,13)^Fe(n,22))+zE(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(){Vr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var ed=ro(()=>new uu);function YE(e){let t=Gi(e);je(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=t;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({...t})}var{bytesToNumberBE:WE,hexToBytes:QE}=oo,wn={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=wn;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:WE(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=wn,r=typeof e=="string"?QE(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:s}=wn._parseInt(r.subarray(2)),{d:o,l:a}=wn._parseInt(s);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(e){let t=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=t(r(e.s)),i=t(r(e.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}`}},Er=BigInt(0),Pe=BigInt(1),IR=BigInt(2),rd=BigInt(3),RR=BigInt(4);function XE(e){let t=YE(e),{Fp:r}=t,n=t.toBytes||((d,m,y)=>{let g=m.toAffine();return mr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=t.fromBytes||(d=>{let m=d.subarray(1),y=r.fromBytes(m.subarray(0,r.BYTES)),g=r.fromBytes(m.subarray(r.BYTES,2*r.BYTES));return{x:y,y:g}});function s(d){let{a:m,b:y}=t,g=r.sqr(d),x=r.mul(g,d);return r.add(r.add(x,r.mul(d,m)),y)}if(!r.eql(r.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function o(d){return typeof d=="bigint"&&Er<d&&d<t.n}function a(d){if(!o(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:m,nByteLength:y,wrapPrivateKey:g,n:x}=t;if(m&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=dr(d)),typeof d!="string"||!m.includes(d.length))throw new Error("Invalid key");d=d.padStart(y*2,"0")}let b;try{b=typeof d=="bigint"?d:pr(Dt("private key",d,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof d}`)}return g&&(b=yt(b,x)),a(b),b}let u=new Map;function l(d){if(!(d instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(m,y,g){if(this.px=m,this.py=y,this.pz=g,m==null||!r.isValid(m))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(m){let{x:y,y:g}=m||{};if(!m||!r.isValid(y)||!r.isValid(g))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(y)&&x(g)?f.ZERO:new f(y,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(m){let y=r.invertBatch(m.map(g=>g.pz));return m.map((g,x)=>g.toAffine(y[x])).map(f.fromAffine)}static fromHex(m){let y=f.fromAffine(i(Dt("pointHex",m)));return y.assertValidity(),y}static fromPrivateKey(m){return f.BASE.multiply(c(m))}_setWindowSize(m){this._WINDOW_SIZE=m,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:m,y}=this.toAffine();if(!r.isValid(m)||!r.isValid(y))throw new Error("bad point: x or y not FE");let g=r.sqr(y),x=s(m);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:m}=this.toAffine();if(r.isOdd)return!r.isOdd(m);throw new Error("Field doesn't support isOdd")}equals(m){l(m);let{px:y,py:g,pz:x}=this,{px:b,py:C,pz:_}=m,S=r.eql(r.mul(y,_),r.mul(b,x)),P=r.eql(r.mul(g,_),r.mul(C,x));return S&&P}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:y}=t,g=r.mul(y,rd),{px:x,py:b,pz:C}=this,_=r.ZERO,S=r.ZERO,P=r.ZERO,D=r.mul(x,x),Y=r.mul(b,b),W=r.mul(C,C),H=r.mul(x,b);return H=r.add(H,H),P=r.mul(x,C),P=r.add(P,P),_=r.mul(m,P),S=r.mul(g,W),S=r.add(_,S),_=r.sub(Y,S),S=r.add(Y,S),S=r.mul(_,S),_=r.mul(H,_),P=r.mul(g,P),W=r.mul(m,W),H=r.sub(D,W),H=r.mul(m,H),H=r.add(H,P),P=r.add(D,D),D=r.add(P,D),D=r.add(D,W),D=r.mul(D,H),S=r.add(S,D),W=r.mul(b,C),W=r.add(W,W),D=r.mul(W,H),_=r.sub(_,D),P=r.mul(W,Y),P=r.add(P,P),P=r.add(P,P),new f(_,S,P)}add(m){l(m);let{px:y,py:g,pz:x}=this,{px:b,py:C,pz:_}=m,S=r.ZERO,P=r.ZERO,D=r.ZERO,Y=t.a,W=r.mul(t.b,rd),H=r.mul(y,b),et=r.mul(g,C),pt=r.mul(x,_),Jt=r.add(y,g),T=r.add(b,C);Jt=r.mul(Jt,T),T=r.add(H,et),Jt=r.sub(Jt,T),T=r.add(y,x);let k=r.add(b,_);return T=r.mul(T,k),k=r.add(H,pt),T=r.sub(T,k),k=r.add(g,x),S=r.add(C,_),k=r.mul(k,S),S=r.add(et,pt),k=r.sub(k,S),D=r.mul(Y,T),S=r.mul(W,pt),D=r.add(S,D),S=r.sub(et,D),D=r.add(et,D),P=r.mul(S,D),et=r.add(H,H),et=r.add(et,H),pt=r.mul(Y,pt),T=r.mul(W,T),et=r.add(et,pt),pt=r.sub(H,pt),pt=r.mul(Y,pt),T=r.add(T,pt),H=r.mul(et,T),P=r.add(P,H),H=r.mul(k,T),S=r.mul(Jt,S),S=r.sub(S,H),H=r.mul(Jt,et),D=r.mul(k,D),D=r.add(D,H),new f(S,P,D)}subtract(m){return this.add(m.negate())}is0(){return this.equals(f.ZERO)}wNAF(m){return p.wNAFCached(this,u,m,y=>{let g=r.invertBatch(y.map(x=>x.pz));return y.map((x,b)=>x.toAffine(g[b])).map(f.fromAffine)})}multiplyUnsafe(m){let y=f.ZERO;if(m===Er)return y;if(a(m),m===Pe)return this;let{endo:g}=t;if(!g)return p.unsafeLadder(this,m);let{k1neg:x,k1:b,k2neg:C,k2:_}=g.splitScalar(m),S=y,P=y,D=this;for(;b>Er||_>Er;)b&Pe&&(S=S.add(D)),_&Pe&&(P=P.add(D)),D=D.double(),b>>=Pe,_>>=Pe;return x&&(S=S.negate()),C&&(P=P.negate()),P=new f(r.mul(P.px,g.beta),P.py,P.pz),S.add(P)}multiply(m){a(m);let y=m,g,x,{endo:b}=t;if(b){let{k1neg:C,k1:_,k2neg:S,k2:P}=b.splitScalar(y),{p:D,f:Y}=this.wNAF(_),{p:W,f:H}=this.wNAF(P);D=p.constTimeNegate(C,D),W=p.constTimeNegate(S,W),W=new f(r.mul(W.px,b.beta),W.py,W.pz),g=D.add(W),x=Y.add(H)}else{let{p:C,f:_}=this.wNAF(y);g=C,x=_}return f.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(m,y,g){let x=f.BASE,b=(_,S)=>S===Er||S===Pe||!_.equals(x)?_.multiplyUnsafe(S):_.multiply(S),C=b(this,y).add(b(m,g));return C.is0()?void 0:C}toAffine(m){let{px:y,py:g,pz:x}=this,b=this.is0();m==null&&(m=b?r.ONE:r.inv(x));let C=r.mul(y,m),_=r.mul(g,m),S=r.mul(x,m);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:C,y:_}}isTorsionFree(){let{h:m,isTorsionFree:y}=t;if(m===Pe)return!0;if(y)return y(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:m,clearCofactor:y}=t;return m===Pe?this:y?y(f,this):this.multiplyUnsafe(t.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return dr(this.toRawBytes(m))}}f.BASE=new f(t.Gx,t.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let h=t.nBitLength,p=uo(f,t.endo?Math.ceil(h/2):h);return{CURVE:t,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:o}}function ZE(e){let t=Gi(e);return je(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function nd(e){let t=ZE(e),{Fp:r,n}=t,i=r.BYTES+1,s=2*r.BYTES+1;function o(T){return Er<T&&T<r.ORDER}function a(T){return yt(T,n)}function c(T){return ao(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:h}=XE({...t,toBytes(T,k,L){let N=k.toAffine(),I=r.toBytes(N.x),U=mr;return L?U(Uint8Array.from([k.hasEvenY()?2:3]),I):U(Uint8Array.from([4]),I,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 I=pr(N);if(!o(I))throw new Error("Point is not on curve");let U=f(I),q=r.sqrt(U),G=(q&Pe)===Pe;return(L&1)===1!==G&&(q=r.neg(q)),{x:I,y:q}}else if(k===s&&L===4){let I=r.fromBytes(N.subarray(0,r.BYTES)),U=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:I,y:U}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),p=T=>dr(Ur(T,t.nByteLength));function d(T){let k=n>>Pe;return T>k}function m(T){return d(T)?a(-T):T}let y=(T,k,L)=>pr(T.slice(k,L));class g{constructor(k,L,N){this.r=k,this.s=L,this.recovery=N,this.assertValidity()}static fromCompact(k){let L=t.nByteLength;return k=Dt("compactSignature",k,L*2),new g(y(k,0,L),y(k,L,2*L))}static fromDER(k){let{r:L,s:N}=wn.toSig(Dt("DER",k));return new g(L,N)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(k){return new g(this.r,this.s,k)}recoverPublicKey(k){let{r:L,s:N,recovery:I}=this,U=P(Dt("msgHash",k));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");let q=I===2||I===3?L+t.n:L;if(q>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let G=I&1?"03":"02",j=u.fromHex(G+p(q)),nt=c(q),ht=a(-U*nt),it=a(N*nt),ct=u.BASE.multiplyAndAddUnsafe(j,ht,it);if(!ct)throw new Error("point at infinify");return ct.assertValidity(),ct}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return hn(this.toDERHex())}toDERHex(){return wn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return hn(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=Uc(t.n);return yh(t.randomBytes(T),t.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 C(T){let k=T instanceof Uint8Array,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 _(T,k,L=!0){if(C(T))throw new Error("first arg must be private key");if(!C(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(T)).toRawBytes(L)}let S=t.bits2int||function(T){let k=pr(T),L=T.length*8-t.nBitLength;return L>0?k>>BigInt(L):k},P=t.bits2int_modN||function(T){return a(S(T))},D=zi(t.nBitLength);function Y(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(Er<=T&&T<D))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Ur(T,t.nByteLength)}function W(T,k,L=H){if(["recovered","canonical"].some(Lt=>Lt in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:I}=t,{lowS:U,prehash:q,extraEntropy:G}=L;U==null&&(U=!0),T=Dt("msgHash",T),q&&(T=Dt("prehashed msgHash",N(T)));let j=P(T),nt=l(k),ht=[Y(nt),Y(j)];if(G!=null){let Lt=G===!0?I(r.BYTES):G;ht.push(Dt("extraEntropy",Lt))}let it=mr(...ht),ct=j;function Ft(Lt){let jt=S(Lt);if(!h(jt))return;let te=c(jt),qt=u.BASE.multiply(jt).toAffine(),oe=a(qt.x);if(oe===Er)return;let ar=a(te*a(ct+oe*nt));if(ar===Er)return;let en=(qt.x===oe?0:2)|Number(qt.y&Pe),Di=ar;return U&&d(ar)&&(Di=m(ar),en^=1),new g(oe,Di,en)}return{seed:it,k2sig:Ft}}let H={lowS:t.lowS,prehash:!1},et={lowS:t.lowS,prehash:!1};function pt(T,k,L=H){let{seed:N,k2sig:I}=W(T,k,L),U=t;return Nc(U.hash.outputLen,U.nByteLength,U.hmac)(N,I)}u.BASE._setWindowSize(8);function Jt(T,k,L,N=et){let I=T;if(k=Dt("msgHash",k),L=Dt("publicKey",L),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:U,prehash:q}=N,G,j;try{if(typeof I=="string"||I instanceof Uint8Array)try{G=g.fromDER(I)}catch(qt){if(!(qt instanceof wn.Err))throw qt;G=g.fromCompact(I)}else if(typeof I=="object"&&typeof I.r=="bigint"&&typeof I.s=="bigint"){let{r:qt,s:oe}=I;G=new g(qt,oe)}else throw new Error("PARSE");j=u.fromHex(L)}catch(qt){if(qt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(U&&G.hasHighS())return!1;q&&(k=t.hash(k));let{r:nt,s:ht}=G,it=P(k),ct=c(ht),Ft=a(it*ct),Lt=a(nt*ct),jt=u.BASE.multiplyAndAddUnsafe(j,Ft,Lt)?.toAffine();return jt?a(jt.x)===nt:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:_,sign:pt,verify:Jt,ProjectivePoint:u,Signature:g,utils:x}}var Eo=class extends Jn{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,ih(t);let n=Hi(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,s=new Uint8Array(i);s.set(n.length>i?t.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=t.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(t){return Zn(this),this.iHash.update(t),this}digestInto(t){Zn(this),Rc(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=s,t.blockLen=o,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},lu=(e,t,r)=>new Eo(e,t).update(r).digest();lu.create=(e,t)=>new Eo(e,t);function JE(e){return{hash:e,hmac:(t,...r)=>lu(e,t,eo(...r)),randomBytes:jn}}function id(e,t){let r=n=>nd({...e,...JE(n)});return Object.freeze({...r(t),create:r})}var ad=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),sd=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),jE=BigInt(1),fu=BigInt(2),od=(e,t)=>(e+t/fu)/t;function tb(e){let t=ad,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,l=u*u*e%t,f=It(l,r,t)*l%t,h=It(f,r,t)*l%t,p=It(h,fu,t)*u%t,d=It(p,i,t)*p%t,m=It(d,s,t)*d%t,y=It(m,a,t)*m%t,g=It(y,c,t)*y%t,x=It(g,a,t)*m%t,b=It(x,r,t)*l%t,C=It(b,o,t)*d%t,_=It(C,n,t)*u%t,S=It(_,fu,t);if(!hu.eql(hu.sqr(S),e))throw new Error("Cannot find square root");return S}var hu=co(ad,void 0,void 0,{sqrt:tb}),br=id({a:BigInt(0),b:BigInt(7),Fp:hu,n:sd,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=sd,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-jE*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=od(s*e,t),c=od(-n*e,t),u=yt(e-a*r-c*i,t),l=yt(-a*n-c*s,t),f=u>o,h=l>o;if(f&&(u=t-u),h&&(l=t-l),u>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:f,k1:u,k2neg:h,k2:l}}}},ed),FR=BigInt(0);var KR=br.ProjectivePoint;function cd(){return br.utils.randomPrivateKey()}async function ud(e,t){let{digest:r}=await ee.digest(t);try{return br.sign(r,e).toDERRawBytes()}catch(n){throw new w(String(n),"ERR_INVALID_INPUT")}}async function ld(e,t,r){try{let{digest:n}=await ee.digest(r);return br.verify(t,n,e)}catch(n){throw new w(String(n),"ERR_INVALID_INPUT")}}function fd(e){return br.ProjectivePoint.fromHex(e).toRawBytes(!0)}function hd(e){try{br.getPublicKey(e,!0)}catch(t){throw new w(String(t),"ERR_INVALID_PRIVATE_KEY")}}function du(e){try{br.ProjectivePoint.fromHex(e)}catch(t){throw new w(String(t),"ERR_INVALID_PUBLIC_KEY")}}function dd(e){try{return br.getPublicKey(e,!0)}catch(t){throw new w(String(t),"ERR_INVALID_PRIVATE_KEY")}}var es=class{_key;constructor(t){du(t),this._key=t}async verify(t,r){return ld(this._key,r,t)}marshal(){return fd(this._key)}get bytes(){return tr.encode({Type:Rt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Tt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ee.digest(this.bytes);return t}},rs=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??dd(t),hd(this._key),du(this._publicKey)}async sign(t){return ud(this._key,t)}get public(){return new es(this._publicKey)}marshal(){return this._key}get bytes(){return er.encode({Type:Rt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Tt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ee.digest(this.bytes);return t}async id(){let t=await this.public.hash();return X(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return ni(this.bytes,t);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function rb(e){return new rs(e)}function nb(e){return new es(e)}async function ib(){let e=cd();return new rs(e)}var wr={rsa:cu,ed25519:nu,secp256k1:pu};function mu(e){let t=Object.keys(wr).join(" / ");return new w(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function yu(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return wr[e];throw mu(e)}async function wo(e,t){return yu(e).generateKeyPair(t??2048)}function ns(e){let t=tr.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Rt.RSA:return wr.rsa.unmarshalRsaPublicKey(r);case Rt.Ed25519:return wr.ed25519.unmarshalEd25519PublicKey(r);case Rt.Secp256k1:return wr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw mu(t.Type??"unknown")}}function pd(e,t){return t=(t??"rsa").toLowerCase(),yu(t),e.bytes}async function ai(e){let t=er.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Rt.RSA:return wr.rsa.unmarshalRsaPrivateKey(r);case Rt.Ed25519:return wr.ed25519.unmarshalEd25519PrivateKey(r);case Rt.Secp256k1:return wr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw mu(t.Type??"RSA")}}function md(e,t){return t=(t??"rsa").toLowerCase(),yu(t),e.bytes}async function is(e,t){try{let i=await Uh(e,t);return await ai(i)}catch{}let r=bo.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new w("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=bo.default.asn1.toDer(bo.default.pki.privateKeyToAsn1(r));return n=z(n.getBytes(),"ascii"),wr.rsa.unmarshalRsaPrivateKey(n)}var gu=Symbol.for("@libp2p/content-routing");var ss=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new Eu(t,r))}},xu=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},Eu=globalThis.CustomEvent??xu;var ve=(e,...t)=>{try{[...t]}catch{}};var bu=Symbol.for("@libp2p/peer-discovery");var wu=Symbol.for("@libp2p/peer-routing");var p4=mt(Fs(),1),ob=mt(dt(),1);var gd=mt(Qa(),1),xd=mt(Nt(),1),yd={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function os(e,t,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(yd).join(" / ");throw new w(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=yd[i],o=(0,gd.default)(e,t,r,n,s);return xd.default.encode64(o,null)}var Se=mt(_u(),1);Se.default.formatters.b=e=>e==null?"undefined":Ct.baseEncode(e);Se.default.formatters.t=e=>e==null?"undefined":Ee.baseEncode(e);Se.default.formatters.m=e=>e==null?"undefined":un.baseEncode(e);Se.default.formatters.p=e=>e==null?"undefined":e.toString();Se.default.formatters.c=e=>e==null?"undefined":e.toString();Se.default.formatters.k=e=>e==null?"undefined":e.toString();Se.default.formatters.a=e=>e==null?"undefined":e.toString();function wb(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function rt(e){let t=wb(`${e}:trace`);return Se.default.enabled(`${e}:trace`)&&Se.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,Se.default)(`${e}:trace`)),Object.assign((0,Se.default)(e),{error:(0,Se.default)(`${e}:error`),trace:t})}var Su=Symbol.for("@libp2p/peer-id");function So(e){return e!=null&&!!e[Su]}var vb=Symbol.for("nodejs.util.inspect.custom"),vd=Object.values(Nr).map(e=>e.decoder).reduce((e,t)=>e.or(t),Nr.identity.decoder),_d=114,Au=36,Iu=37,as=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Su]=!0;toString(){return this.string==null&&(this.string=Ct.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ue.createV1(_d,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Tt(this.multihash.bytes,t);if(typeof t=="string")return lt(t).equals(this);if(t?.multihash?.bytes!=null)return Tt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[vb](){return`PeerId(${this.toString()})`}},_n=class extends as{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Sn=class extends as{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},An=class extends as{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Sd(e){if(e.type==="RSA")return new _n(e);if(e.type==="Ed25519")return new Sn(e);if(e.type==="secp256k1")return new An(e);throw new w("Not a PeerId","ERR_INVALID_PARAMETERS")}function lt(e,t){if(t=t??vd,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=ln(Ct.decode(`z${e}`));return e.startsWith("12D")?new Sn({multihash:r}):e.startsWith("16U")?new An({multihash:r}):new _n({multihash:r})}return fi(vd.decode(e))}function fi(e){try{let t=ln(e);if(t.code===Dr.code){if(t.digest.length===Au)return new Sn({multihash:t});if(t.digest.length===Iu)return new An({multihash:t})}if(t.code===ee.code)return new _n({multihash:t})}catch{return _b(Ue.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function _b(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==_d)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===ee.code)return new _n({multihash:e.multihash});if(t.code===Dr.code){if(t.digest.length===Au)return new Sn({multihash:e.multihash});if(t.digest.length===Iu)return new An({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function hi(e,t){return e.length===Au?new Sn({multihash:Je(Dr.code,e),privateKey:t}):e.length===Iu?new An({multihash:Je(Dr.code,e),privateKey:t}):new _n({multihash:await ee.digest(e),publicKey:e,privateKey:t})}var Ao=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");var vr="/",Ad=new TextEncoder().encode(vr),Io=Ad[0],rr=class e{_buf;constructor(t,r){if(typeof t=="string")this._buf=z(t);else if(t instanceof Uint8Array)this._buf=t;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(t="utf8"){return X(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new e(t.join(vr))}static random(){return new e(Ao().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new e(t):typeof t.uint8Array=="function"?new e(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Ad),this._buf[0]!==Io){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Io,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Io;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.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 e.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(vr).slice(1)}type(){return Sb(this.baseNamespace())}name(){return Ab(this.baseNamespace())}instance(t){return new e(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(vr)||(t+=vr),t+=this.type(),new e(t)}parent(){let t=this.list();return t.length===1?new e(vr):new e(t.slice(0,-1).join(vr))}child(t){return this.toString()===vr?t:t.toString()===vr?this:new e(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return e.withNamespaces([...this.namespaces(),...Ib(t.map(r=>r.namespaces()))])}};function Sb(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Ab(e){let t=e.split(":");return t[t.length-1]}function Ib(e){return[].concat(...e)}var Nd=mt(Dd(),1),qr=Nd.default;var Hd=mt($d(),1);var ot;(function(e){e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",e.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",e.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",e.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",e.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",e.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",e.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",e.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",e.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",e.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",e.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",e.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",e.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",e.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(ot||(ot={}));var To=rt("libp2p:keychain"),Hb="/pkcs8/",zd="/info/",In=new WeakMap,Rn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Cu={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function _r(e){return e==null||typeof e!="string"?!1:e===(0,Hd.default)(e.trim())&&e.length>0}async function gt(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function nr(e){return new rr(Hb+e)}function $r(e){return new rr(zd+e)}var Cn=class{components;init;constructor(t,r){if(this.components=t,this.init=qr(Cu,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<Rn.minKeyLength)throw new Error(`dek.keyLength must be least ${Rn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Rn.minSaltLength)throw new Error(`dek.saltLength must be least ${Rn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Rn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Rn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?os(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";In.set(this,{dek:n})}static generateOptions(){let t=Object.assign({},Cu),r=Math.ceil(Rn.minSaltLength/3)*3;return t.dek.salt=X(En(r),"base64"),t}static get options(){return Cu}async createKey(t,r,n=2048){if(!_r(t)||t==="self")throw await gt(),new w("Invalid key name",ot.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await gt(),new w("Invalid key type",ot.ERR_INVALID_KEY_TYPE);let i=nr(t);if(await this.components.datastore.has(i))throw await gt(),new w("Key name already exists",ot.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await gt(),new w("Invalid RSA key size",ot.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await wo(r,n),c=await a.id(),u=In.get(this);if(u==null)throw new w("dek missing",ot.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:t,id:c};let h=this.components.datastore.batch();h.put(i,z(f)),h.put($r(t),z(JSON.stringify(o))),await h.commit()}catch(a){throw await gt(),a}return o}async listKeys(){let t={prefix:zd},r=[];for await(let n of this.components.datastore.query(t))r.push(JSON.parse(X(n.value)));return r}async findKeyById(t){try{let n=(await this.listKeys()).find(i=>i.id===t);if(n==null)throw new w(`Key with id '${t}' does not exist.`,ot.ERR_KEY_NOT_FOUND);return n}catch(r){throw await gt(),r}}async findKeyByName(t){if(!_r(t))throw await gt(),new w(`Invalid key name '${t}'`,ot.ERR_INVALID_KEY_NAME);let r=$r(t);try{let n=await this.components.datastore.get(r);return JSON.parse(X(n))}catch(n){throw await gt(),To.error(n),new w(`Key '${t}' does not exist.`,ot.ERR_KEY_NOT_FOUND)}}async removeKey(t){if(!_r(t)||t==="self")throw await gt(),new w(`Invalid key name '${t}'`,ot.ERR_INVALID_KEY_NAME);let r=nr(t),n=await this.findKeyByName(t),i=this.components.datastore.batch();return i.delete(r),i.delete($r(t)),await i.commit(),n}async renameKey(t,r){if(!_r(t)||t==="self")throw await gt(),new w(`Invalid old key name '${t}'`,ot.ERR_OLD_KEY_NAME_INVALID);if(!_r(r)||r==="self")throw await gt(),new w(`Invalid new key name '${r}'`,ot.ERR_NEW_KEY_NAME_INVALID);let n=nr(t),i=nr(r),s=$r(t),o=$r(r);if(await this.components.datastore.has(i))throw await gt(),new w(`Key '${r}' already exists`,ot.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(s),l=JSON.parse(X(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,z(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await gt(),c}}async exportKey(t,r){if(!_r(t))throw await gt(),new w(`Invalid key name '${t}'`,ot.ERR_INVALID_KEY_NAME);if(r==null)throw await gt(),new w("Password is required",ot.ERR_PASSWORD_REQUIRED);let n=nr(t);try{let i=await this.components.datastore.get(n),s=X(i),o=In.get(this);if(o==null)throw new w("dek missing",ot.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await is(s,a)).export(r)}catch(i){throw await gt(),i}}async exportPeerId(t){let r="temporary-password",n=await this.exportKey(t,r),i=await is(n,r);return hi(i.public.bytes,i.bytes)}async importKey(t,r,n){if(!_r(t)||t==="self")throw await gt(),new w(`Invalid key name '${t}'`,ot.ERR_INVALID_KEY_NAME);if(r==null)throw await gt(),new w("PEM encoded key is required",ot.ERR_PEM_REQUIRED);let i=nr(t);if(await this.components.datastore.has(i))throw await gt(),new w(`Key '${t}' already exists`,ot.ERR_KEY_ALREADY_EXISTS);let o;try{o=await is(r,n)}catch{throw await gt(),new w("Cannot read the key, most likely the password is wrong",ot.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=In.get(this);if(l==null)throw new w("dek missing",ot.ERR_INVALID_PARAMETERS);let f=l.dek;r=await o.export(f)}catch(l){throw await gt(),l}let c={name:t,id:a},u=this.components.datastore.batch();return u.put(i,z(r)),u.put($r(t),z(JSON.stringify(c))),await u.commit(),c}async importPeer(t,r){try{if(!_r(t))throw new w(`Invalid key name '${t}'`,ot.ERR_INVALID_KEY_NAME);if(r==null)throw new w("PeerId is required",ot.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new w("PeerId.privKey is required",ot.ERR_MISSING_PRIVATE_KEY);let n=await ai(r.privateKey),i=nr(t);if(await this.components.datastore.has(i))throw await gt(),new w(`Key '${t}' already exists`,ot.ERR_KEY_ALREADY_EXISTS);let o=In.get(this);if(o==null)throw new w("dek missing",ot.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),u={name:t,id:r.toString()},l=this.components.datastore.batch();return l.put(i,z(c)),l.put($r(t),z(JSON.stringify(u))),await l.commit(),u}catch(n){throw await gt(),n}}async getPrivateKey(t){if(!_r(t))throw await gt(),new w(`Invalid key name '${t}'`,ot.ERR_INVALID_KEY_NAME);try{let r=nr(t),n=await this.components.datastore.get(r);return X(n)}catch(r){throw await gt(),To.error(r),new w(`Key '${t}' does not exist.`,ot.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(t,r){if(typeof t!="string")throw await gt(),new w(`Invalid old pass type '${typeof t}'`,ot.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await gt(),new w(`Invalid new pass type '${typeof r}'`,ot.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await gt(),new w(`Invalid pass length ${r.length}`,ot.ERR_INVALID_PASS_LENGTH);To("recreating keychain");let n=In.get(this);if(n==null)throw new w("dek missing",ot.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?os(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";In.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(nr(a.name)),u=X(c),l=await is(u,i),f=s.toString(),h=await l.export(f),p=this.components.datastore.batch(),d={name:a.name,id:a.id};p.put(nr(a.name),z(h)),p.put($r(a.name),z(JSON.stringify(d))),await p.commit()}To("keychain reconstructed")}};function Sr(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var Ae=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return Sr(this.map.entries(),t=>[lt(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,lt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return Sr(this.map.keys(),t=>lt(t))}values(){return this.map.values()}get size(){return this.map.size}};var Tn=class e{set;constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return Sr(this.set.entries(),t=>{let r=lt(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=lt(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return Sr(this.set.values(),t=>lt(t))}intersection(t){let r=new e;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new e;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new e;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var Tu=class e{list;constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return Sr(this.list.entries(),t=>lt(t[1]))}concat(t){let r=new e(this);for(let n of t)r.push(n);return r}entries(){return Sr(this.list.entries(),t=>[t[0],lt(t[1])])}every(t){return this.list.every((r,n)=>t(lt(r),n,this))}filter(t){let r=new e;return this.list.forEach((n,i)=>{let s=lt(n);t(s,i,this)&&r.push(s)}),r}find(t){let r=this.list.find((n,i)=>t(lt(n),i,this));if(r!=null)return lt(r)}findIndex(t){return this.list.findIndex((r,n)=>t(lt(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(lt(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return lt(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return lt(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var Bu;(function(e){let t;e.codec=()=>(t==null&&(t=ie((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})),t),e.encode=r=>ne(r,e.codec()),e.decode=r=>re(r,e.codec())})(Bu||(Bu={}));var Gd=async()=>{let e=await wo("Ed25519"),t=await zb(e);if(t.type==="Ed25519")return t;throw new Error(`Generated unexpected PeerId type "${t.type}"`)};async function zb(e){return hi(pd(e.public),md(e))}var Gb=Math.pow(2,7),Yb=Math.pow(2,14),Wb=Math.pow(2,21),Lu=Math.pow(2,28),Pu=Math.pow(2,35),Du=Math.pow(2,42),Nu=Math.pow(2,49),ft=128,ue=127;function ge(e){if(e<Gb)return 1;if(e<Yb)return 2;if(e<Wb)return 3;if(e<Lu)return 4;if(e<Pu)return 5;if(e<Du)return 6;if(e<Nu)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Qb(e,t,r=0){switch(ge(e)){case 8:t[r++]=e&255|ft,e/=128;case 7:t[r++]=e&255|ft,e/=128;case 6:t[r++]=e&255|ft,e/=128;case 5:t[r++]=e&255|ft,e/=128;case 4:t[r++]=e&255|ft,e>>>=7;case 3:t[r++]=e&255|ft,e>>>=7;case 2:t[r++]=e&255|ft,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Xb(e,t,r=0){switch(ge(e)){case 8:t.set(r++,e&255|ft),e/=128;case 7:t.set(r++,e&255|ft),e/=128;case 6:t.set(r++,e&255|ft),e/=128;case 5:t.set(r++,e&255|ft),e/=128;case 4:t.set(r++,e&255|ft),e>>>=7;case 3:t.set(r++,e&255|ft),e>>>=7;case 2:t.set(r++,e&255|ft),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Zb(e,t){let r=e[t],n=0;if(n+=r&ue,r<ft||(r=e[t+1],n+=(r&ue)<<7,r<ft)||(r=e[t+2],n+=(r&ue)<<14,r<ft)||(r=e[t+3],n+=(r&ue)<<21,r<ft)||(r=e[t+4],n+=(r&ue)*Lu,r<ft)||(r=e[t+5],n+=(r&ue)*Pu,r<ft)||(r=e[t+6],n+=(r&ue)*Du,r<ft)||(r=e[t+7],n+=(r&ue)*Nu,r<ft))return n;throw new RangeError("Could not decode varint")}function Jb(e,t){let r=e.get(t),n=0;if(n+=r&ue,r<ft||(r=e.get(t+1),n+=(r&ue)<<7,r<ft)||(r=e.get(t+2),n+=(r&ue)<<14,r<ft)||(r=e.get(t+3),n+=(r&ue)<<21,r<ft)||(r=e.get(t+4),n+=(r&ue)*Lu,r<ft)||(r=e.get(t+5),n+=(r&ue)*Pu,r<ft)||(r=e.get(t+6),n+=(r&ue)*Du,r<ft)||(r=e.get(t+7),n+=(r&ue)*Nu,r<ft))return n;throw new RangeError("Could not decode varint")}function De(e,t,r=0){return t==null&&(t=ae(ge(e))),t instanceof Uint8Array?Qb(e,t,r):Xb(e,t,r)}function Ar(e,t=0){return e instanceof Uint8Array?Zb(e,t):Jb(e,t)}var Wd=Symbol.for("@achingbrain/uint8arraylist");function Yd(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function Bo(e){return!!e?.[Wd]}var Qt=class e{constructor(...t){Object.defineProperty(this,Wd,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Bo(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Bo(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=Yd(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Yd(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(Bo(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return kt(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:kt(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),s=new e;return s.length=i,s.bufs=n,s}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],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,t>=c)continue;let u=t>=a&&t<c,l=r>a&&r<=c;if(u&&l){if(t===a&&r===c){n.push(o);break}let f=t-a;n.push(o.subarray(f,f+(r-t)));break}if(u){if(t===0){n.push(o);continue}n.push(o.subarray(t-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-t}}indexOf(t,r=0){if(!Bo(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let 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 h=u;h>=0;h--){let p=this.get(f+h);if(n[h]!==p){l=Math.max(1,h-a[p]);break}}if(l===0)return f}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=ae(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=hr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=hr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=hr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=ae(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=hr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=hr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=hr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=hr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=hr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Tt(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};var Qd={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var us;(function(e){let t;e.codec=()=>(t==null&&(t=ie((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})),t),e.encode=r=>ne(r,e.codec()),e.decode=r=>re(r,e.codec())})(us||(us={}));var mi=class e{static createFromProtobuf=async t=>{let r=us.decode(t),n=await hi(r.publicKey);return new e({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(t,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=t.domain,i=t.codec,s=t.marshal(),o=Xd(n,i,s),c=await(await ai(r.privateKey)).sign(o.subarray());return new e({peerId:r,payloadType:i,payload:s,signature:c})};static openAndCertify=async(t,r)=>{let n=await e.createFromProtobuf(t);if(!await n.validate(r))throw new w("envelope signature is not valid for the given domain",Qd.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(t){let{peerId:r,payloadType:n,payload:i,signature:s}=t;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=us.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return Tt(this.marshal(),t.marshal())}async validate(t){let r=Xd(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return ns(this.peerId.publicKey).verify(r.subarray(),this.signature)}},Xd=(e,t,r)=>{let n=z(e),i=De(n.byteLength),s=De(t.length),o=De(r.length);return new Qt(i,n,s,t,o,r)};function Zd(e,t){let r=(n,i)=>n.toString().localeCompare(i.toString());return e.length!==t.length?!1:(t.sort(r),e.sort(r).every((n,i)=>t[i].equals(n)))}var Lo=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,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 h=Number.parseInt(f,t);if(!Number.isNaN(h))return h});if(l===void 0)break;if(s*=t,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 t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let 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]=t(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]=t(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Jd=45,jb=15,yi=new Lo;function ku(e){if(!(e.length>jb))return yi.new(e).parseWith(()=>yi.readIPv4Addr())}function Ou(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Jd))return yi.new(e).parseWith(()=>yi.readIPv6Addr())}function Po(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Jd))return yi.new(e).parseWith(()=>yi.readIPAddr())}var sC=parseInt("0xFFFF",16),oC=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Do(e){return!!ku(e)}function No(e){return!!Ou(e)}function gi(e){return!!Po(e)}var ep=Do,iw=No,Mu=function(e){let t=0;if(e=e.toString().trim(),ep(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(iw(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=ep(r[n]),o;s&&(o=Mu(r[n]),r[n]=X(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,X(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(t+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[t++]=s>>8&255,i[t++]=s&255}return i}throw new Error("invalid ip address")},rp=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(e[t+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(t+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var xi={},Uu={},ow=[[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"]];ow.forEach(e=>{let t=aw(...e);Uu[t.code]=t,xi[t.name]=t});function aw(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function xt(e){if(typeof e=="number"){if(Uu[e]!=null)return Uu[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(xi[e]!=null)return xi[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var $C=xt("ip4"),HC=xt("ip6"),zC=xt("ipcidr");function Ku(e,t){switch(xt(e).code){case 4:case 41:return uw(t);case 42:return sp(t);case 6:case 273:case 33:case 132:return ap(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return sp(t);case 421:return dw(t);case 444:return op(t);case 445:return op(t);case 466:return hw(t);default:return X(t,"base16")}}function Vu(e,t){switch(xt(e).code){case 4:return np(t);case 41:return np(t);case 42:return ip(t);case 6:case 273:case 33:case 132:return qu(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ip(t);case 421:return lw(t);case 444:return pw(t);case 445:return mw(t);case 466:return fw(t);default:return z(t,"base16")}}var Fu=Object.values(Nr).map(e=>e.decoder),cw=function(){let e=Fu[0].or(Fu[1]);return Fu.slice(2).forEach(t=>e=e.or(t)),e}();function np(e){if(!gi(e))throw new Error("invalid ip address");return Mu(e)}function uw(e){let t=rp(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!gi(t))throw new Error("invalid ip address");return t}function qu(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function ap(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function ip(e){let t=z(e),r=Uint8Array.from(De(t.length));return kt([r,t],r.length+t.length)}function sp(e){let t=Ar(e);if(e=e.slice(ge(t)),e.length!==t)throw new Error("inconsistent lengths");return X(e)}function lw(e){let t;e[0]==="Q"||e[0]==="1"?t=ln(Ct.decode(`z${e}`)).bytes:t=Ue.parse(e).multihash.bytes;let r=Uint8Array.from(De(t.length));return kt([r,t],r.length+t.length)}function fw(e){let t=cw.decode(e),r=Uint8Array.from(De(t.length));return kt([r,t],r.length+t.length)}function hw(e){let t=Ar(e),r=e.slice(ge(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+X(r,"base64url")}function dw(e){let t=Ar(e),r=e.slice(ge(t));if(r.length!==t)throw new Error("inconsistent lengths");return X(r,"base58btc")}function pw(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=Ee.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=qu(n);return kt([r,i],r.length+i.length)}function mw(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Ee.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=qu(n);return kt([r,i],r.length+i.length)}function op(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=X(t,"base32"),i=ap(r);return`${n}:${i}`}function cp(e){e=$u(e);let t=[],r=[],n=null,i=e.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=xt(o);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw lp("invalid address: "+e);if(a.path===!0){n=$u(i.slice(s).join("/")),t.push([a.code,Vu(a.code,n)]),r.push([a.code,n]);break}let c=Vu(a.code,i[s]);t.push([a.code,c]),r.push([a.code,Ku(a.code,c)])}return{string:up(r),bytes:zu(t),tuples:t,stringTuples:r,path:n}}function Hu(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let s=Ar(e,i),o=ge(s),a=xt(s),c=yw(a,e.slice(i+o));if(c===0){t.push([s]),r.push([s]),i+=o;continue}let u=e.slice(i+o,i+o+c);if(i+=c+o,i>e.length)throw lp("Invalid address Uint8Array: "+X(e,"base16"));t.push([s,u]);let l=Ku(s,u);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(e),string:up(r),tuples:t,stringTuples:r,path:n}}function up(e){let t=[];return e.map(r=>{let n=xt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),$u(t.join("/"))}function zu(e){return kt(e.map(t=>{let r=xt(t[0]),n=Uint8Array.from(De(r.code));return t.length>1&&t[1]!=null&&(n=kt([n,t[1]])),n}))}function yw(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=Ar(t instanceof Uint8Array?t:Uint8Array.from(t));return r+ge(r)}}function $u(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function lp(e){return new Error("Error parsing address: "+e)}var gw=Symbol.for("nodejs.util.inspect.custom"),xw=[xt("dns").code,xt("dns4").code,xt("dns6").code,xt("dnsaddr").code],Yu=new Map,fp=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Bn(e){return!!e?.[fp]}var Gu=class e{bytes;#t;#e;#r;#n;[fp]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Hu(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=cp(t)}else if(Bn(t))r=Hu(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,i,s="",o=xt("tcp"),a=xt("udp"),c=xt("ip4"),u=xt("ip6"),l=xt("dns6"),f=xt("ip6zone");for(let[p,d]of this.stringTuples())p===f.code&&(s=`%${d??""}`),xw.includes(p)&&(r=o.name,i=443,n=`${d??""}${s}`,t=p===l.code?6:4),(p===o.code||p===a.code)&&(r=xt(p).name,i=parseInt(d??"")),(p===c.code||p===u.code)&&(r=xt(p).name,n=`${d??""}${s}`,t=p===u.code?6:4);if(t==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:t,host:n,transport:r,port:i}}protos(){return this.#e.map(([t])=>Object.assign({},xt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>xt(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(zu(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===xi.p2p.code&&t.push([n,i]),n===xi["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?X(Ct.decode(`z${n}`),"base58btc"):X(Ue.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Tt(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Yu.get(r.name);if(n==null)throw new w(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new e(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[gw](){return`Multiaddr(${this.#t})`}};function Ht(e){return new Gu(e)}var hp="libp2p-peer-record",dp=Uint8Array.from([3,1]);var ls;(function(e){let t;(function(n){let i;n.codec=()=>(i==null&&(i=ie((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=>ne(s,n.codec()),n.decode=s=>re(s,n.codec())})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=ie((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),e.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(e.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),e.encode=n=>ne(n,e.codec()),e.decode=n=>re(n,e.codec())})(ls||(ls={}));var Ln=class e{static createFromProtobuf=t=>{let r=ls.decode(t),n=fi(r.peerId),i=(r.addresses??[]).map(o=>Ht(o.multiaddr)),s=r.seq;return new e({peerId:n,multiaddrs:i,seqNumber:s})};static DOMAIN=hp;static CODEC=dp;peerId;multiaddrs;seqNumber;domain=e.DOMAIN;codec=e.CODEC;marshaled;constructor(t){let{peerId:r,multiaddrs:n,seqNumber:i}=t;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=ls.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof e)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!Zd(this.multiaddrs,t.multiaddrs))}};function Ew(e){return e[Symbol.asyncIterator]!=null}function bw(e){if(Ew(e))return(async()=>{let r=[];for await(let n of e)r.push(n);return r})();let t=[];for(let r of e)t.push(r);return t}var fs=bw;var Qu=mt(mp(),1);var ds=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Xu=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},yp=e=>globalThis.DOMException===void 0?new Xu(e):new DOMException(e),gp=e=>{let t=e.reason===void 0?yp("This operation was aborted."):e.reason;return t instanceof Error?t:yp(t)};function Zu(e,t,r,n){let i,s=new Promise((o,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){o(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(gp(c)),c.addEventListener("abort",()=>{a(gp(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,u=r instanceof Error?r:new ds(c);typeof e.cancel=="function"&&e.cancel(),a(u)},t),(async()=>{try{o(await e)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Ju(e,t,r){let n=0,i=e.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(e[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var Pn=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Ir,ju=class{constructor(){Ir.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Pn(this,Ir,"f")[this.size-1].priority>=r.priority){Pn(this,Ir,"f").push(n);return}let i=Ju(Pn(this,Ir,"f"),n,(s,o)=>o.priority-s.priority);Pn(this,Ir,"f").splice(i,0,n)}dequeue(){let t=Pn(this,Ir,"f").shift();return t?.run}filter(t){return Pn(this,Ir,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Pn(this,Ir,"f").length}};Ir=new WeakMap;var xp=ju;var Bt=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},K=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Ot,ms,ys,zr,Vo,gs,Oo,$e,ps,Ie,Mo,Re,xs,Hr,Uo,Ep,bp,_p,wp,vp,Fo,tl,el,qo,Sp,Ko,$o=class extends Error{},rl=class extends Qu.default{constructor(t){var r,n,i,s;if(super(),Ot.add(this),ms.set(this,void 0),ys.set(this,void 0),zr.set(this,0),Vo.set(this,void 0),gs.set(this,void 0),Oo.set(this,0),$e.set(this,void 0),ps.set(this,void 0),Ie.set(this,void 0),Mo.set(this,void 0),Re.set(this,0),xs.set(this,void 0),Hr.set(this,void 0),Uo.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:xp,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof t.interval})`);Bt(this,ms,t.carryoverConcurrencyCount,"f"),Bt(this,ys,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),Bt(this,Vo,t.intervalCap,"f"),Bt(this,gs,t.interval,"f"),Bt(this,Ie,new t.queueClass,"f"),Bt(this,Mo,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,Bt(this,Uo,t.throwOnTimeout===!0,"f"),Bt(this,Hr,t.autoStart===!1,"f")}get concurrency(){return K(this,xs,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);Bt(this,xs,t,"f"),K(this,Ot,"m",qo).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:K(this,Uo,"f"),...r},new Promise((n,i)=>{K(this,Ie,"f").enqueue(async()=>{var s,o,a;Bt(this,Re,(o=K(this,Re,"f"),o++,o),"f"),Bt(this,zr,(a=K(this,zr,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new $o("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=Zu(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,K(this,Ot,"m",Sp).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof ds&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{K(this,Ot,"m",_p).call(this)}},r),this.emit("add"),K(this,Ot,"m",Fo).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return K(this,Hr,"f")?(Bt(this,Hr,!1,"f"),K(this,Ot,"m",qo).call(this),this):this}pause(){Bt(this,Hr,!0,"f")}clear(){Bt(this,Ie,new(K(this,Mo,"f")),"f")}async onEmpty(){K(this,Ie,"f").size!==0&&await K(this,Ot,"m",Ko).call(this,"empty")}async onSizeLessThan(t){K(this,Ie,"f").size<t||await K(this,Ot,"m",Ko).call(this,"next",()=>K(this,Ie,"f").size<t)}async onIdle(){K(this,Re,"f")===0&&K(this,Ie,"f").size===0||await K(this,Ot,"m",Ko).call(this,"idle")}get size(){return K(this,Ie,"f").size}sizeBy(t){return K(this,Ie,"f").filter(t).length}get pending(){return K(this,Re,"f")}get isPaused(){return K(this,Hr,"f")}};ms=new WeakMap,ys=new WeakMap,zr=new WeakMap,Vo=new WeakMap,gs=new WeakMap,Oo=new WeakMap,$e=new WeakMap,ps=new WeakMap,Ie=new WeakMap,Mo=new WeakMap,Re=new WeakMap,xs=new WeakMap,Hr=new WeakMap,Uo=new WeakMap,Ot=new WeakSet,Ep=function(){return K(this,ys,"f")||K(this,zr,"f")<K(this,Vo,"f")},bp=function(){return K(this,Re,"f")<K(this,xs,"f")},_p=function(){var t;Bt(this,Re,(t=K(this,Re,"f"),t--,t),"f"),K(this,Ot,"m",Fo).call(this),this.emit("next")},wp=function(){K(this,Ot,"m",el).call(this),K(this,Ot,"m",tl).call(this),Bt(this,ps,void 0,"f")},vp=function(){let t=Date.now();if(K(this,$e,"f")===void 0){let r=K(this,Oo,"f")-t;if(r<0)Bt(this,zr,K(this,ms,"f")?K(this,Re,"f"):0,"f");else return K(this,ps,"f")===void 0&&Bt(this,ps,setTimeout(()=>{K(this,Ot,"m",wp).call(this)},r),"f"),!0}return!1},Fo=function(){if(K(this,Ie,"f").size===0)return K(this,$e,"f")&&clearInterval(K(this,$e,"f")),Bt(this,$e,void 0,"f"),this.emit("empty"),K(this,Re,"f")===0&&this.emit("idle"),!1;if(!K(this,Hr,"f")){let t=!K(this,Ot,"a",vp);if(K(this,Ot,"a",Ep)&&K(this,Ot,"a",bp)){let r=K(this,Ie,"f").dequeue();return r?(this.emit("active"),r(),t&&K(this,Ot,"m",tl).call(this),!0):!1}}return!1},tl=function(){K(this,ys,"f")||K(this,$e,"f")!==void 0||(Bt(this,$e,setInterval(()=>{K(this,Ot,"m",el).call(this)},K(this,gs,"f")),"f"),Bt(this,Oo,Date.now()+K(this,gs,"f"),"f"))},el=function(){K(this,zr,"f")===0&&K(this,Re,"f")===0&&K(this,$e,"f")&&(clearInterval(K(this,$e,"f")),Bt(this,$e,void 0,"f")),Bt(this,zr,K(this,ms,"f")?K(this,Re,"f"):0,"f"),K(this,Ot,"m",qo).call(this)},qo=function(){for(;K(this,Ot,"m",Fo).call(this););},Sp=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new $o("The task was aborted."))},{once:!0})})},Ko=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var Gr=rl;var nl=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},il=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Ap=e=>globalThis.DOMException===void 0?new il(e):new DOMException(e),Ip=e=>{let t=e.reason===void 0?Ap("This operation was aborted."):e.reason;return t instanceof Error?t:Ap(t)};function sl(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=t,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(t.signal){let{signal:h}=t;h.aborted&&l(Ip(h)),h.addEventListener("abort",()=>{l(Ip(h))})}if(r===Number.POSITIVE_INFINITY){e.then(u,l);return}let f=new nl;o=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){l(h)}return}typeof e.cancel=="function"&&e.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 e)}catch(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}var ol="lock:worker:request-read",al="lock:worker:release-read",cl="lock:master:grant-read",ul="lock:worker:request-write",ll="lock:worker:release-write",fl="lock:master:grant-write";var Yr={},Ei=e=>{e.addEventListener("message",t=>{Ei.dispatchEvent("message",e,t)}),e.port!=null&&e.port.addEventListener("message",t=>{Ei.dispatchEvent("message",e,t)})};Ei.addEventListener=(e,t)=>{Yr[e]==null&&(Yr[e]=[]),Yr[e].push(t)};Ei.removeEventListener=(e,t)=>{Yr[e]!=null&&(Yr[e]=Yr[e].filter(r=>r===t))};Ei.dispatchEvent=function(e,t,r){Yr[e]!=null&&Yr[e].forEach(n=>n(t,r))};var hl=Ei;var Rp=(e,t,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};e.dispatchEvent(new MessageEvent(t,{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)}))}}))},Cp=(e,t,r,n)=>async()=>{let i=Ao();return globalThis.postMessage({type:t,identifier:i,name:e}),await 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:e})}))};globalThis.addEventListener("message",o)})},_w={singleProcess:!1},Tp=e=>{if(e=Object.assign({},_w,e),!!globalThis.document||e.singleProcess){let r=new EventTarget;return hl.addEventListener("message",Rp(r,"requestReadLock",ol,al,cl)),hl.addEventListener("message",Rp(r,"requestWriteLock",ul,ll,fl)),r}return{isWorker:!0,readLock:r=>Cp(r,ol,cl,al),writeLock:r=>Cp(r,ul,fl,ll)}};var Dn={},Wr;async function dl(e,t){let r,n=new Promise(i=>{r=i});return e.add(async()=>await sl((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:t.timeout})),await n}var Sw=(e,t)=>{if(Wr.isWorker===!0)return{readLock:Wr.readLock(e,t),writeLock:Wr.writeLock(e,t)};let r=new Gr({concurrency:1}),n;return{async readLock(){if(n!=null)return await dl(n,t);n=new Gr({concurrency:t.concurrency,autoStart:!1});let i=n,s=dl(n,t);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await dl(r,t)}}},Aw={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function pl(e){let t=Object.assign({},Aw,e);return Wr==null&&(Wr=Tp(t),Wr.isWorker!==!0&&(Wr.addEventListener("requestReadLock",r=>{Dn[r.data.name]!=null&&Dn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Wr.addEventListener("requestWriteLock",async r=>{Dn[r.data.name]!=null&&Dn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Dn[t.name]==null&&(Dn[t.name]=Sw(t.name,t)),Dn[t.name]}var se={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var bi;(function(e){let t;(function(i){let s;i.codec=()=>(s==null&&(s=ie((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=>ne(o,i.codec()),i.decode=o=>re(o,i.codec())})(t=e.Peer$metadataEntry||(e.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=ie((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),zo.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=zo.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>ne(o,i.codec()),i.decode=o=>re(o,i.codec())})(r=e.Peer$tagsEntry||(e.Peer$tagsEntry={}));let n;e.codec=()=>(n==null&&(n=ie((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),Ho.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),e.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),e.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(Ho.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=e.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=e.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),e.encode=i=>ne(i,e.codec()),e.decode=i=>re(i,e.codec())})(bi||(bi={}));var Ho;(function(e){let t;e.codec=()=>(t==null&&(t=ie((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})),t),e.encode=r=>ne(r,e.codec()),e.decode=r=>re(r,e.codec())})(Ho||(Ho={}));var zo;(function(e){let t;e.codec=()=>(t==null&&(t=ie((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})),t),e.encode=r=>ne(r,e.codec()),e.decode=r=>re(r,e.codec())})(zo||(zo={}));function wi(e,t){let r=bi.decode(t);r.publicKey!=null&&e.publicKey==null&&(e=Sd({...e,publicKey:e.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:e,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:Ht(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var ml="/peers/";function vi(e){if(!So(e)||e.type==null)throw new w("Invalid PeerId",se.ERR_INVALID_PARAMETERS);let t=e.toCID().toString();return new rr(`${ml}${t}`)}async function Bp(e,t,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ht(i.multiaddr)),!Bn(i.multiaddr))throw new w("Multiaddr was invalid",se.ERR_INVALID_PARAMETERS);if(!await t(e,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 Yo(e,t,r,n){if(t==null)throw new w("Invalid PeerData",se.ERR_INVALID_PARAMETERS);if(t.publicKey!=null&&e.publicKey!=null&&!Tt(t.publicKey,e.publicKey))throw new w("publicKey bytes do not match peer id publicKey bytes",se.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!e.equals(i.id))throw new w("peer id did not match existing peer id",se.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((t.multiaddrs!=null||t.addresses!=null)&&(s=[],t.multiaddrs!=null&&s.push(...t.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),t.addresses!=null&&s.push(...t.addresses)),t.protocols!=null&&(o=new Set(t.protocols)),t.metadata!=null){let f=t.metadata instanceof Map?[...t.metadata.entries()]:Object.entries(t.metadata);a=Go(f,{validate:Lp})}if(t.tags!=null){let f=t.tags instanceof Map?[...t.tags.entries()]:Object.entries(t.tags);c=Go(f,{validate:Pp,map:Dp})}t.peerRecordEnvelope!=null&&(u=t.peerRecordEnvelope)}if(r==="merge"){if(t.multiaddrs!=null&&s.push(...t.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),t.addresses!=null&&s.push(...t.addresses),t.protocols!=null&&(o=new Set([...o,...t.protocols])),t.metadata!=null){let f=t.metadata instanceof Map?[...t.metadata.entries()]:Object.entries(t.metadata);for(let[h,p]of f)p==null?a.delete(h):a.set(h,p);a=Go([...a.entries()],{validate:Lp})}if(t.tags!=null){let f=t.tags instanceof Map?[...t.tags.entries()]:Object.entries(t.tags),h=new Map(c);for(let[p,d]of f)d==null?h.delete(p):h.set(p,d);c=Go([...h.entries()],{validate:Pp,map:Dp})}t.peerRecordEnvelope!=null&&(u=t.peerRecordEnvelope)}let l={addresses:await Bp(e,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??t.publicKey??e.publicKey,peerRecordEnvelope:u};return e.type!=="RSA"&&delete l.publicKey,l}function Go(e,t){let r=new Map;for(let[n,i]of e)i!=null&&t.validate(n,i);for(let[n,i]of e.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,t.map?.(n,i)??i);return r}function Lp(e,t){if(typeof e!="string")throw new w("Metadata key must be a string",se.ERR_INVALID_PARAMETERS);if(!(t instanceof Uint8Array))throw new w("Metadata value must be a Uint8Array",se.ERR_INVALID_PARAMETERS)}function Pp(e,t){if(typeof e!="string")throw new w("Tag name must be a string",se.ERR_INVALID_PARAMETERS);if(t.value!=null){if(parseInt(`${t.value}`,10)!==t.value)throw new w("Tag value must be an integer",se.ERR_INVALID_PARAMETERS);if(t.value<0||t.value>100)throw new w("Tag value must be between 0-100",se.ERR_INVALID_PARAMETERS)}if(t.ttl!=null){if(parseInt(`${t.ttl}`,10)!==t.ttl)throw new w("Tag ttl must be an integer",se.ERR_INVALID_PARAMETERS);if(t.ttl<0)throw new w("Tag ttl must be between greater than 0",se.ERR_INVALID_PARAMETERS)}}function Dp(e,t){let r;return t.expiry!=null&&(r=t.expiry),t.ttl!=null&&(r=BigInt(Date.now()+Number(t.ttl))),{value:t.value??0,expiry:r}}function Wo(e,t,r){let n=e.toString().split("/")[2],i=Ee.decode(n),s=fi(i),o=r.get(s);if(o!=null)return o;let a=wi(s,t);return r.set(s,a),a}function Iw(e,t){return e==null?{}:{prefix:ml,filters:(e.filters??[]).map(r=>({key:n,value:i})=>r(Wo(n,i,t))),orders:(e.orders??[]).map(r=>(n,i)=>r(Wo(n.key,n.value,t),Wo(i.key,i.value,t)))}}var Qo=class{peerId;datastore;lock;addressFilter;constructor(t,r={}){this.peerId=t.peerId,this.datastore=t.datastore,this.addressFilter=r.addressFilter,this.lock=pl({name:"peer-store",singleProcess:!0})}async has(t){return this.datastore.has(vi(t))}async delete(t){if(this.peerId.equals(t))throw new w("Cannot delete self peer",se.ERR_INVALID_PARAMETERS);await this.datastore.delete(vi(t))}async load(t){let r=await this.datastore.get(vi(t));return wi(t,r)}async save(t,r){let{existingBuf:n,existingPeer:i}=await this.#t(t),s=await Yo(t,r,"patch",{addressFilter:this.addressFilter});return this.#e(t,s,n,i)}async patch(t,r){let{existingBuf:n,existingPeer:i}=await this.#t(t),s=await Yo(t,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#e(t,s,n,i)}async merge(t,r){let{existingBuf:n,existingPeer:i}=await this.#t(t),s=await Yo(t,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#e(t,s,n,i)}async*all(t){let r=new Ae;for await(let{key:n,value:i}of this.datastore.query(Iw(t??{},r))){let s=Wo(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#t(t){try{let r=await this.datastore.get(vi(t)),n=wi(t,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#e(t,r,n,i){let s=bi.encode(r);return n!=null&&Tt(s,n)?{peer:wi(t,s),previous:i,updated:!1}:(await this.datastore.put(vi(t),s),{peer:wi(t,s),previous:i,updated:!0})}};var wt=rt("libp2p:peer-store"),Xo=class{store;events;peerId;constructor(t,r={}){this.events=t.events,this.peerId=t.peerId,this.store=new Qo(t,r)}async forEach(t,r){wt.trace("forEach await read lock");let n=await this.store.lock.readLock();wt.trace("forEach got read lock");try{for await(let i of this.store.all(r))t(i)}finally{wt.trace("forEach release read lock"),n()}}async all(t){wt.trace("all await read lock");let r=await this.store.lock.readLock();wt.trace("all got read lock");try{return await fs(this.store.all(t))}finally{wt.trace("all release read lock"),r()}}async delete(t){wt.trace("delete await write lock");let r=await this.store.lock.writeLock();wt.trace("delete got write lock");try{await this.store.delete(t)}finally{wt.trace("delete release write lock"),r()}}async has(t){wt.trace("has await read lock");let r=await this.store.lock.readLock();wt.trace("has got read lock");try{return await this.store.has(t)}finally{wt.trace("has release read lock"),r()}}async get(t){wt.trace("get await read lock");let r=await this.store.lock.readLock();wt.trace("get got read lock");try{return await this.store.load(t)}finally{wt.trace("get release read lock"),r()}}async save(t,r){wt.trace("save await write lock");let n=await this.store.lock.writeLock();wt.trace("save got write lock");try{let i=await this.store.save(t,r);return this.#t(t,i),i.peer}finally{wt.trace("save release write lock"),n()}}async patch(t,r){wt.trace("patch await write lock");let n=await this.store.lock.writeLock();wt.trace("patch got write lock");try{let i=await this.store.patch(t,r);return this.#t(t,i),i.peer}finally{wt.trace("patch release write lock"),n()}}async merge(t,r){wt.trace("merge await write lock");let n=await this.store.lock.writeLock();wt.trace("merge got write lock");try{let i=await this.store.merge(t,r);return this.#t(t,i),i.peer}finally{wt.trace("merge release write lock"),n()}}async consumePeerRecord(t,r){let n=await mi.openAndCertify(t,Ln.DOMAIN);if(r?.equals(n.peerId)===!1)return wt("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=Ln.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 mi.createFromProtobuf(s.peerRecordEnvelope),a=Ln.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return wt("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:t,addresses:i.multiaddrs.map(o=>({isCertified:!0,multiaddr:o}))}),!0}#t(t,r){r.updated&&(this.peerId.equals(t)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function Rw(e){return e[Symbol.asyncIterator]!=null}function Cw(e){if(Rw(e))return(async()=>{for await(let t of e);})();for(let t of e);}var yl=Cw;function Tw(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[r](){return this}}}var Zo=Tw;function Bw(e){return e[Symbol.asyncIterator]!=null}function Lw(e,t){if(Bw(e))return async function*(){for await(let a of e)await t(a)&&(yield a)}();let r=Zo(e),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=t(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await t(a)&&(yield a)}();let o=t;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var He=Lw;function Pw(e){return e[Symbol.asyncIterator]!=null}function Dw(e,t){return Pw(e)?async function*(){yield*(await fs(e)).sort(t)}():function*(){yield*fs(e).sort(t)}()}var gl=Dw;function Nw(e){return e[Symbol.asyncIterator]!=null}function kw(e,t){return Nw(e)?async function*(){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}():function*(){let r=0;if(!(t<1)){for(let n of e)if(yield n,r++,r===t)return}}()}var xl=kw;var Jo=class{put(t,r,n){return Promise.reject(new Error(".put is not implemented"))}get(t,r){return Promise.reject(new Error(".get is not implemented"))}has(t,r){return Promise.reject(new Error(".has is not implemented"))}delete(t,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,r={}){for await(let{key:n,value:i}of t)await this.put(n,i,r),yield n}async*getMany(t,r={}){for await(let n of t)yield{key:n,value:await this.get(n,r)}}async*deleteMany(t,r={}){for await(let n of t)await this.delete(n,r),yield n}batch(){let t=[],r=[];return{put(n,i){t.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await yl(this.putMany(t,n)),t=[],await yl(this.deleteMany(r,n)),r=[]}}}async*_all(t,r){throw new Error("._all is not implemented")}async*_allKeys(t,r){throw new Error("._allKeys is not implemented")}query(t,r){let n=this._all(t,r);if(t.prefix!=null){let i=t.prefix;n=He(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>He(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>gl(i,s),n)),t.offset!=null){let i=0,s=t.offset;n=He(n,()=>i++>=s)}return t.limit!=null&&(n=xl(n,t.limit)),n}queryKeys(t,r){let n=this._allKeys(t,r);if(t.prefix!=null){let i=t.prefix;n=He(n,s=>s.toString().startsWith(i))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>He(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>gl(i,s),n)),t.offset!=null){let i=t.offset,s=0;n=He(n,()=>s++>=i)}return t.limit!=null&&(n=xl(n,t.limit)),n}};var Op=mt(El(),1);function Mp(e){return e=e??new Error("Not Found"),(0,Op.default)(e,"ERR_NOT_FOUND")}var jo=class extends Jo{data;constructor(){super(),this.data=new Map}put(t,r){return this.data.set(t.toString(),r),t}get(t){let r=this.data.get(t.toString());if(r==null)throw Mp();return r}has(t){return this.data.has(t.toString())}delete(t){this.data.delete(t.toString())}*_all(){for(let[t,r]of this.data.entries())yield{key:new rr(t),value:r}}*_allKeys(){for(let t of this.data.keys())yield new rr(t)}};function Up(e,t){let r;return function(){let n=function(){r=void 0,e()};clearTimeout(r),r=setTimeout(n,t)}}var Uw=rt("libp2p:address-manager"),Fw=e=>e;function bl(e,t){let r=e.getPeerId();return r!=null&<(r).equals(t)&&(e=e.decapsulate(Ht(`/p2p/${t.toString()}`))),e}var ta=class{components;listen;announce;observed;announceFilter;constructor(t,r={}){let{listen:n=[],announce:i=[]}=r;this.components=t,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??Fw,this._updatePeerStoreAddresses=Up(this._updatePeerStoreAddresses.bind(this),1e3),t.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),t.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let t=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>Ht(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:t}).catch(r=>{Uw.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(t=>Ht(t))}getAnnounceAddrs(){return Array.from(this.announce).map(t=>Ht(t))}getObservedAddrs(){return Array.from(this.observed).map(([t])=>Ht(t))}addObservedAddr(t){t=bl(t,this.components.peerId);let r=t.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(t){t=bl(t,this.components.peerId);let r=t.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(t){t=bl(t,this.components.peerId);let r=t.toString();this.observed.delete(r)}getAddresses(){let t=this.getAnnounceAddrs().map(n=>n.toString());t.length===0&&(t=this.components.transportManager.getAddrs().map(n=>n.toString())),t=t.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(t);return this.announceFilter(Array.from(r).map(n=>Ht(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function Fp(e){return e!=null&&typeof e.start=="function"&&typeof e.stop=="function"}var wl=class{components={};_started=!1;constructor(t={}){this.components={};for(let[r,n]of Object.entries(t))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(t){await Promise.all(Object.values(this.components).filter(r=>Fp(r)).map(async r=>{await r[t]?.()}))}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")}},Kw=["metrics","connectionProtector"],Vw=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Kp(e={}){let t=new wl(e);return new Proxy(t,{get(n,i,s){if(typeof i=="string"&&!Vw.includes(i)){let o=t.components[i];if(o==null&&!Kw.includes(i))throw new w(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?t.components[i]=s:Reflect.set(n,i,s),!0}})}var Yp=mt(Vp(),1);var qp="[a-fA-F\\d:]",Qr=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${qp})|(?<=${qp})(?=\\s|$))`:"",ze="(?: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}",Kt="[a-fA-F\\d]{1,4}",ea=`
|
|
38
38
|
(?:
|
|
39
|
-
(?:${
|
|
40
|
-
(?:${
|
|
41
|
-
(?:${
|
|
42
|
-
(?:${
|
|
43
|
-
(?:${
|
|
44
|
-
(?:${
|
|
45
|
-
(?:${
|
|
46
|
-
(?::(?:(?::${
|
|
39
|
+
(?:${Kt}:){7}(?:${Kt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
|
+
(?:${Kt}:){6}(?:${ze}|:${Kt}|:)| // 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
|
+
(?:${Kt}:){5}(?::${ze}|(?::${Kt}){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
|
+
(?:${Kt}:){4}(?:(?::${Kt}){0,1}:${ze}|(?::${Kt}){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
|
+
(?:${Kt}:){3}(?:(?::${Kt}){0,2}:${ze}|(?::${Kt}){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
|
+
(?:${Kt}:){2}(?:(?::${Kt}){0,3}:${ze}|(?::${Kt}){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
|
+
(?:${Kt}:){1}(?:(?::${Kt}){0,4}:${ze}|(?::${Kt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
46
|
+
(?::(?:(?::${Kt}){0,5}:${ze}|(?::${Kt}){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(),mv=new RegExp(`(?:^${zt}$)|(?:^${sa}$)`),yv=new RegExp(`^${zt}$`),gv=new RegExp(`^${sa}$`),Rl=t=>t&&t.exact?mv:new RegExp(`(?:${Qr(t)}${zt}${Qr(t)})|(?:${Qr(t)}${sa}${Qr(t)})`,"g");Rl.v4=t=>t&&t.exact?yv:new RegExp(`${Qr(t)}${zt}${Qr(t)}`,"g");Rl.v6=t=>t&&t.exact?gv:new RegExp(`${Qr(t)}${sa}${Qr(t)}`,"g");var cm=Rl;var dm=ae(lm(),1),{isValid:xv,parse:Ev}=dm.default,bv=["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"],wv=bv.map(t=>new hm.Netmask(t));function vv(t){for(let e of wv)if(e.contains(t))return!0;return!1}function fm(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 pm=t=>{if(xv(t)){let e=Ev(t);if(e.kind()==="ipv4")return vv(e.toNormalizedString());if(e.kind()==="ipv6")return fm(t)}else if(Ei(t)&&cm.v6().test(t))return fm(t)};var aa=pm;function mm(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!aa(`${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 kB=Symbol.for("@libp2p/transport");var Xr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Xr||(Xr={}));var _v=t=>t.toString().split("/").slice(1),vs=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),Ue=t=>({match:e=>vs(r=>r===t).match(e),pattern:t}),la=()=>({match:t=>vs(e=>typeof e=="string").match(t),pattern:"{string}"}),ym=()=>({match:t=>vs(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),Dt=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{Te.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),ca=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{wc.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),ir=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),sr=(...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(", ")})`}),Fe=(...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 Xe(...t){function e(i){let s=_v(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 Tl=Fe(Ue("dns4"),la()),Bl=Fe(Ue("dns6"),la()),Ll=Fe(Ue("dnsaddr"),la()),gm=Fe(Ue("dns"),la()),VB=Xe(Tl),qB=Xe(Bl),$B=Xe(Ll),HB=Xe(sr(gm,Ll,Tl,Bl)),xm=Fe(Ue("ip4"),vs(Mo)),Em=Fe(Ue("ip6"),vs(Uo)),bm=sr(xm,Em),fa=sr(bm,gm,Tl,Bl,Ll),zB=Xe(xm),GB=Xe(Em),YB=Xe(bm),ha=Fe(fa,Ue("tcp"),ym()),_s=Fe(fa,Ue("udp"),ym()),Sv=sr(ha,_s),WB=Xe(ha),QB=Xe(_s),Pl=Fe(_s,Ue("quic")),da=Fe(_s,Ue("quic-v1")),Av=sr(Pl,da),XB=Xe(Pl),ZB=Xe(da),Cl=sr(fa,ha,_s,Pl,da),wm=sr(Fe(Cl,Ue("ws"),ir(Dt()))),jB=Xe(wm),vm=sr(Fe(Cl,Ue("wss"),ir(Dt())),Fe(Cl,Ue("tls"),Ue("ws"),ir(Dt()))),JB=Xe(vm),_m=Fe(Sv,Ue("webrtc-direct"),ca(),ir(ca()),ir(Dt())),eL=Xe(_m),Sm=Fe(da,Ue("webtransport"),ca(),ca(),ir(Dt())),tL=Xe(Sm),ua=sr(wm,vm,Fe(ha,ir(Dt())),Fe(Av,ir(Dt())),Fe(fa,ir(Dt())),_m,Sm,Dt()),rL=Xe(ua),Iv=Fe(ua,Ue("p2p-circuit"),Dt()),Dl=Xe(Iv),Rv=sr(Fe(ua,Ue("p2p-circuit"),Ue("webrtc"),Dt()),Fe(ua,Ue("webrtc"),ir(Dt())),Ue("webrtc")),nL=Xe(Rv);function Nl(t){try{let{address:e}=t.nodeAddress();return!!aa(e)}catch{return!0}}function Cv(t,e){let r=Nl(t.multiaddr),n=Nl(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function Tv(t,e){return t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function Bv(t,e){let r=Dl.exactMatch(t.multiaddr),n=Dl.exactMatch(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function Ai(t,e){let r=Cv(t,e);if(r!==0)return r;let n=Bv(t,e);return n!==0?n:Tv(t,e)}var Ol=ae(Cu(),1),Ml=ae(Rm(),1);var Cm=globalThis.fetch,Tm=globalThis.Headers,fL=globalThis.Request,hL=globalThis.Response;function pa(t,e,r){return`${t}?name=${e}&type=${r}`}async function Bm(t,e){return await(await Cm(t,{headers:new Tm({accept:"application/dns-json"}),signal:e})).json()}function Nn(t,e){return`${e}_${t}`}var kl=Object.assign((0,Ol.default)("dns-over-http-resolver"),{error:(0,Ol.default)("dns-over-http-resolver:error")}),Ul=class{constructor(e={}){this._cache=new Ml.default({max:e?.maxCache??100}),this._TXTcache=new Ml.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Bm,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 await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(Nn(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(pa(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(Nn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),kl.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(Nn(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(pa(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(Nn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),kl.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(Nn(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(pa(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(Nn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),kl.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()}},Lm=Ul;var Pm=Lm;var{code:kv}=Ee("dnsaddr");async function Ii(t,e={}){let r=new Pm;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===kv)??[];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 or;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(or||(or={}));var U;(function(t){t.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",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_TIMEOUT="ERR_TIMEOUT",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_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",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"})(U||(U={}));var Ov={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Ii},addressSorter:Ai},transportManager:{faultTolerance:Xr.FATAL_ALL}};function Dm(t){let e=qr(Ov,t);if(e.transports==null||e.transports.length<1)throw new w(or.ERR_TRANSPORTS_REQUIRED,U.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new w(or.ERR_PROTECTOR_REQUIRED,U.ERR_PROTECTOR_REQUIRED);return e}var Nm="keep-alive";var Dy=ae(Cy(),1);var x_=re("libp2p:get-peer");function ya(t){if(Co(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:fe(r),t.forEach(n=>{if(!Bn(n))throw x_.error("multiaddr %s was invalid",n),new w("Invalid Multiaddr",U.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new w("Multiaddrs must all have the same peer id or have no peer id",U.ERR_INVALID_PARAMETERS)}else{let s=fe(i);if(e==null||!e.equals(s))throw new w("Multiaddrs must all have the same peer id or have no peer id",U.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function E_(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 ef=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new w("missing peer id",U.ERR_INVALID_PARAMETERS);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=E_(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}},ga=class extends Gr{constructor(e={}){super({...e,queueClass:ef})}hasJob(e){return this.sizeBy({peerId:e})>0}};var xa="last-dial-failure";var Ea=5,ba=100,wa=50,Ty=1e3*60*7;var Ze=re("libp2p:connection-manager:auto-dial"),kn={minConnections:Ea,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:Ty,autoDialDiscoveredPeersDebounce:10},va=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??kn.minConnections,this.autoDialPriority=r.autoDialPriority??kn.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??kn.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??kn.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??kn.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??kn.autoDialDiscoveredPeersDebounce,this.started=!1,this.running=!1,this.queue=new ga({concurrency:r.autoDialConcurrency??kn.autoDialConcurrency}),this.queue.addListener("error",i=>{Ze.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{Ze.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{Ze.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{Ze.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{Ze.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&Ze.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){Ze("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){Ze("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,Ze("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new Tn(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(Ze.trace("not autodialing %p because they have no addresses",u.id),!1):e.has(u.id)?(Ze.trace("not autodialing %p because they are already connected",u.id),!1):n.has(u.id)?(Ze.trace("not autodialing %p because they are already being dialed",u.id),!1):this.queue.hasJob(u.id)?(Ze.trace("not autodialing %p because they are already being autodialed",u.id),!1):!0]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new qt;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(xa);if(l==null)return!0;let f=parseInt(X(l));return isNaN(f)?!0:Date.now()-f>this.autoDialPeerRetryThresholdMs});Ze("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){Ze("got enough connections now %d/%d",l,this.minConnections),this.queue.clear();return}Ze("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(l=>{Ze.error("could not connect to peerStore stored peer",l)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(u=>{Ze.error("error while autodialing",u)})},this.autoDialIntervalMs))}};var Li=re("libp2p:connection-manager:connection-pruner"),By={maxConnections:ba,allow:[]},_a=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??By.maxConnections,this.allow=r.allow??By.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Li.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Li("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Li("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new qt;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"&&Li.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(Li("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){Li.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};var af=ae($n(),1);function Sa(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}function jr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var sf=ae($n(),1);var Ly=re("libp2p:connection-manager:utils");async function of(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await v_(t,e),o=(await Promise.all(n.map(async a=>of(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Ly("resolved %s to",t,o.map(a=>a.toString())),o}async function v_(t,e){try{return t=He(t.toString()),await t.resolve(e)}catch(r){return Ly.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Py(...t){let e=[];for(let n of t)if(n!=null){try{(0,sf.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Sa(e);try{(0,sf.setMaxListeners)?.(1/0,r)}catch{}return r}var ot=re("libp2p:connection-manager:dial-queue"),As={addressSorter:Ai,maxParallelDials:wa,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:1,dialTimeout:3e4,resolvers:{dnsaddr:Ii}},Aa=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??As.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??As.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??As.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??As.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,af.setMaxListeners)?.(1/0,this.shutDownController.signal)}catch{}this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))ju.set(n,i);this.queue=new Gr({concurrency:r.maxParallelDials??As.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=>{ot.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}=ya(e),s=i.map(l=>({multiaddr:l,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(l){throw o.clear(),l}let c=this.pendingDials.find(l=>!!(l.peerId!=null&&n!=null&&l.peerId.equals(n)||a.map(({multiaddr:f})=>f.toString()).join()===l.multiaddrs.map(f=>f.toString()).join()));if(c!=null)return ot("joining existing dial target for %p",n),o.clear(),c.promise;ot("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:__(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),o.clear()}).catch(async l=>{if(ot.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),n!=null)try{await this.peerStore.patch(n,{metadata:{[xa]:z(Date.now().toString())}})}catch(f){ot.error("could not update last dial failure key for %p",n,f)}throw o.aborted?new w(l.message,U.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=Sa([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,af.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new w("Tried to dial self",U.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new w("The dial request is blocked by gater.allowDialPeer",U.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){ot("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),ot("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==U.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await of(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(d=>({multiaddr:d,isCertified:!1}))}))).flat(),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)&&(ot("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),ot("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new w("The dial request has no valid addresses",U.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new w("dial with more addresses than allowed",U.ERR_TOO_MANY_ADDRESSES);if(e!=null){let l=`/p2p/${e.toString()}`;a=a.map(f=>{let d=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:d!==e.toString()?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f})}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 w("The connection gater denied all addresses in the dial request",U.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Gr({concurrency:this.maxParallelDialsPerPeer});i.on("error",o=>{ot.error("error dialling",o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new w("dialAction did not come with an AbortController",U.ERR_INVALID_PARAMETERS);let u=Py(c.signal,r.signal);u.addEventListener("abort",()=>{ot("dial to %a aborted",o)});let l=jr();return await i.add(async()=>{if(u.aborted){ot("dial to %a was aborted before reaching the head of the peer dial queue",o),l.reject(new Wn);return}await this.queue.add(async()=>{try{if(u.aborted){ot("dial to %a was aborted before reaching the head of the dial queue",o),l.reject(new Wn);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){ot("multiple dials succeeded, closing superfluous connection"),f.close().catch(d=>{ot.error("error closing superfluous connection",d)}),l.reject(new Wn);return}n[a]=void 0,n.forEach(d=>{d!==void 0&&d.abort()}),ot("dial to %a succeeded",o),l.resolve(f)}catch(f){ot.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 w("successful dial led to empty object returned from peer dial queue",U.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 __(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Ct=re("libp2p:connection-manager"),I_=50,On={minConnections:Ea,maxConnections:ba,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},Ia=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??On.maxConnections;let n=r.minConnections??On.minConnections;if(this.maxConnections<n)throw new w("Connection Manager maxConnections must be greater than minConnections",U.ERR_INVALID_PARAMETERS);this.connections=new qt,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,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=>He(i)),this.deny=(r.deny??[]).map(i=>He(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??On.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new Dy.RateLimiterMemory({points:r.inboundConnectionThreshold??On.inboundConnectionThreshold,duration:1}),this.autoDial=new va({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??On.autoDialConcurrency,autoDialPriority:r.autoDialPriority??On.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??On.autoDialMaxQueueLength}),this.connectionPruner=new _a({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new Aa({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??Ai,maxParallelDials:r.maxParallelDials??wa,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,maxParallelDialsPerPeer:r.maxParallelDialsPerPeer??1,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Ii}})}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,Ct("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(Nm)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{Ct.error(n)})}))}).catch(e=>{Ct.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){Ct.error(i)}})());Ct("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),Ct("stopped")}onConnect(e){this._onConnect(e).catch(r=>{Ct.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 w("Not started",U.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=ya(e);if(n!=null&&r.force!==!0){Ct("dial %p",n);let a=this.getConnections(n);if(a.length>0)return Ct("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??I_}),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 Ct("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 Ct("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 Ct("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(Ct("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Ra=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}},Pi=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Ra(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 Ra(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 ff=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Mn(t={}){return R_(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 R_(t,e){e=e??{};let r=e.onEnd,n=new Pi,i,s,o,a=jr(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((y,g)=>{s=x=>{s=null,n.push(x);try{y(t(n))}catch(b){g(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=jr()})}},u=y=>s!=null?s(y):(n.push(y),i),l=y=>(n=new Pi,s!=null?s({error:y}):(n.push({error:y}),i)),f=y=>{if(o)return i;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},d=y=>o?i:(o=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new Pi,d(),{done:!0}),h=y=>(d(y),{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 y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,b;g!=null&&(x=new Promise((C,_)=>{b=()=>{_(new ff)},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 m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(y){return m.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return m.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return m.readableLength}},i}function C_(t){return t[Symbol.asyncIterator]!=null}function T_(...t){let e=[];for(let r of t)C_(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Mn({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 Jr=T_;function Un(t,...e){if(t==null)throw new Error("Empty pipeline");if(hf(t)){let n=t;t=()=>n.source}else if(ky(t)||Ny(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&hf(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)hf(r[n])&&(r[n]=L_(r[n]));return B_(...r)}var B_=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Ny=t=>t?.[Symbol.asyncIterator]!=null,ky=t=>t?.[Symbol.iterator]!=null,hf=t=>t==null?!1:t.sink!=null&&t.source!=null,L_=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Mn({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(Ny(s))i=async function*(){yield*s,n.end()};else if(ky(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Jr(n,i())}return t.source};function P_(t){return t[Symbol.asyncIterator]!=null}function D_(t,e){if(P_(t))return async function*(){for await(let a of t)yield e(a)}();let r=ta(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){yield await s;for await(let a of r)yield e(a)}();let o=e;return function*(){yield s;for(let a of r)yield o(a)}()}var Oy=D_;async function*Is(t,e){yield*Oy(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function Ca(t){let e=new Set;return Ht(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*Ta(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new w(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Ba=class{routers;started;components;constructor(e,r){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 w("No content routers available",U.ERR_NO_ROUTERS_AVAILABLE);yield*Un(Jr(...this.routers.map(n=>n.findProviders(e,r))),n=>Is(n,this.components.peerStore),n=>Ca(n),n=>Ta(n))}async provide(e,r={}){if(this.routers.length===0)throw new w("No content routers available",U.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 w(or.NOT_STARTED_YET,U.DHT_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 w(or.NOT_STARTED_YET,U.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function N_(t){return t[Symbol.asyncIterator]!=null}function k_(t){if(N_(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var La=k_;var O_=re("libp2p:peer-routing"),Pa=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new w("No peer routers available",U.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new w("Should not try to find self",U.ERR_FIND_SELF);let n=await Un(Jr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){O_.error(s)}}())),i=>Ht(i,Boolean),i=>Is(i,this.components.peerStore),async i=>La(i));if(n!=null)return n;throw new w(or.NOT_FOUND,U.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new w("No peer routers available",U.ERR_NO_ROUTERS_AVAILABLE);yield*Un(Jr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Is(n,this.components.peerStore),n=>Ca(n),n=>Ta(n))}};var df=re("libp2p:registrar"),pf=32,mf=64,Da=class{topologies;handlers;components;constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:connect",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new w(`No handler registered for protocol ${e}`,U.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 w(`Handler already registered for protocol ${e}`,U.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=qr.bind({ignoreUndefined:!0})({maxInboundStreams:pf,maxOutboundStreams:mf},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 w("invalid topology",U.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!==U.ERR_NOT_FOUND&&df.error("could not inform topologies of disconnecting peer %p",r,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{let i=this.components.connectionManager.getConnections(n.id)[0];if(i==null){df("peer %p connected but the connection manager did not have a connection",n);return}for(let s of n.protocols){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())a.onConnect?.(r,i)}}).catch(n=>{n.code!==U.ERR_NOT_FOUND&&df.error("could not inform topologies of connecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(o=>!r.protocols.includes(o)),s=r.protocols.filter(o=>!(n?.protocols??[]).includes(o));for(let o of i){let a=this.topologies.get(o);if(a!=null)for(let c of a.values())c.onDisconnect?.(r.id)}for(let o of s){let a=this.topologies.get(o);if(a!=null)for(let c of a.values()){let u=this.components.connectionManager.getConnections(r.id)[0];u!=null&&c.onConnect?.(r.id,u)}}}};var yf=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 My(t){let{name:e,metrics:r}=t,n;return r!=null?n=new yf({name:e,metrics:r}):n=new Map,n}var en=re("libp2p:transports"),Na=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=My({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Xr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new w("Transport must have a valid tag",U.ERR_INVALID_KEY);if(this.transports.has(r))throw new w(`There is already a transport with the tag ${r}`,U.ERR_DUPLICATE_TRANSPORT);en("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(en("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),en("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 w(`No transport available for address ${String(e)}`,U.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=U.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 w("Not started",U.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){en("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){en("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!==Xr.NO_FATAL)throw new w(`Transport (${n}) could not listen on any available address`,U.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Xr.FATAL_ALL)throw new w(n,U.ERR_NO_VALID_ADDRESSES);en(`libp2p in dial mode only: ${n}`)}}async remove(e){let r=this.listeners.get(e)??[];en.trace("removing transport %s",e);let n=[];for(en.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 bf=ae($n(),1);var Rr="/multistream/1.0.0";function gf(t){let e=async function*(){let r=yield,n=new Qe;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Qe;continue}for(n.append(i);n.length>=r;){let s=n.sublist(0,r);if(n.consume(r),r=yield s,r==null){n.length>0&&(r=yield n,n=new Qe);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function ka(t){let e=Mn(),r=gf(t.source),n=jr(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await s},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var Rs=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Uy(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function Fy(t,e,r){let n=r??{},i=Uy(t);async function*s(){let o,a=()=>{o?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new Rs(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:d,abortCode:p}=n;f(new Rs(d,p))}});c=await Promise.race([u,i.next()]),o=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return s()}function Oa(t){return t[Symbol.asyncIterator]!=null}var Ma=t=>{let e=xt(t),r=ct(e);return Pt(t,r),Ma.bytes=e,r};Ma.bytes=0;function Ua(t,e){e=e??{};let r=e.lengthEncoder??Ma;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return Oa(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Ua.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Ma;return new Qe(r(t.byteLength),t)};var Di=ae(Sl(),1);var M_=8,U_=1024*1024*4,Fn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Fn||(Fn={}));var xf=t=>{let e=Ar(t);return xf.bytes=xt(e),e};xf.bytes=0;function Cs(t,e){let r=new Qe,n=Fn.LENGTH,i=-1,s=e?.lengthDecoder??xf,o=e?.maxLengthLength??M_,a=e?.maxDataLength??U_;function*c(){for(;r.byteLength>0;){if(n===Fn.LENGTH)try{if(i=s(r),i<0)throw(0,Di.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Di.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=Fn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,Di.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Fn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=Fn.LENGTH}}}return Oa(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,Di.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,Di.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Cs.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 Cs(n,{...e??{},onLength:s=>{r=s}})};var V_=re("libp2p:mss"),Ky=z(`
|
|
49
|
-
`);function Ts(t){let e=new Qe(t,Ky);return Ua.single(e)}function Kn(t,e,r={}){let n=Ts(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function Vy(t,e,r={}){let n=new Qe;for(let i of e)n.append(Ts(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function q_(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=Fy(n,e.signal));let s=a=>{r=a},o=await Un(i,a=>Cs(a,{onLength:s,maxDataLength:1024}),async a=>La(a));if(o==null||o.length===0)throw new w("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==Ky[0])throw V_.error("Invalid mss message - missing newline - %s",o.subarray()),new w("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function Ni(t,e){let r=await q_(t,e);return X(r.subarray())}var Bs=re("libp2p:mss:select");async function Ls(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:s,stream:o}=ka(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Bs.trace('select: write ["%s", "%s"]',Rr,a);let c=z(Rr),u=z(a);Vy(i,[c,u],r);let l=await Ni(n,r);if(Bs.trace('select: read "%s"',l),l===Rr&&(l=await Ni(n,r),Bs.trace('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of e){Bs.trace('select: write "%s"',f),Kn(i,z(f),r);let d=await Ni(n,r);if(Bs.trace('select: read "%s" for "%s"',d,f),d===f)return s(),{stream:o,protocol:f}}throw s(),new w("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var Ps=re("libp2p:mss:handle");async function Ds(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:s,stream:o}=ka(t);for(;;){let a=await Ni(i,r);if(Ps.trace('read "%s"',a),a===Rr){Ps.trace('respond with "%s" for "%s"',Rr,a),Kn(n,z(Rr),r);continue}if(e.includes(a))return Kn(n,z(a),r),Ps.trace('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){Kn(n,new Qe(...e.map(c=>Ts(z(c)))),r),Ps.trace('respond with "%s" for %s',e,a);continue}Kn(n,z("na"),r),Ps('respond with "na" for "%s"',a)}}var Hy=ae($n(),1);var $y=Symbol.for("@libp2p/connection");var Vn=re("libp2p:connection"),H_=500,Ef=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;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._newStream=i,this._close=s,this._abort=o,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[$y]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new w("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new w("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new w("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")){Vn("closing connection to %a",this.remoteAddr),this.status="closing",e.signal=e?.signal??AbortSignal.timeout(H_);try{(0,Hy.setMaxListeners)?.(1/0,e.signal)}catch{}try{Vn.trace("closing all streams"),await Promise.all(this.streams.map(async r=>r.close(e))),Vn.trace("closing underlying transport"),await this._close(e),Vn.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(r){Vn.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){Vn.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),Vn.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function zy(t){return new Ef(t)}var be=re("libp2p:upgrader");function G_(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==U.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return pf}function Y_(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==U.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??mf}function Gy(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var Fa=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 w(`The multiaddr connection is blocked by gater.${n}`,U.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new w("connection denied",U.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),l=()=>{e.abort(new w("inbound upgrade timeout",U.ERR_TIMEOUT))};u.addEventListener("abort",l,{once:!0});try{(0,bf.setMaxListeners)?.(1/0,u)}catch{}try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new w("The multiaddr connection is blocked by gater.acceptConnection",U.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),be("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(be("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 w("inbound connection that skipped encryption must have a peer id",U.ERR_INVALID_MULTIADDR);let p=fe(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 be.error("Failed to upgrade inbound connection",d),d}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),be("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=fe(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),be("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 w("Encryption was skipped but no peer id was passed",U.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 be.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),be("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:y,protocol:g}=await Ds(h,m);if(be("%s: incoming stream opened on %s",n,g),f==null)return;let x=G_(g,this.components.registrar);if(Gy(g,"inbound",f)===x){let C=new w(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,U.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw h.abort(C),C}h.source=y.source,h.sink=y.sink,h.protocol=g,await this.components.peerStore.merge(o,{protocols:[g]}),this.components.metrics?.trackProtocolStream(h,f),this._onStream({connection:f,stream:h,protocol:g})}).catch(async m=>{be.error(m),h.timeline.close==null&&await h.close()})}}),l=async(h,m={})=>{if(u==null)throw new w("Stream is not multiplexed",U.ERR_MUXER_UNAVAILABLE);be("%s: starting new stream on %s",n,h);let y=await u.newStream();try{if(m.signal==null){be("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h),m.signal=AbortSignal.timeout(3e4);try{(0,bf.setMaxListeners)?.(1/0,m.signal)}catch{}}let{stream:g,protocol:x}=await Ls(y,h,m),b=Y_(x,this.components.registrar,m);if(Gy(x,"outbound",f)>=b){let _=new w(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,U.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw y.abort(_),_}return await this.components.peerStore.merge(o,{protocols:[x]}),y.source=g.source,y.sink=g.sink,y.protocol=x,this.components.metrics?.trackProtocolStream(y,f),y}catch(g){throw be.error("could not create new stream for protocols %s on connection with address %a",h,f.remoteAddr,g),y.timeline.close==null&&y.abort(g),g.code!=null?g:new w(String(g),U.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.sink(u.source)]).catch(h=>{be.error(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){be.error(m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{be.error(m)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let p=()=>{throw new w("connection is not multiplexed",U.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=zy({remoteAddr:i.remoteAddr,remotePeer:o,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,newStream:l??p,getStreams:()=>u!=null?u.streams:[],close:async h=>{u!=null&&(be.trace("close muxer"),await u.close(h)),be.trace("close maconn"),await i.close(h),be.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 w("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());be("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Ds(e,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return be("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new w(String(n),U.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());be("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await Ls(e,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return be("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new w(String(i),U.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());be("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await Ls(e,n,{writeBytes:!0});be("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw be.error("error multiplexing outbound stream",i),new w(String(i),U.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());be("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Ds(e,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw be.error("error multiplexing inbound stream",i),new w(String(i),U.ERR_MUXER_UNAVAILABLE)}}};var Et=re("libp2p"),wf=class extends as{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new as,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new Su(c.type,{detail:c.detail}));return u||l};try{(0,Yy.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=sm({peerId:e.peerId,events:r,datastore:e.datastore??new na,connectionGater:mm(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new ea(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",c=>{if(c.detail.previous==null){let u={id:c.detail.peer.id,multiaddrs:c.detail.peer.addresses.map(l=>l.multiaddr),protocols:c.detail.peer.protocols};i.events.safeDispatchEvent("peer:discovery",{detail:u})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Fa(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(e.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new Na(this.components,e.transportManager)),this.configureComponent("connectionManager",new Ia(this.components,e.connectionManager)),this.configureComponent("registrar",new Da(this.components)),this.configureComponent("addressManager",new ia(this.components,e.addresses));let s=Cn.generateOptions();this.keychain=this.configureComponent("keyChain",new Cn(this.components,{...s,...e.keychain}));let o=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Pa(this.components,{routers:o}));let a=(e.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Ba(this.components,{routers:a})),(e.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{this.#t(f)})}),e.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),e.services!=null)for(let c of Object.keys(e.services)){let u=e.services[c],l=u(this.components);if(l==null){Et.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[vu]!=null&&(Et("registering service %s for content routing",c),a.push(l[vu])),l[Iu]!=null&&(Et("registering service %s for peer routing",c),o.push(l[Iu])),l[Au]!=null&&(Et("registering service %s for peer discovery",c),l[Au].addEventListener("peer",f=>{this.#t(f)}))}}configureComponent(e,r){return r==null&&Et.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.#e)return;this.#e=!0,Et("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(Et("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.safeDispatchEvent("start",{detail:this}),Et("libp2p has started")}catch(r){throw Et.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#e&&(Et("libp2p is stopping"),this.#e=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),Et("libp2p has stopped"))}isStarted(){return this.#e}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new Tn;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,r)}async dialProtocol(e,r,n={}){if(r==null)throw new w("no protocols were provided to open a stream",U.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new w("no protocols were provided to open a stream",U.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={}){Bn(e)&&(e=fe(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(Et("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=Oe([z("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return ss(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)}#t(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){Et.error(new Error(U.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{Et.error(n)})}};async function Wy(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new Cn({datastore:e},qr(Cn.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await fp()),new wf(Dm(t))}async function W_(t){let e=await Wy(t);return t.start!==!1&&await e.start(),e}return cg(Q_);})();
|
|
48
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),qw=new RegExp(`(?:^${ze}$)|(?:^${ea}$)`),$w=new RegExp(`^${ze}$`),Hw=new RegExp(`^${ea}$`),vl=e=>e&&e.exact?qw:new RegExp(`(?:${Qr(e)}${ze}${Qr(e)})|(?:${Qr(e)}${ea}${Qr(e)})`,"g");vl.v4=e=>e&&e.exact?$w:new RegExp(`${Qr(e)}${ze}${Qr(e)}`,"g");vl.v6=e=>e&&e.exact?Hw:new RegExp(`${Qr(e)}${ea}${Qr(e)}`,"g");var $p=vl;var Wp=mt(zp(),1),{isValid:zw,parse:Gw}=Wp.default,Yw=["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"],Ww=Yw.map(e=>new Yp.Netmask(e));function Qw(e){for(let t of Ww)if(t.contains(e))return!0;return!1}function Gp(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}var Qp=e=>{if(zw(e)){let t=Gw(e);if(t.kind()==="ipv4")return Qw(t.toNormalizedString());if(t.kind()==="ipv6")return Gp(e)}else if(gi(e)&&$p.v6().test(e))return Gp(e)};var na=Qp;function Xp(e={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async t=>{let r=t.stringTuples();return r[0][0]===4||r[0][0]===41?!!na(`${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,...e}}var fB=Symbol.for("@libp2p/transport");var Xr;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(Xr||(Xr={}));var Xw=e=>e.toString().split("/").slice(1),bs=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),Mt=e=>({match:t=>bs(r=>r===e).match(t),pattern:e}),oa=()=>({match:e=>bs(t=>typeof t=="string").match(e),pattern:"{string}"}),Zp=()=>({match:e=>bs(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),Ne=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{Ct.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),ia=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{yc.decode(e[1])}catch{return!1}return e.slice(2)},pattern:"/certhash/{certhash}"}),ir=e=>({match:t=>{let r=e.match(t);return r===!1?t:r},pattern:`optional(${e.pattern})`}),sr=(...e)=>({match:t=>{let r;for(let n of e){let i=n.match(t);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${e.map(t=>t.pattern).join(", ")})`}),Ut=(...e)=>({match:t=>{for(let r of e){let n=r.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${e.map(t=>t.pattern).join(", ")})`});function Xt(...e){function t(i){let s=Xw(i);for(let o of e){let a=o.match(s);if(a===!1)return!1;s=a}return s}function r(i){return t(i)!==!1}function n(i){let s=t(i);return s===!1?!1:s.length===0}return{matches:r,exactMatch:n}}var Sl=Ut(Mt("dns4"),oa()),Al=Ut(Mt("dns6"),oa()),Il=Ut(Mt("dnsaddr"),oa()),Jp=Ut(Mt("dns"),oa()),gB=Xt(Sl),xB=Xt(Al),EB=Xt(Il),bB=Xt(sr(Jp,Il,Sl,Al)),jp=Ut(Mt("ip4"),bs(Do)),tm=Ut(Mt("ip6"),bs(No)),em=sr(jp,tm),aa=sr(em,Jp,Sl,Al,Il),wB=Xt(jp),vB=Xt(tm),_B=Xt(em),ca=Ut(aa,Mt("tcp"),Zp()),ws=Ut(aa,Mt("udp"),Zp()),Zw=sr(ca,ws),SB=Xt(ca),AB=Xt(ws),Rl=Ut(ws,Mt("quic")),ua=Ut(ws,Mt("quic-v1")),Jw=sr(Rl,ua),IB=Xt(Rl),RB=Xt(ua),_l=sr(aa,ca,ws,Rl,ua),rm=sr(Ut(_l,Mt("ws"),ir(Ne()))),CB=Xt(rm),nm=sr(Ut(_l,Mt("wss"),ir(Ne())),Ut(_l,Mt("tls"),Mt("ws"),ir(Ne()))),TB=Xt(nm),im=Ut(Zw,Mt("webrtc-direct"),ia(),ir(ia()),ir(Ne())),BB=Xt(im),sm=Ut(ua,Mt("webtransport"),ia(),ia(),ir(Ne())),LB=Xt(sm),sa=sr(rm,nm,Ut(ca,ir(Ne())),Ut(Jw,ir(Ne())),Ut(aa,ir(Ne())),im,sm,Ne()),PB=Xt(sa),jw=Ut(sa,Mt("p2p-circuit"),Ne()),Cl=Xt(jw),tv=sr(Ut(sa,Mt("p2p-circuit"),Mt("webrtc"),Ne()),Ut(sa,Mt("webrtc"),ir(Ne())),Mt("webrtc")),DB=Xt(tv);function Tl(e){try{let{address:t}=e.nodeAddress();return!!na(t)}catch{return!0}}function ev(e,t){let r=Tl(e.multiaddr),n=Tl(t.multiaddr);return r&&!n?1:!r&&n?-1:0}function rv(e,t){return e.isCertified&&!t.isCertified?-1:!e.isCertified&&t.isCertified?1:0}function nv(e,t){let r=Cl.exactMatch(e.multiaddr),n=Cl.exactMatch(t.multiaddr);return r&&!n?1:!r&&n?-1:0}function _i(e,t){let r=ev(e,t);if(r!==0)return r;let n=nv(e,t);return n!==0?n:rv(e,t)}var Ll=mt(_u(),1),Pl=mt(cm(),1);var um=globalThis.fetch,lm=globalThis.Headers,VB=globalThis.Request,qB=globalThis.Response;function la(e,t,r){return`${e}?name=${t}&type=${r}`}async function fm(e,t){return await(await um(e,{headers:new lm({accept:"application/dns-json"}),signal:t})).json()}function Nn(e,t){return`${t}_${e}`}var Bl=Object.assign((0,Ll.default)("dns-over-http-resolver"),{error:(0,Ll.default)("dns-over-http-resolver:error")}),Dl=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(t={}){this._cache=new Pl.default({max:t?.maxCache??100}),this._TXTcache=new Pl.default({max:t?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=t.request??fm,this._abortControllers=[]}cancel(){this._abortControllers.forEach(t=>{t.abort()})}getServers(){return this._servers}_getShuffledServers(){let t=[...this._servers];for(let r=t.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=t[r];t[r]=t[n],t[n]=i}return t}setServers(t){this._servers=t}async resolve(t,r="A"){switch(r){case"A":return this.resolve4(t);case"AAAA":return this.resolve6(t);case"TXT":return this.resolveTxt(t);default:throw new Error(`${r} is not supported`)}}async resolve4(t){let r="A",n=this._cache.get(Nn(t,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(la(s,t,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Nn(t,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Bl.error(`${s} could not resolve ${t} 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 ${t} record ${r}`)}async resolve6(t){let r="AAAA",n=this._cache.get(Nn(t,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(la(s,t,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Nn(t,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Bl.error(`${s} could not resolve ${t} 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 ${t} record ${r}`)}async resolveTxt(t){let r="TXT",n=this._TXTcache.get(Nn(t,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(la(s,t,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(Nn(t,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Bl.error(`${s} could not resolve ${t} 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 ${t} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},hm=Dl;var dm=hm;var{code:cv}=xt("dnsaddr");async function Si(e,t={}){let r=new dm;t.signal!=null&&t.signal.addEventListener("abort",()=>{r.cancel()});let n=e.getPeerId(),[,i]=e.stringTuples().find(([a])=>a===cv)??[];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 or;(function(e){e.NOT_STARTED_YET="The libp2p node is not started yet",e.DHT_DISABLED="DHT is not available",e.PUBSUB_DISABLED="PubSub is not available",e.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",e.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",e.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",e.NOT_FOUND="Not found"})(or||(or={}));var F;(function(e){e.DHT_DISABLED="ERR_DHT_DISABLED",e.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",e.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",e.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",e.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",e.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",e.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",e.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",e.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",e.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",e.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",e.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",e.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",e.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",e.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",e.ERR_DIALED_SELF="ERR_DIALED_SELF",e.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",e.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",e.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",e.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",e.ERR_INVALID_KEY="ERR_INVALID_KEY",e.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_INVALID_PEER="ERR_INVALID_PEER",e.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",e.ERR_NOT_FOUND="ERR_NOT_FOUND",e.ERR_TIMEOUT="ERR_TIMEOUT",e.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",e.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",e.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",e.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",e.ERR_FIND_SELF="ERR_FIND_SELF",e.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",e.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",e.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",e.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",e.ERR_INVALID_CMS="ERR_INVALID_CMS",e.ERR_MISSING_KEYS="ERR_MISSING_KEYS",e.ERR_NO_KEY="ERR_NO_KEY",e.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",e.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",e.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",e.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",e.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",e.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",e.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",e.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",e.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",e.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",e.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",e.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",e.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",e.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",e.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",e.ERR_INVALID_RECORD="ERR_INVALID_RECORD",e.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",e.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",e.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(F||(F={}));var uv={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:e=>e},connectionManager:{resolvers:{dnsaddr:Si},addressSorter:_i},transportManager:{faultTolerance:Xr.FATAL_ALL}};function pm(e){let t=qr(uv,e);if(t.transports==null||t.transports.length<1)throw new w(or.ERR_TRANSPORTS_REQUIRED,F.ERR_TRANSPORTS_REQUIRED);if(t.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new w(or.ERR_PROTECTOR_REQUIRED,F.ERR_PROTECTOR_REQUIRED);return t}var mm="keep-alive";var py=mt(uy(),1);var zv=rt("libp2p:get-peer");function ha(e){if(So(e))return{peerId:e,multiaddrs:[]};Array.isArray(e)||(e=[e]);let t;if(e.length>0){let r=e[0].getPeerId();t=r==null?void 0:lt(r),e.forEach(n=>{if(!Bn(n))throw zv.error("multiaddr %s was invalid",n),new w("Invalid Multiaddr",F.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(t!=null)throw new w("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}else{let s=lt(i);if(t==null||!t.equals(s))throw new w("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}})}return{peerId:t,multiaddrs:e}}function Gv(e,t,r){let n=0,i=e.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(e[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var Ql=class{#t=[];enqueue(t,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new w("missing peer id",F.ERR_INVALID_PARAMETERS);let s={priority:i,peerId:n,run:t};if(this.size>0&&this.#t[this.size-1].priority>=i){this.#t.push(s);return}let o=Gv(this.#t,s,(a,c)=>c.priority-a.priority);this.#t.splice(o,0,s)}dequeue(){return this.#t.shift()?.run}filter(t){if(t.peerId!=null){let r=t.peerId;return this.#t.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#t.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this.#t.length}},da=class extends Gr{constructor(t={}){super({...t,queueClass:Ql})}hasJob(t){return this.sizeBy({peerId:t})>0}};var pa="last-dial-failure";var ma=5,ya=100,ga=50,ly=1e3*60*7;var Zt=rt("libp2p:connection-manager:auto-dial"),kn={minConnections:ma,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:ly,autoDialDiscoveredPeersDebounce:10},xa=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;constructor(t,r){this.connectionManager=t.connectionManager,this.peerStore=t.peerStore,this.minConnections=r.minConnections??kn.minConnections,this.autoDialPriority=r.autoDialPriority??kn.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??kn.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??kn.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??kn.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??kn.autoDialDiscoveredPeersDebounce,this.started=!1,this.running=!1,this.queue=new da({concurrency:r.autoDialConcurrency??kn.autoDialConcurrency}),this.queue.addListener("error",i=>{Zt.error("error during auto-dial",i)}),t.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{Zt.error(i)})});let n;t.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{Zt.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(t=>{Zt.error("error while autodialing",t)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(t=>{Zt.error("error while autodialing",t)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started)return;let t=this.connectionManager.getConnectionsMap(),r=t.size;if(r>=this.minConnections){this.minConnections>0&&Zt.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){Zt("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){Zt("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,Zt("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new Tn(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(Zt.trace("not autodialing %p because they have no addresses",u.id),!1):t.has(u.id)?(Zt.trace("not autodialing %p because they are already connected",u.id),!1):n.has(u.id)?(Zt.trace("not autodialing %p because they are already being dialed",u.id),!1):this.queue.hasJob(u.id)?(Zt.trace("not autodialing %p because they are already being autodialed",u.id),!1):!0]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new Ae;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,h=o.get(l.id)??0;return f>h?-1:f<h?1:0}).filter(u=>{let l=u.metadata.get(pa);if(l==null)return!0;let f=parseInt(X(l));return isNaN(f)?!0:Date.now()-f>this.autoDialPeerRetryThresholdMs});Zt("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){Zt("got enough connections now %d/%d",l,this.minConnections),this.queue.clear();return}Zt("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(l=>{Zt.error("could not connect to peerStore stored peer",l)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(u=>{Zt.error("error while autodialing",u)})},this.autoDialIntervalMs))}};var Ti=rt("libp2p:connection-manager:connection-pruner"),fy={maxConnections:ya,allow:[]},Ea=class{maxConnections;connectionManager;peerStore;allow;events;constructor(t,r={}){this.maxConnections=r.maxConnections??fy.maxConnections,this.allow=r.allow??fy.allow,this.connectionManager=t.connectionManager,this.peerStore=t.peerStore,this.events=t.events,t.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Ti.error(n)})})}async maybePruneConnections(){let t=this.connectionManager.getConnections(),r=t.length,n=Math.max(r-this.maxConnections,0);if(Ti("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Ti("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Ae;for(let a of t){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"&&Ti.error("error loading peer tags",u)}}}let s=t.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,h=c.timeline.open;return f<h?1:f>h?-1:0}),o=[];for(let a of s)if(Ti("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){Ti.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};function ba(e){let t=new globalThis.AbortController;function r(){t.abort();for(let s of e)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of e){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of e)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=t.signal;return i.clear=n,i}function Jr(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var hy=rt("libp2p:connection-manager:utils");async function jl(e,t){if(!e.protoNames().includes("dnsaddr"))return[e];let n=await Qv(e,t),o=(await Promise.all(n.map(async a=>jl(a,t)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return hy("resolved %s to",e,o.map(a=>a.toString())),o}async function Qv(e,t){try{return e=Ht(e.toString()),await e.resolve(t)}catch(r){return hy.error(`multiaddr ${e.toString()} could not be resolved`,r),[]}}function dy(...e){let t=[];for(let n of e)n!=null&&(ve(1/0,n),t.push(n));let r=ba(t);return ve(1/0,r),r}var Vt=rt("libp2p:connection-manager:dial-queue"),_s={addressSorter:_i,maxParallelDials:ga,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:1,dialTimeout:3e4,resolvers:{dnsaddr:Si}},wa=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;connections;constructor(t,r={}){this.addressSorter=r.addressSorter??_s.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??_s.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??_s.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??_s.dialTimeout,this.connections=r.connections??new Ae,this.peerId=t.peerId,this.peerStore=t.peerStore,this.connectionGater=t.connectionGater,this.transportManager=t.transportManager,this.shutDownController=new AbortController,ve(1/0,this.shutDownController.signal),this.pendingDialCount=t.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=t.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))Yu.set(n,i);this.queue=new Gr({concurrency:r.maxParallelDials??_s.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=>{Vt.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(t,r={}){let{peerId:n,multiaddrs:i}=ha(t),s=i.map(h=>({multiaddr:h,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(h){throw o.clear(),h}let c=Array.from(this.connections.values()).flat().find(h=>r.force===!0?!1:a.find(p=>p.multiaddr.equals(h.remoteAddr)));if(c!=null)return Vt("already connected to %a",c.remoteAddr),c;let u=this.pendingDials.find(h=>!!(h.peerId!=null&&n!=null&&h.peerId.equals(n)||a.map(({multiaddr:p})=>p.toString()).join()===h.multiaddrs.map(p=>p.toString()).join()));if(u!=null)return Vt("joining existing dial target for %p",n),o.clear(),u.promise;Vt("creating dial target for",a.map(({multiaddr:h})=>h.toString()));let l={id:Xv(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:h})=>h)};l.promise=this.performDial(l,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(h=>h.id!==l.id),o.clear()}).catch(async h=>{if(Vt.error("dial failed to %s",l.multiaddrs.map(p=>p.toString()).join(", "),h),n!=null)try{await this.peerStore.patch(n,{metadata:{[pa]:z(Date.now().toString())}})}catch(p){Vt.error("could not update last dial failure key for %p",n,p)}throw o.aborted?new w(h.message,F.ERR_TIMEOUT):h}),this.pendingDials.push(l);let f=await l.promise;return c=Array.from(this.connections.values()).flat().find(h=>r.force===!0?!1:h.id!==f.id&&h.remoteAddr.equals(f.remoteAddr)),c!=null?(Vt("already connected to %a",c.remoteAddr),await f.close(),c):(Vt("connection opened to %a",f.remoteAddr),f)}createDialAbortControllers(t){let r=ba([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,t]);try{ve?.(1/0,r)}catch{}return r}async calculateMultiaddrs(t,r=[],n={}){if(t!=null){if(this.peerId.equals(t))throw new w("Tried to dial self",F.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(t)===!0)throw new w("The dial request is blocked by gater.allowDialPeer",F.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){Vt("loading multiaddrs for %p",t);try{let l=await this.peerStore.get(t);r.push(...l.addresses),Vt("loaded multiaddrs for %p",t,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 jl(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(h=>({multiaddr:h,isCertified:!1}))}))).flat(),s=i.filter(l=>{if(this.transportManager.transportForMultiaddr(l.multiaddr)==null)return!1;let f=l.multiaddr.getPeerId();return t!=null&&f!=null?t.equals(f):!0}),o=new Map;for(let l of s){let f=l.multiaddr.toString(),h=o.get(f);if(h!=null){h.isCertified=h.isCertified||l.isCertified||!1;continue}o.set(f,l)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(Vt("addresses for %p before filtering",t??"unknown peer",i.map(({multiaddr:l})=>l.toString())),Vt("addresses for %p after filtering",t??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new w("The dial request has no valid addresses",F.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new w("dial with more addresses than allowed",F.ERR_TOO_MANY_ADDRESSES);if(t!=null){let l=`/p2p/${t.toString()}`;a=a.map(f=>{let h=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:h!==t.toString()?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f})}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 w("The connection gater denied all addresses in the dial request",F.ERR_NO_VALID_ADDRESSES);return u}async performDial(t,r={}){let n=t.multiaddrs.map(()=>new AbortController);try{let i=new Gr({concurrency:this.maxParallelDialsPerPeer});i.on("error",o=>{Vt.error("error dialling",o)});let s=await Promise.any(t.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new w("dialAction did not come with an AbortController",F.ERR_INVALID_PARAMETERS);let u=dy(c.signal,r.signal);u.addEventListener("abort",()=>{Vt("dial to %a aborted",o)});let l=Jr();return await i.add(async()=>{if(u.aborted){Vt("dial to %a was aborted before reaching the head of the peer dial queue",o),l.reject(new Gn);return}await this.queue.add(async()=>{try{if(u.aborted){Vt("dial to %a was aborted before reaching the head of the dial queue",o),l.reject(new Gn);return}t.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){Vt("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{Vt.error("error closing superfluous connection",h)}),l.reject(new Gn);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),Vt("dial to %a succeeded",o),l.resolve(f)}catch(f){Vt.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 w("successful dial led to empty object returned from peer dial queue",F.ERR_TRANSPORT_DIAL_FAILED);return t.status="success",s}catch(i){throw t.status="error",t.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function Xv(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Te=rt("libp2p:connection-manager"),jv=50,On={minConnections:ma,maxConnections:ya,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},va=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(t,r={}){this.maxConnections=r.maxConnections??On.maxConnections;let n=r.minConnections??On.minConnections;if(this.maxConnections<n)throw new w("Connection Manager maxConnections must be greater than minConnections",F.ERR_INVALID_PARAMETERS);this.connections=new Ae,this.started=!1,this.peerStore=t.peerStore,this.metrics=t.metrics,this.events=t.events,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=>Ht(i)),this.deny=(r.deny??[]).map(i=>Ht(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??On.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new py.RateLimiterMemory({points:r.inboundConnectionThreshold??On.inboundConnectionThreshold,duration:1}),this.autoDial=new xa({connectionManager:this,peerStore:t.peerStore,events:t.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??On.autoDialConcurrency,autoDialPriority:r.autoDialPriority??On.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??On.autoDialMaxQueueLength}),this.connectionPruner=new Ea({connectionManager:this,peerStore:t.peerStore,events:t.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new wa({peerId:t.peerId,metrics:t.metrics,peerStore:t.peerStore,transportManager:t.transportManager,connectionGater:t.connectionGater},{addressSorter:r.addressSorter??_i,maxParallelDials:r.maxParallelDials??ga,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,maxParallelDialsPerPeer:r.maxParallelDialsPerPeer??1,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Si},connections:this.connections})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let t={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?t.inbound++:t.outbound++;return t}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let t={};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"}`;t[s]=(t[s]??0)+1}return t}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let t={};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))t[o]=t[o]??[],t[o].push(a)}let r={};for(let[n,i]of Object.entries(t)){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,Te("started")}async afterStart(){Promise.resolve().then(async()=>{let t=await this.peerStore.all({filters:[r=>r.tags.has(mm)]});await Promise.all(t.map(async r=>{await this.openConnection(r.id).catch(n=>{Te.error(n)})}))}).catch(t=>{Te.error(t)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let t=[];for(let r of this.connections.values())for(let n of r)t.push((async()=>{try{await n.close()}catch(i){Te.error(i)}})());Te("closing %d connections",t.length),await Promise.all(t),this.connections.clear(),Te("stopped")}onConnect(t){this._onConnect(t).catch(r=>{Te.error(r)})}async _onConnect(t){let{detail:r}=t;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(t){let{detail:r}=t;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(t){if(t!=null)return this.connections.get(t)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(t,r={}){if(!this.isStarted())throw new w("Not started",F.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=ha(t);if(n!=null&&r.force!==!0){Te("dial %p",n);let a=this.getConnections(n).find(c=>!c.transient);if(a!=null)return Te("had an existing non-transient connection to %p",n),a}let i=await this.dialQueue.dial(t,{...r,priority:r.priority??jv}),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(t,r={}){let n=this.connections.get(t)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(s){i.abort(s)}}))}async acceptIncomingConnection(t){if(this.deny.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return Te("connection from %a refused - connection remote address was in deny list",t.remoteAddr),!1;if(this.allow.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return Te("connection from %a refused - incomingPendingConnections exceeded by host",t.remoteAddr),!1;if(t.remoteAddr.isThinWaistAddress()){let i=t.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return Te("connection from %a refused - inboundConnectionThreshold exceeded by host %s",t.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(Te("connection from %a refused - maxConnections exceeded",t.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var _a=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},Bi=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new _a(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new _a(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var nf=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Mn(e={}){return t_(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}},e)}function t_(e,t){t=t??{};let r=t.onEnd,n=new Bi,i,s,o,a=Jr(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((y,g)=>{s=x=>{s=null,n.push(x);try{y(e(n))}catch(b){g(b)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Jr()})}},u=y=>s!=null?s(y):(n.push(y),i),l=y=>(n=new Bi,s!=null?s({error:y}):(n.push({error:y}),i)),f=y=>{if(o)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},h=y=>o?i:(o=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new Bi,h(),{done:!0}),d=y=>(h(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:d,push:f,end:h,get readableLength(){return n.size},onEmpty:async y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,b;g!=null&&(x=new Promise((C,_)=>{b=()=>{_(new nf)},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 m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(y){return m.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return m.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return m.readableLength}},i}function e_(e){return e[Symbol.asyncIterator]!=null}function r_(...e){let t=[];for(let r of e)e_(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=Mn({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var jr=r_;function Un(e,...t){if(e==null)throw new Error("Empty pipeline");if(sf(e)){let n=e;e=()=>n.source}else if(yy(e)||my(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&sf(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)sf(r[n])&&(r[n]=i_(r[n]));return n_(...r)}var n_=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},my=e=>e?.[Symbol.asyncIterator]!=null,yy=e=>e?.[Symbol.iterator]!=null,sf=e=>e==null?!1:e.sink!=null&&e.source!=null,i_=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=Mn({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=e.source;if(my(s))i=async function*(){yield*s,n.end()};else if(yy(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return jr(n,i())}return e.source};function s_(e){return e[Symbol.asyncIterator]!=null}function o_(e,t){if(s_(e))return async function*(){for await(let a of e)yield t(a)}();let r=Zo(e),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=t(n);if(typeof s.then=="function")return async function*(){yield await s;for await(let a of r)yield t(a)}();let o=t;return function*(){yield s;for(let a of r)yield o(a)}()}var gy=o_;async function*Ss(e,t){yield*gy(e,async r=>(await t.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function Sa(e){let t=new Set;return He(e,r=>t.has(r.id.toString())?!1:(t.add(r.id.toString()),!0))}async function*Aa(e,t=1){let r=0;for await(let n of e)r++,yield n;if(r<t)throw new w(`more peers required, seen: ${r} min: ${t}`,"NOT_FOUND")}var Ia=class{routers;started;components;constructor(t,r){this.routers=r.routers??[],this.started=!1,this.components=t}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(t,r={}){if(this.routers.length===0)throw new w("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);yield*Un(jr(...this.routers.map(n=>n.findProviders(t,r))),n=>Ss(n,this.components.peerStore),n=>Sa(n),n=>Aa(n))}async provide(t,r={}){if(this.routers.length===0)throw new w("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(t,r)}))}async put(t,r,n){if(!this.isStarted())throw new w(or.NOT_STARTED_YET,F.DHT_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(t,r,n)}))}async get(t,r){if(!this.isStarted())throw new w(or.NOT_STARTED_YET,F.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(t,r)))}};function a_(e){return e[Symbol.asyncIterator]!=null}function c_(e){if(a_(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var Ra=c_;var u_=rt("libp2p:peer-routing"),Ca=class{components;routers;constructor(t,r){this.components=t,this.routers=r.routers??[]}async findPeer(t,r){if(this.routers.length===0)throw new w("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);if(t.toString()===this.components.peerId.toString())throw new w("Should not try to find self",F.ERR_FIND_SELF);let n=await Un(jr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(t,r)}catch(s){u_.error(s)}}())),i=>He(i,Boolean),i=>Ss(i,this.components.peerStore),async i=>Ra(i));if(n!=null)return n;throw new w(or.NOT_FOUND,F.ERR_NOT_FOUND)}async*getClosestPeers(t,r){if(this.routers.length===0)throw new w("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);yield*Un(jr(...this.routers.map(n=>n.getClosestPeers(t,r))),n=>Ss(n,this.components.peerStore),n=>Sa(n),n=>Aa(n))}};var l_=rt("libp2p:registrar"),of=32,af=64,Ta=class{topologies;handlers;components;constructor(t){this.topologies=new Map,this.handlers=new Map,this.components=t,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(t){let r=this.handlers.get(t);if(r==null)throw new w(`No handler registered for protocol ${t}`,F.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(t){let r=this.topologies.get(t);return r==null?[]:[...r.values()]}async handle(t,r,n){if(this.handlers.has(t))throw new w(`Handler already registered for protocol ${t}`,F.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=qr.bind({ignoreUndefined:!0})({maxInboundStreams:of,maxOutboundStreams:af},n);this.handlers.set(t,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[t]})}async unhandle(t){(Array.isArray(t)?t:[t]).forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:this.getProtocols()})}async register(t,r){if(r==null)throw new w("invalid topology",F.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(t);return i==null&&(i=new Map,this.topologies.set(t,i)),i.set(n,r),n}unregister(t){for(let[r,n]of this.topologies.entries())n.has(t)&&(n.delete(t),n.size===0&&this.topologies.delete(r))}_onDisconnect(t){let r=t.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&&l_.error("could not inform topologies of disconnecting peer %p",r,n)})}_onPeerUpdate(t){let{peer:r,previous:n}=t.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(t){let r=t.detail.protocols,n=t.detail.connection,i=t.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 cf=class extends Map{metric;constructor(t){super();let{name:r,metrics:n}=t;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(t,r){return super.set(t,r),this.updateComponentMetric(),this}delete(t){let r=super.delete(t);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function xy(e){let{name:t,metrics:r}=e,n;return r!=null?n=new cf({name:t,metrics:r}):n=new Map,n}var tn=rt("libp2p:transports"),Ba=class{components;transports;listeners;faultTolerance;started;constructor(t,r={}){this.components=t,this.started=!1,this.transports=new Map,this.listeners=xy({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Xr.FATAL_ALL}add(t){let r=t[Symbol.toStringTag];if(r==null)throw new w("Transport must have a valid tag",F.ERR_INVALID_KEY);if(this.transports.has(r))throw new w(`There is already a transport with the tag ${r}`,F.ERR_DUPLICATE_TRANSPORT);tn("adding transport %s",r),this.transports.set(r,t),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let t=this.components.addressManager.getListenAddrs();await this.listen(t)}async stop(){let t=[];for(let[r,n]of this.listeners)for(tn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&t.push(i.close())}await Promise.all(t),tn("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(t,r){let n=this.transportForMultiaddr(t);if(n==null)throw new w(`No transport available for address ${String(t)}`,F.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(t,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=F.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let t=[];for(let r of this.listeners.values())for(let n of r)t=[...t,...n.getAddrs()];return t}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(t){for(let r of this.transports.values())if(r.filter([t]).length>0)return r}async listen(t){if(!this.isStarted())throw new w("Not started",F.ERR_NODE_NOT_STARTED);if(t==null||t.length===0){tn("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(t),o=[];for(let u of s){tn("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 h=f.findIndex(p=>p===l);f.splice(h,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!==Xr.NO_FATAL)throw new w(`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===Xr.FATAL_ALL)throw new w(n,F.ERR_NO_VALID_ADDRESSES);tn(`libp2p in dial mode only: ${n}`)}}async remove(t){let r=this.listeners.get(t)??[];tn.trace("removing transport %s",t);let n=[];for(tn.trace("closing listeners for %s",t);r.length>0;){let i=r.pop();i!=null&&n.push(i.close())}await Promise.all(n),this.transports.delete(t),this.listeners.delete(t)}async removeAll(){let t=[];for(let r of this.transports.keys())t.push(this.remove(r));await Promise.all(t)}};var Rr="/multistream/1.0.0";function uf(e){let t=async function*(){let r=yield,n=new Qt;for await(let i of e){if(r==null){n.append(i),r=yield n,n=new Qt;continue}for(n.append(i);n.length>=r;){let s=n.sublist(0,r);if(n.consume(r),r=yield s,r==null){n.length>0&&(r=yield n,n=new Qt);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return t.next(),t}function La(e){let t=Mn(),r=uf(e.source),n=Jr(),i,s=e.sink(async function*(){yield*t,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:t,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await s},source:r},rest:()=>t.end(),write:t.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var As=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Ey(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function by(e,t,r){let n=r??{},i=Ey(e);async function*s(){let o,a=()=>{o?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:l,abortCode:f}=n;throw new As(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:h,abortCode:p}=n;f(new As(h,p))}});c=await Promise.race([u,i.next()]),o=null}catch(u){t.removeEventListener("abort",a);let l=u.type==="aborted"&&t.aborted;if(l&&n.onAbort!=null&&n.onAbort(e),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return s()}function Pa(e){return e[Symbol.asyncIterator]!=null}var Da=e=>{let t=ge(e),r=ae(t);return De(e,r),Da.bytes=t,r};Da.bytes=0;function Na(e,t){t=t??{};let r=t.lengthEncoder??Da;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return Pa(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}Na.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Da;return new Qt(r(e.byteLength),e)};var Li=mt(El(),1);var f_=8,h_=1024*1024*4,Fn;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Fn||(Fn={}));var lf=e=>{let t=Ar(e);return lf.bytes=ge(t),t};lf.bytes=0;function Is(e,t){let r=new Qt,n=Fn.LENGTH,i=-1,s=t?.lengthDecoder??lf,o=t?.maxLengthLength??f_,a=t?.maxDataLength??h_;function*c(){for(;r.byteLength>0;){if(n===Fn.LENGTH)try{if(i=s(r),i<0)throw(0,Li.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Li.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Fn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,Li.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Fn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Fn.LENGTH}}}return Pa(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Li.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Li.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Is.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await e.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 Is(n,{...t??{},onLength:s=>{r=s}})};var m_=rt("libp2p:mss"),wy=z(`
|
|
49
|
+
`);function Rs(e){let t=new Qt(e,wy);return Na.single(t)}function Kn(e,t,r={}){let n=Rs(t);r.writeBytes===!0?e.push(n.subarray()):e.push(n)}function vy(e,t,r={}){let n=new Qt;for(let i of t)n.append(Rs(i));r.writeBytes===!0?e.push(n.subarray()):e.push(n)}async function y_(e,t){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>e.next(r)},i=n;t?.signal!=null&&(i=by(n,t.signal));let s=a=>{r=a},o=await Un(i,a=>Is(a,{onLength:s,maxDataLength:1024}),async a=>Ra(a));if(o==null||o.length===0)throw new w("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==wy[0])throw m_.error("Invalid mss message - missing newline - %s",o.subarray()),new w("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function Pi(e,t){let r=await y_(e,t);return X(r.subarray())}var Cs=rt("libp2p:mss:select");async function Ts(e,t,r={}){t=Array.isArray(t)?[...t]:[t];let{reader:n,writer:i,rest:s,stream:o}=La(e),a=t.shift();if(a==null)throw new Error("At least one protocol must be specified");Cs.trace('select: write ["%s", "%s"]',Rr,a);let c=z(Rr),u=z(a);vy(i,[c,u],r);let l=await Pi(n,r);if(Cs.trace('select: read "%s"',l),l===Rr&&(l=await Pi(n,r),Cs.trace('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of t){Cs.trace('select: write "%s"',f),Kn(i,z(f),r);let h=await Pi(n,r);if(Cs.trace('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),new w("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var Bs=rt("libp2p:mss:handle");async function Ls(e,t,r){t=Array.isArray(t)?t:[t];let{writer:n,reader:i,rest:s,stream:o}=La(e);for(;;){let a=await Pi(i,r);if(Bs.trace('read "%s"',a),a===Rr){Bs.trace('respond with "%s" for "%s"',Rr,a),Kn(n,z(Rr),r);continue}if(t.includes(a))return Kn(n,z(a),r),Bs.trace('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){Kn(n,new Qt(...t.map(c=>Rs(z(c)))),r),Bs.trace('respond with "%s" for %s',t,a);continue}Kn(n,z("na"),r),Bs('respond with "na" for "%s"',a)}}var Sy=Symbol.for("@libp2p/connection");var Vn=rt("libp2p:connection"),x_=500,ff=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;tags;_newStream;_close;_abort;_getStreams;constructor(t){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,abort:o,getStreams:a}=t;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=t.direction,this.status="open",this.timeline=t.timeline,this.multiplexer=t.multiplexer,this.encryption=t.encryption,this.transient=t.transient??!1,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";[Sy]=!0;get streams(){return this._getStreams()}async newStream(t,r){if(this.status==="closing")throw new w("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new w("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(t)||(t=[t]),this.transient&&r?.runOnTransientConnection!==!0)throw new w("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(t,r);return n.direction="outbound",n}async close(t={}){if(!(this.status==="closed"||this.status==="closing")){Vn("closing connection to %a",this.remoteAddr),this.status="closing",t.signal=t?.signal??AbortSignal.timeout(x_),ve(1/0,t.signal);try{Vn.trace("closing all streams"),await Promise.all(this.streams.map(async r=>r.close(t))),Vn.trace("closing underlying transport"),await this._close(t),Vn.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(r){Vn.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(t){Vn.error("aborting connection to %a due to error",this.remoteAddr,t),this.status="closing",this.streams.forEach(r=>{r.abort(t)}),Vn.error("all streams aborted",this.streams.length),this._abort(t),this.timeline.close=Date.now(),this.status="closed"}};function Ay(e){return new ff(e)}var Et=rt("libp2p:upgrader");function b_(e,t){try{let{options:r}=t.getHandler(e);return r.maxInboundStreams}catch(r){if(r.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return of}function w_(e,t,r={}){try{let{options:n}=t.getHandler(e);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??af}function Iy(e,t,r){let n=0;return r.streams.forEach(i=>{i.direction===t&&i.protocol===e&&n++}),n}var ka=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(t,r){this.components=t,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=t.events}async shouldBlockConnection(t,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(t,r))throw new w(`The multiaddr connection is blocked by gater.${n}`,F.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(t,r){if(!await this.components.connectionManager.acceptIncomingConnection(t))throw new w("connection denied",F.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),l=()=>{t.abort(new w("inbound upgrade timeout",F.ERR_TIMEOUT))};u.addEventListener("abort",l,{once:!0}),ve(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(t)===!0)throw new w("The multiaddr connection is blocked by gater.acceptConnection",F.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(t),Et("starting the inbound connection upgrade");let f=t;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(Et("protecting the inbound connection"),f=await h.protect(t))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let h={...f,...i};await this.shouldBlockConnection(s,h,"denyInboundEncryptedConnection")}else{let h=t.remoteAddr.getPeerId();if(h==null)throw new w("inbound connection that skipped encryption must have a peer id",F.ERR_INVALID_MULTIADDR);let p=lt(h);c="native",s=p}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexInbound({...f,...i},this.muxers);a=h.muxerFactory,o=h.stream}}catch(h){throw Et.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(s,t,"denyInboundUpgradedConnection"),Et("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:t,upgradedConn:o,muxerFactory:a,remotePeer:s,transient:r?.transient})}finally{u.removeEventListener("abort",l),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(t,r){let n=t.remoteAddr.getPeerId(),i;n!=null&&(i=lt(n),await this.shouldBlockConnection(i,t,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(t),Et("Starting the outbound connection upgrade");let l=t;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(t))}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 w("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 Et.error("Failed to upgrade outbound connection",f),await t.close(f),f}return await this.shouldBlockConnection(o,t,"denyOutboundUpgradedConnection"),Et("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:t,upgradedConn:a,muxerFactory:u,remotePeer:o,transient:r?.transient})}_createConnection(t){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a,transient:c}=t,u,l,f;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:d=>{f!=null&&Promise.resolve().then(async()=>{let m=this.components.registrar.getProtocols(),{stream:y,protocol:g}=await Ls(d,m);if(Et("%s: incoming stream opened on %s",n,g),f==null)return;let x=b_(g,this.components.registrar);if(Iy(g,"inbound",f)===x){let C=new w(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,F.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw d.abort(C),C}d.source=y.source,d.sink=y.sink,d.protocol=g,await this.components.peerStore.merge(o,{protocols:[g]}),this.components.metrics?.trackProtocolStream(d,f),this._onStream({connection:f,stream:d,protocol:g})}).catch(async m=>{Et.error(m),d.timeline.close==null&&await d.close()})}}),l=async(d,m={})=>{if(u==null)throw new w("Stream is not multiplexed",F.ERR_MUXER_UNAVAILABLE);Et("%s: starting new stream on %s",n,d);let y=await u.newStream();try{m.signal==null&&(Et("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),m.signal=AbortSignal.timeout(3e4),ve(1/0,m.signal));let{stream:g,protocol:x}=await Ts(y,d,m),b=w_(x,this.components.registrar,m);if(Iy(x,"outbound",f)>=b){let _=new w(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,F.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw y.abort(_),_}return await this.components.peerStore.merge(o,{protocols:[x]}),y.source=g.source,y.sink=g.sink,y.protocol=x,this.components.metrics?.trackProtocolStream(y,f),y}catch(g){throw Et.error("could not create new stream for protocols %s on connection with address %a",d,f.remoteAddr,g),y.timeline.close==null&&y.abort(g),g.code!=null?g:new w(String(g),F.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.sink(u.source)]).catch(d=>{Et.error(d)}));let h=i.timeline;i.timeline=new Proxy(h,{set:(...d)=>(f!=null&&d[1]==="close"&&d[2]!=null&&h.close==null&&(async()=>{try{f.status==="open"&&await f.close()}catch(m){Et.error(m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{Et.error(m)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let p=()=>{throw new w("connection is not multiplexed",F.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=Ay({remoteAddr:i.remoteAddr,remotePeer:o,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,newStream:l??p,getStreams:()=>u!=null?u.streams:[],close:async d=>{u!=null&&(Et.trace("close muxer"),await u.close(d)),Et.trace("close maconn"),await i.close(d),Et.trace("closed maconn")},abort:d=>{i.abort(d),u?.abort(d)}}),this.events.safeDispatchEvent("connection:open",{detail:f}),f}_onStream(t){let{connection:r,stream:n,protocol:i}=t,{handler:s,options:o}=this.components.registrar.getHandler(i);if(r.transient&&o.runOnTransientConnection!==!0)throw new w("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");s({connection:r,stream:n})}async _encryptInbound(t){let r=Array.from(this.connectionEncryption.keys());Et("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Ls(t,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return Et("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new w(String(n),F.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(t,r){let n=Array.from(this.connectionEncryption.keys());Et("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await Ts(t,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return Et("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new w(String(i),F.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(t,r){let n=Array.from(r.keys());Et("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await Ts(t,n,{writeBytes:!0});Et("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw Et.error("error multiplexing outbound stream",i),new w(String(i),F.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(t,r){let n=Array.from(r.keys());Et("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Ls(t,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw Et.error("error multiplexing inbound stream",i),new w(String(i),F.ERR_MUXER_UNAVAILABLE)}}};var xe=rt("libp2p"),hf=class extends ss{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#t;constructor(t){super();let r=new ss,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new Eu(c.type,{detail:c.detail}));return u||l},ve(1/0,r),this.#t=!1,this.peerId=t.peerId,this.services={};let i=this.components=Kp({peerId:t.peerId,events:r,datastore:t.datastore??new jo,connectionGater:Xp(t.connectionGater)});this.peerStore=this.configureComponent("peerStore",new Xo(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...t.peerStore})),t.metrics!=null&&(this.metrics=this.configureComponent("metrics",t.metrics(this.components))),i.events.addEventListener("peer:update",c=>{if(c.detail.previous==null){let u={id:c.detail.peer.id,multiaddrs:c.detail.peer.addresses.map(l=>l.multiaddr),protocols:c.detail.peer.protocols};i.events.safeDispatchEvent("peer:discovery",{detail:u})}}),t.connectionProtector!=null&&this.configureComponent("connectionProtector",t.connectionProtector(i)),this.components.upgrader=new ka(this.components,{connectionEncryption:(t.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(t.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:t.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new Ba(this.components,t.transportManager)),this.configureComponent("connectionManager",new va(this.components,t.connectionManager)),this.configureComponent("registrar",new Ta(this.components)),this.configureComponent("addressManager",new ta(this.components,t.addresses));let s=Cn.generateOptions();this.keychain=this.configureComponent("keyChain",new Cn(this.components,{...s,...t.keychain}));let o=(t.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Ca(this.components,{routers:o}));let a=(t.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Ia(this.components,{routers:a})),(t.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{this.#e(f)})}),t.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),t.services!=null)for(let c of Object.keys(t.services)){let u=t.services[c],l=u(this.components);if(l==null){xe.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[gu]!=null&&(xe("registering service %s for content routing",c),a.push(l[gu])),l[wu]!=null&&(xe("registering service %s for peer routing",c),o.push(l[wu])),l[bu]!=null&&(xe("registering service %s for peer discovery",c),l[bu].addEventListener("peer",f=>{this.#e(f)}))}}configureComponent(t,r){return r==null&&xe.error("component %s was null or undefined",t),this.components[t]=r,r}async start(){if(this.#t)return;this.#t=!0,xe("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(xe("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.safeDispatchEvent("start",{detail:this}),xe("libp2p has started")}catch(r){throw xe.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#t&&(xe("libp2p is stopping"),this.#t=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),xe("libp2p has stopped"))}isStarted(){return this.#t}getConnections(t){return this.components.connectionManager.getConnections(t)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let t=new Tn;for(let r of this.components.connectionManager.getConnections())t.add(r.remotePeer);return Array.from(t)}async dial(t,r={}){return this.components.connectionManager.openConnection(t,r)}async dialProtocol(t,r,n={}){if(r==null)throw new w("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 w("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(t,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(t,r={}){Bn(t)&&(t=lt(t.getPeerId()??"")),await this.components.connectionManager.closeConnections(t,r)}async getPublicKey(t,r={}){if(xe("getPublicKey %p",t),t.publicKey!=null)return t.publicKey;let n=await this.peerStore.get(t);if(n.id.publicKey!=null)return n.id.publicKey;let i=kt([z("/pk/"),t.multihash.digest]),s=await this.contentRouting.get(i,r);return ns(s),await this.peerStore.patch(t,{publicKey:s}),s}async handle(t,r,n){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(t){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(t,r){return this.components.registrar.register(t,r)}unregister(t){this.components.registrar.unregister(t)}#e(t){let{detail:r}=t;if(r.id.toString()===this.peerId.toString()){xe.error(new Error(F.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{xe.error(n)})}};async function Ry(e){if(e.peerId==null){let t=e.datastore;if(t!=null)try{let r=new Cn({datastore:t},qr(Cn.generateOptions(),e.keychain));e.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return e.peerId==null&&(e.peerId=await Gd()),new hf(pm(e))}async function v_(e){let t=await Ry(e);return e.start!==!1&&await t.start(),t}return Vy(__);})();
|
|
50
50
|
/*! Bundled license information:
|
|
51
51
|
|
|
52
52
|
@noble/hashes/esm/utils.js:
|