libp2p 0.46.3-eaac8943 → 0.46.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +55 -31
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +14 -2
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/typedoc-urls.json +58 -0
- package/package.json +24 -24
- package/src/connection-manager/dial-queue.ts +16 -2
- 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};_a.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=sf[e];if(!r){r=sf[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 ag(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 Ee=C((b_,ff)=>{var cf=re(),uf=af(),x=ff.exports=cf.util=cf.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.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=[];x.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=x.setImmediate;x.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};x.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};x.isArrayBufferView=function(t){return t&&x.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function wi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}x.ByteBuffer=Aa;function Aa(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(x.isArrayBuffer(t)||x.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 Aa||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}x.ByteStringBuffer=Aa;var cg=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>cg&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};x.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};x.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};x.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(x.encodeUtf8(t))};x.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.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))};x.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};x.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))};x.ByteStringBuffer.prototype.putInt=function(t,e){wi(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};x.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};x.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};x.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};x.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};x.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};x.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};x.ByteStringBuffer.prototype.getInt=function(t){wi(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};x.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.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};x.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};x.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};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var t=x.createBuffer(this.data);return t.read=this.read,t};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.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};x.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};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function ug(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=x.isArrayBuffer(t),n=x.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)}x.DataBuffer=ug;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.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};x.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};x.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};x.DataBuffer.prototype.putBytes=function(t,e){if(x.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(x.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 x.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&x.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 x.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+=x.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+=x.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=x.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};x.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};x.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};x.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};x.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};x.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};x.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};x.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(t,e){wi(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};x.DataBuffer.prototype.putSignedInt=function(t,e){return wi(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};x.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};x.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};x.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};x.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};x.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};x.DataBuffer.prototype.getInt=function(t){wi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};x.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.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};x.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};x.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.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};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};x.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};x.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return x.binary.raw.encode(e);if(t==="hex")return x.binary.hex.encode(e);if(t==="base64")return x.binary.base64.encode(e);if(t==="utf8")return x.text.utf8.decode(e);if(t==="utf16")return x.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};x.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=x.encodeUtf8(t)),new x.ByteBuffer(t)};x.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};x.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};x.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};x.bytesToHex=function(t){return x.createBuffer(t).toHex()};x.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var ar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",cr=[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],lf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.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+=ar.charAt(i>>2),r+=ar.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=ar.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":ar.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
-
`,r=r.substr(e));return n+=r,n};
|
|
5
|
-
`,r=r.substr(e));return n+=r,n};x.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=cr[t.charCodeAt(c++)-43],s=cr[t.charCodeAt(c++)-43],o=cr[t.charCodeAt(c++)-43],a=cr[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)};x.binary.base58.encode=function(t,e){return x.binary.baseN.encode(t,lf,e)};x.binary.base58.decode=function(t,e){return x.binary.baseN.decode(t,lf,e)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(t,e,r){t=x.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};x.text.utf8.decode=function(t){return x.decodeUtf8(String.fromCharCode.apply(null,t))};x.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};x.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};x.deflate=function(t,e,r){if(e=x.decode64(t.deflate(x.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};x.inflate=function(t,e,r){var n=t.inflate(x.encode64(e)).rval;return n===null?null:x.decode64(n)};var Sa=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=x.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}},Ia=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(x.decode64(r))),r},lg=function(t,e,r,n){var i=Ia(t,e);i===null&&(i={}),i[r]=n,Sa(t,e,i)},fg=function(t,e,r){var n=Ia(t,e);return n!==null&&(n=r in n?n[r]:null),n},hg=function(t,e,r){var n=Ia(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),Sa(t,e,n)}},dg=function(t,e){Sa(t,e,null)},Ss=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};x.setItem=function(t,e,r,n,i){Ss(lg,arguments,i)};x.getItem=function(t,e,r,n){return Ss(fg,arguments,n)};x.removeItem=function(t,e,r,n){Ss(hg,arguments,n)};x.clearItems=function(t,e,r){Ss(dg,arguments,r)};x.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};x.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("")};x.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):"")};x.formatSize=function(t){return t>=1073741824?t=x.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=x.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=x.formatNumber(t/1024,0)+" KiB":t=x.formatNumber(t,0)+" bytes",t};x.bytesFromIP=function(t){return t.indexOf(".")!==-1?x.bytesFromIPv4(t):t.indexOf(":")!==-1?x.bytesFromIPv6(t):null};x.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=x.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};x.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=x.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=x.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};x.bytesToIP=function(t){return t.length===4?x.bytesToIPv4(t):t.length===16?x.bytesToIPv6(t):null};x.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(".")};x.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=x.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(":")};x.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in x&&!t.update)return e(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,e(null,x.cores);if(typeof Worker>"u")return x.cores=1,e(null,x.cores);if(typeof Blob>"u")return x.cores=2,e(null,x.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 x.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,x.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 Is=C((__,hf)=>{var Ei=re();Ei.pki=Ei.pki||{};var Ra=hf.exports=Ei.pki.oids=Ei.oids=Ei.oids||{};function I(t,e){Ra[t]=e,Ra[e]=t}function ee(t,e){Ra[t]=e}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");ee("2.5.29.1","authorityKeyIdentifier");ee("2.5.29.2","keyAttributes");ee("2.5.29.3","certificatePolicies");ee("2.5.29.4","keyUsageRestriction");ee("2.5.29.5","policyMapping");ee("2.5.29.6","subtreesConstraint");ee("2.5.29.7","subjectAltName");ee("2.5.29.8","issuerAltName");ee("2.5.29.9","subjectDirectoryAttributes");ee("2.5.29.10","basicConstraints");ee("2.5.29.11","nameConstraints");ee("2.5.29.12","policyConstraints");ee("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");ee("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");ee("2.5.29.20","cRLNumber");ee("2.5.29.21","cRLReason");ee("2.5.29.22","expirationDate");ee("2.5.29.23","instructionCode");ee("2.5.29.24","invalidityDate");ee("2.5.29.25","cRLDistributionPoints");ee("2.5.29.26","issuingDistributionPoint");ee("2.5.29.27","deltaCRLIndicator");ee("2.5.29.28","issuingDistributionPoint");ee("2.5.29.29","certificateIssuer");ee("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");ee("2.5.29.33","policyMappings");ee("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");ee("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");ee("2.5.29.46","freshestCRL");ee("2.5.29.54","inhibitAnyPolicy");I("1.3.6.1.4.1.11129.2.4.2","timestampList");I("1.3.6.1.5.5.7.1.1","authorityInfoAccess");I("1.3.6.1.5.5.7.3.1","serverAuth");I("1.3.6.1.5.5.7.3.2","clientAuth");I("1.3.6.1.5.5.7.3.3","codeSigning");I("1.3.6.1.5.5.7.3.4","emailProtection");I("1.3.6.1.5.5.7.3.8","timeStamping")});var bi=C((A_,pf)=>{var ce=re();Ee();Is();var B=pf.exports=ce.asn1=ce.asn1||{};B.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};B.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};B.create=function(t,e,r,n,i){if(ce.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||ce.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=B.copy(a)),a};B.copy=function(t,e){var r;if(ce.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(B.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:B.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};B.equals=function(t,e,r){if(ce.util.isArray(t)){if(!ce.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!B.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&&B.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};B.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 vi(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 pg=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;vi(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};B.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=ce.util.createBuffer(t));var r=t.length(),n=Rs(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 Rs(t,e,r,n){var i;vi(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=pg(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,h=(s&32)===32;if(h)if(l=[],c===void 0)for(;;){if(vi(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(Rs(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Rs(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&c>1){var p=t.read,d=e,m=0;if(a===B.Type.BITSTRING&&(vi(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=Rs(t,e,r+1,y),w=i-t.length();e-=w,a==B.Type.BITSTRING&&w++;var b=g.tagClass;w===c&&(b===B.Class.UNIVERSAL||b===B.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=p,e=d)}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===B.Type.BMPSTRING)for(l="";c>0;c-=2)vi(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var N=f===void 0?null:{bitStringContents:f};return B.create(o,a,h,l,N)}B.toDer=function(t){var e=ce.util.createBuffer(),r=t.tagClass|t.type,n=ce.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=B.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(B.toDer(t.value[s]))}else if(t.type===B.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===B.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};B.oidToDer=function(t){var e=t.split("."),r=ce.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};B.derToOid=function(t){var e;typeof t=="string"&&(t=ce.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};B.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),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};B.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,h=t.charAt(f);if(h==="+"||h==="-"){var p=parseInt(t.substr(f+1,2),10),d=parseInt(t.substr(f+4,2),10);u=p*60+d,u*=6e4,h==="+"&&(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};B.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};B.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};B.integerToDer=function(t){var e=ce.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};B.derToInteger=function(t){typeof t=="string"&&(t=ce.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)};B.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&&ce.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=B.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 df=/[^\\u0000-\\u00ff]/;B.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
6
|
-
`);for(var i="",
|
|
2
|
+
"use strict";var Libp2P=(()=>{var Pg=Object.create;var Oo=Object.defineProperty;var Dg=Object.getOwnPropertyDescriptor;var Ng=Object.getOwnPropertyNames;var kg=Object.getPrototypeOf,Og=Object.prototype.hasOwnProperty;var O=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),He=(t,e)=>{for(var r in e)Oo(t,r,{get:e[r],enumerable:!0})},wf=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ng(e))!Og.call(t,i)&&i!==r&&Oo(t,i,{get:()=>e[i],enumerable:!(n=Dg(e,i))||n.enumerable});return t};var J=(t,e,r)=>(r=t!=null?Pg(kg(t)):{},wf(e||!t||!t.__esModule?Oo(r,"default",{value:t,enumerable:!0}):r,t)),Mg=t=>wf(Oo({},"__esModule",{value:!0}),t);var $n=O((qA,Oa)=>{"use strict";var Vn=typeof Reflect=="object"?Reflect:null,Ef=Vn&&typeof Vn.apply=="function"?Vn.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},Mo;Vn&&typeof Vn.ownKeys=="function"?Mo=Vn.ownKeys:Object.getOwnPropertySymbols?Mo=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Mo=function(e){return Object.getOwnPropertyNames(e)};function Ug(t){console&&console.warn&&console.warn(t)}var _f=Number.isNaN||function(e){return e!==e};function xe(){xe.init.call(this)}Oa.exports=xe;Oa.exports.once=Vg;xe.EventEmitter=xe;xe.prototype._events=void 0;xe.prototype._eventsCount=0;xe.prototype._maxListeners=void 0;var vf=10;function Uo(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(xe,"defaultMaxListeners",{enumerable:!0,get:function(){return vf},set:function(t){if(typeof t!="number"||t<0||_f(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");vf=t}});xe.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};xe.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||_f(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Af(t){return t._maxListeners===void 0?xe.defaultMaxListeners:t._maxListeners}xe.prototype.getMaxListeners=function(){return Af(this)};xe.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(c===void 0)return!1;if(typeof c=="function")Ef(c,this,r);else for(var u=c.length,l=Tf(c,u),n=0;n<u;++n)Ef(l[n],this,r);return!0};function Sf(t,e,r,n){var i,o,s;if(Uo(r),o=t._events,o===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=Af(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,Ug(a)}return t}xe.prototype.addListener=function(e,r){return Sf(this,e,r,!1)};xe.prototype.on=xe.prototype.addListener;xe.prototype.prependListener=function(e,r){return Sf(this,e,r,!0)};function Kg(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function If(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=Kg.bind(n);return i.listener=r,n.wrapFn=i,i}xe.prototype.once=function(e,r){return Uo(r),this.on(e,If(this,e,r)),this};xe.prototype.prependOnceListener=function(e,r){return Uo(r),this.prependListener(e,If(this,e,r)),this};xe.prototype.removeListener=function(e,r){var n,i,o,s,a;if(Uo(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():Fg(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};xe.prototype.off=xe.prototype.removeListener;xe.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function Rf(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?qg(i):Tf(i,i.length)}xe.prototype.listeners=function(e){return Rf(this,e,!0)};xe.prototype.rawListeners=function(e){return Rf(this,e,!1)};xe.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):Cf.call(t,e)};xe.prototype.listenerCount=Cf;function Cf(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}xe.prototype.eventNames=function(){return this._eventsCount>0?Mo(this._events):[]};function Tf(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function Fg(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function qg(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function Vg(t,e){return new Promise(function(r,n){function i(s){t.removeListener(e,o),n(s)}function o(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}Bf(t,e,o,{once:!0}),e!=="error"&&$g(t,i,{once:!0})})}function $g(t,e,r){typeof t.on=="function"&&Bf(t,"error",e,r)}function Bf(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(o){n.once&&t.removeEventListener(e,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var ye=O((VA,Lf)=>{Lf.exports={options:{usePureJavaScript:!1}}});var Nf=O(($A,Df)=>{var Ma={};Df.exports=Ma;var Pf={};Ma.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=zg(t,e);else{var i=0,o=e.length,s=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
|
|
3
|
+
`)}return n};Ma.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=Pf[e];if(!r){r=Pf[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,o=e.charAt(0),s=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var l=0;t[l]===o&&l<t.length-1;++l)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function zg(t,e){var r=0,n=e.length,i=e.charAt(0),o=[0];for(r=0;r<t.length();++r){for(var s=0,a=t.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=e[o[r]];return c}});var ke=O((zA,Uf)=>{var kf=ye(),Of=Nf(),b=Uf.exports=kf.util=kf.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){b.nextTick=process.nextTick,typeof setImmediate=="function"?b.setImmediate=setImmediate:b.setImmediate=b.nextTick;return}if(typeof setImmediate=="function"){b.setImmediate=function(){return setImmediate.apply(void 0,arguments)},b.nextTick=function(a){return setImmediate(a)};return}if(b.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 s=a,t="forge.setImmediate",e=[];b.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=b.setImmediate;b.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}b.nextTick=b.setImmediate})();b.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;b.globalScope=function(){return b.isNodejs?globalThis:typeof self>"u"?window:self}();b.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};b.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};b.isArrayBufferView=function(t){return t&&b.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ui(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}b.ByteBuffer=Ua;function Ua(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(b.isArrayBuffer(t)||b.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 Ua||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}b.ByteStringBuffer=Ua;var Hg=4096;b.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Hg&&(this.data.substr(0,1),this._constructedStringLength=0)};b.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};b.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};b.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};b.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};b.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};b.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(b.encodeUtf8(t))};b.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};b.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};b.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))};b.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};b.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};b.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))};b.ByteStringBuffer.prototype.putInt=function(t,e){Ui(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};b.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};b.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};b.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};b.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};b.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};b.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};b.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};b.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};b.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};b.ByteStringBuffer.prototype.getInt=function(t){Ui(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};b.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};b.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};b.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};b.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};b.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};b.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};b.ByteStringBuffer.prototype.copy=function(){var t=b.createBuffer(this.data);return t.read=this.read,t};b.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};b.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};b.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};b.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};b.ByteStringBuffer.prototype.toString=function(){return b.decodeUtf8(this.bytes())};function Gg(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=b.isArrayBuffer(t),n=b.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)}b.DataBuffer=Gg;b.DataBuffer.prototype.length=function(){return this.write-this.read};b.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};b.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};b.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};b.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};b.DataBuffer.prototype.putBytes=function(t,e){if(b.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(b.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 b.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&b.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 b.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.hex.decode(t,o,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=b.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=b.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};b.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};b.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};b.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};b.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};b.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};b.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};b.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};b.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};b.DataBuffer.prototype.putInt=function(t,e){Ui(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};b.DataBuffer.prototype.putSignedInt=function(t,e){return Ui(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};b.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};b.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};b.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};b.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};b.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};b.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};b.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};b.DataBuffer.prototype.getInt=function(t){Ui(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};b.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};b.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};b.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};b.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};b.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};b.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};b.DataBuffer.prototype.copy=function(){return new b.DataBuffer(this)};b.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};b.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};b.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};b.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};b.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return b.binary.raw.encode(e);if(t==="hex")return b.binary.hex.encode(e);if(t==="base64")return b.binary.base64.encode(e);if(t==="utf8")return b.text.utf8.decode(e);if(t==="utf16")return b.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};b.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=b.encodeUtf8(t)),new b.ByteBuffer(t)};b.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};b.xorBytes=function(t,e,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};b.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};b.bytesToHex=function(t){return b.createBuffer(t).toHex()};b.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Tr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Br=[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],Mf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";b.encode64=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.length;)i=t.charCodeAt(a++),o=t.charCodeAt(a++),s=t.charCodeAt(a++),r+=Tr.charAt(i>>2),r+=Tr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Tr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Tr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
+
`,r=r.substr(e));return n+=r,n};b.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=Br[t.charCodeAt(s++)-43],n=Br[t.charCodeAt(s++)-43],i=Br[t.charCodeAt(s++)-43],o=Br[t.charCodeAt(s++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(e+=String.fromCharCode((i&3)<<6|o)));return e};b.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};b.decodeUtf8=function(t){return decodeURIComponent(escape(t))};b.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Of.encode,decode:Of.decode}};b.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};b.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};b.binary.hex.encode=b.bytesToHex;b.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,o=r;for(t.length&1&&(i=1,n[o++]=parseInt(t[0],16));i<t.length;i+=2)n[o++]=parseInt(t.substr(i,2),16);return e?o-r:n};b.binary.base64.encode=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.byteLength;)i=t[a++],o=t[a++],s=t[a++],r+=Tr.charAt(i>>2),r+=Tr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Tr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Tr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
5
|
+
`,r=r.substr(e));return n+=r,n};b.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=Br[t.charCodeAt(c++)-43],o=Br[t.charCodeAt(c++)-43],s=Br[t.charCodeAt(c++)-43],a=Br[t.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return e?u-r:n.subarray(0,u)};b.binary.base58.encode=function(t,e){return b.binary.baseN.encode(t,Mf,e)};b.binary.base58.decode=function(t,e){return b.binary.baseN.decode(t,Mf,e)};b.text={utf8:{},utf16:{}};b.text.utf8.encode=function(t,e,r){t=b.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};b.text.utf8.decode=function(t){return b.decodeUtf8(String.fromCharCode.apply(null,t))};b.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};b.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};b.deflate=function(t,e,r){if(e=b.decode64(t.deflate(b.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};b.inflate=function(t,e,r){var n=t.inflate(b.encode64(e)).rval;return n===null?null:b.decode64(n)};var Ka=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=b.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}},Fa=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(b.decode64(r))),r},Yg=function(t,e,r,n){var i=Fa(t,e);i===null&&(i={}),i[r]=n,Ka(t,e,i)},Wg=function(t,e,r){var n=Fa(t,e);return n!==null&&(n=r in n?n[r]:null),n},Qg=function(t,e,r){var n=Fa(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Ka(t,e,n)}},Xg=function(t,e){Ka(t,e,null)},Ko=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),o=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};b.setItem=function(t,e,r,n,i){Ko(Yg,arguments,i)};b.getItem=function(t,e,r,n){return Ko(Wg,arguments,n)};b.removeItem=function(t,e,r,n){Ko(Qg,arguments,n)};b.clearItems=function(t,e,r){Ko(Xg,arguments,r)};b.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};b.format=function(t){for(var e=/%./g,r,n,i=0,o=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&o.push(n),s=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(t.substring(s)),o.join("")};b.formatNumber=function(t,e,r,n){var i=t,o=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",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)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};b.formatSize=function(t){return t>=1073741824?t=b.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=b.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=b.formatNumber(t/1024,0)+" KiB":t=b.formatNumber(t,0)+" bytes",t};b.bytesFromIP=function(t){return t.indexOf(".")!==-1?b.bytesFromIPv4(t):t.indexOf(":")!==-1?b.bytesFromIPv6(t):null};b.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=b.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};b.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=b.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=b.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};b.bytesToIP=function(t){return t.length===4?b.bytesToIPv4(t):t.length===16?b.bytesToIPv6(t):null};b.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(".")};b.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=b.bytesToHex(t[i]+t[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=e.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};b.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in b&&!t.update)return e(null,b.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return b.cores=navigator.hardwareConcurrency,e(null,b.cores);if(typeof Worker>"u")return b.cores=1,e(null,b.cores);if(typeof Blob>"u")return b.cores=2,e(null,b.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(l,f){return l+f},0)/s.length);return b.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,b.cores)}i(c,function(l,f){s.push(o(c,f)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],l=0;l<s;++l){var f=new Worker(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===s){for(var p=0;p<s;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<s;++l)c[l].postMessage(l)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var l=a[u],f=c[u]=[],h=0;h<s;++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 Fo=O((HA,Kf)=>{var Ki=ye();Ki.pki=Ki.pki||{};var qa=Kf.exports=Ki.pki.oids=Ki.oids=Ki.oids||{};function B(t,e){qa[t]=e,qa[e]=t}function he(t,e){qa[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");he("2.5.29.1","authorityKeyIdentifier");he("2.5.29.2","keyAttributes");he("2.5.29.3","certificatePolicies");he("2.5.29.4","keyUsageRestriction");he("2.5.29.5","policyMapping");he("2.5.29.6","subtreesConstraint");he("2.5.29.7","subjectAltName");he("2.5.29.8","issuerAltName");he("2.5.29.9","subjectDirectoryAttributes");he("2.5.29.10","basicConstraints");he("2.5.29.11","nameConstraints");he("2.5.29.12","policyConstraints");he("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");he("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");he("2.5.29.20","cRLNumber");he("2.5.29.21","cRLReason");he("2.5.29.22","expirationDate");he("2.5.29.23","instructionCode");he("2.5.29.24","invalidityDate");he("2.5.29.25","cRLDistributionPoints");he("2.5.29.26","issuingDistributionPoint");he("2.5.29.27","deltaCRLIndicator");he("2.5.29.28","issuingDistributionPoint");he("2.5.29.29","certificateIssuer");he("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");he("2.5.29.33","policyMappings");he("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");he("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");he("2.5.29.46","freshestCRL");he("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 qi=O((GA,qf)=>{var Ae=ye();ke();Fo();var M=qf.exports=Ae.asn1=Ae.asn1||{};M.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};M.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};M.create=function(t,e,r,n,i){if(Ae.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:t,type:e,constructed:r,composed:r||Ae.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=M.copy(a)),a};M.copy=function(t,e){var r;if(Ae.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(M.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:M.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};M.equals=function(t,e,r){if(Ae.util.isArray(t)){if(!Ae.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!M.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&M.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};M.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Fi(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 Zg=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Fi(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};M.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=Ae.util.createBuffer(t));var r=t.length(),n=qo(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 qo(t,e,r,n){var i;Fi(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=Zg(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,h=(o&32)===32;if(h)if(l=[],c===void 0)for(;;){if(Fi(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(qo(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(qo(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&c>1){var p=t.read,d=e,m=0;if(a===M.Type.BITSTRING&&(Fi(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=qo(t,e,r+1,y),x=i-t.length();e-=x,a==M.Type.BITSTRING&&x++;var w=g.tagClass;x===c&&(w===M.Class.UNIVERSAL||w===M.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=p,e=d)}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===M.Type.BMPSTRING)for(l="";c>0;c-=2)Fi(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 M.create(s,a,h,l,C)}M.toDer=function(t){var e=Ae.util.createBuffer(),r=t.tagClass|t.type,n=Ae.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=M.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var o=0;o<t.value.length;++o)t.value[o]!==void 0&&n.putBuffer(M.toDer(t.value[o]))}else if(t.type===M.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===M.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)e.putByte(a.charCodeAt(o))}return e.putBuffer(n),e};M.oidToDer=function(t){var e=t.split("."),r=Ae.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,o,s,a=2;a<e.length;++a){n=!0,i=[],o=parseInt(e[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};M.derToOid=function(t){var e;typeof t=="string"&&(t=Ae.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};M.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),o=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};M.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,h=t.charAt(f);if(h==="+"||h==="-"){var p=parseInt(t.substr(f+1,2),10),d=parseInt(t.substr(f+4,2),10);u=p*60+d,u*=6e4,h==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};M.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};M.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};M.integerToDer=function(t){var e=Ae.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};M.derToInteger=function(t){typeof t=="string"&&(t=Ae.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};M.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&Ae.util.isArray(e.value))for(var o=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[o]&&(i=M.validate(t.value[o],e.value[s],r,n),i?++o:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var Ff=/[^\\u0000-\\u00ff]/;M.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
6
|
+
`);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case M.Class.UNIVERSAL:n+="Universal:";break;case M.Class.APPLICATION:n+="Application:";break;case M.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case M.Class.PRIVATE:n+="Private:";break}if(t.tagClass===M.Class.UNIVERSAL)switch(n+=t.type,t.type){case M.Type.NONE:n+=" (None)";break;case M.Type.BOOLEAN:n+=" (Boolean)";break;case M.Type.INTEGER:n+=" (Integer)";break;case M.Type.BITSTRING:n+=" (Bit string)";break;case M.Type.OCTETSTRING:n+=" (Octet string)";break;case M.Type.NULL:n+=" (Null)";break;case M.Type.OID:n+=" (Object Identifier)";break;case M.Type.ODESC:n+=" (Object Descriptor)";break;case M.Type.EXTERNAL:n+=" (External or Instance of)";break;case M.Type.REAL:n+=" (Real)";break;case M.Type.ENUMERATED:n+=" (Enumerated)";break;case M.Type.EMBEDDED:n+=" (Embedded PDV)";break;case M.Type.UTF8:n+=" (UTF8)";break;case M.Type.ROID:n+=" (Relative Object Identifier)";break;case M.Type.SEQUENCE:n+=" (Sequence)";break;case M.Type.SET:n+=" (Set)";break;case M.Type.PRINTABLESTRING:n+=" (Printable String)";break;case M.Type.IA5String:n+=" (IA5String (ASCII))";break;case M.Type.UTCTIME:n+=" (UTC time)";break;case M.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case M.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
|
|
7
7
|
`,n+=i+"Constructed: "+t.constructed+`
|
|
8
|
-
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=B.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===B.Type.OID){var c=B.derToOid(t.value);n+=c,ce.pki&&ce.pki.oids&&c in ce.pki.oids&&(n+=" ("+ce.pki.oids[c]+") ")}if(t.type===B.Type.INTEGER)try{n+=B.derToInteger(t.value)}catch{n+="0x"+ce.util.bytesToHex(t.value)}else if(t.type===B.Type.BITSTRING){if(t.value.length>1?n+="0x"+ce.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===B.Type.OCTETSTRING)df.test(t.value)||(n+="("+t.value+") "),n+="0x"+ce.util.bytesToHex(t.value);else if(t.type===B.Type.UTF8)try{n+=ce.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+ce.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===B.Type.PRINTABLESTRING||t.type===B.Type.IA5String?n+=t.value:df.test(t.value)?n+="0x"+ce.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Ta=C((S_,mf)=>{var Pe=re();Ee();mf.exports=Pe.cipher=Pe.cipher||{};Pe.cipher.algorithms=Pe.cipher.algorithms||{};Pe.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Pe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Pe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Pe.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Pe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Pe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Pe.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Pe.cipher.algorithms[t]=e};Pe.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Pe.cipher.algorithms?Pe.cipher.algorithms[t]:null};var Ca=Pe.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)};Ca.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=Pe.util.createBuffer(),this.output=t.output||Pe.util.createBuffer(),this.mode.start(e)};Ca.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()};Ca.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 Pa=C((I_,yf)=>{var Le=re();Ee();Le.cipher=Le.cipher||{};var $=yf.exports=Le.cipher.modes=Le.cipher.modes||{};$.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)};$.ecb.prototype.start=function(t){};$.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])};$.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])};$.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};$.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)};$.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)};$.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=Cs(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};$.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};$.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)};$.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};$.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)};$.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=Le.util.createBuffer(),this._partialBytes=0};$.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Cs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};$.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};$.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};$.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=Le.util.createBuffer(),this._partialBytes=0};$.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Cs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};$.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};$.ofb.prototype.decrypt=$.ofb.prototype.encrypt;$.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=Le.util.createBuffer(),this._partialBytes=0};$.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Cs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};$.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}Ts(this._inBlock)};$.ctr.prototype.decrypt=$.ctr.prototype.encrypt;$.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=Le.util.createBuffer(),this._partialBytes=0,this._R=3774873600};$.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Le.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Le.util.createBuffer(t.additionalData):r=Le.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Le.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(Ba(n*8)))}this._inBlock=this._j0.slice(0),Ts(this._inBlock),this._partialBytes=0,r=Le.util.createBuffer(r),this._aDataLength=Ba(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()])};$.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),Ts(this._inBlock)};$.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),Ts(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};$.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Le.util.createBuffer();var n=this._aDataLength.concat(Ba(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};$.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};$.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)};$.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};$.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)};$.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};$.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 Cs(t,e){if(typeof t=="string"&&(t=Le.util.createBuffer(t)),Le.util.isArray(t)&&t.length>4){var r=t;t=Le.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(!Le.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function Ts(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Ba(t){return[t/4294967296|0,t&4294967295]}});var Ps=C((R_,Ef)=>{var oe=re();Ta();Pa();Ee();Ef.exports=oe.aes=oe.aes||{};oe.aes.startEncrypting=function(t,e,r,n){var i=Bs({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};oe.aes.createEncryptionCipher=function(t,e){return Bs({key:t,output:null,decrypt:!1,mode:e})};oe.aes.startDecrypting=function(t,e,r,n){var i=Bs({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};oe.aes.createDecryptionCipher=function(t,e){return Bs({key:t,output:null,decrypt:!0,mode:e})};oe.aes.Algorithm=function(t,e){Na||xf();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Da(r._w,n,i,!1)},decrypt:function(n,i){return Da(r._w,n,i,!0)}}}),r._init=!1};oe.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=oe.util.createBuffer(e);else if(oe.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=oe.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!oe.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(!oe.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=wf(e,t.decrypt&&!o),this._init=!0}};oe.aes._expandKey=function(t,e){return Na||xf(),wf(t,e)};oe.aes._updateBlock=Da;An("AES-ECB",oe.cipher.modes.ecb);An("AES-CBC",oe.cipher.modes.cbc);An("AES-CFB",oe.cipher.modes.cfb);An("AES-OFB",oe.cipher.modes.ofb);An("AES-CTR",oe.cipher.modes.ctr);An("AES-GCM",oe.cipher.modes.gcm);function An(t,e){var r=function(){return new oe.aes.Algorithm(t,e)};oe.cipher.registerAlgorithm(t,r)}var Na=!1,_n=4,Ye,La,gf,kr,gt;function xf(){Na=!0,gf=[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;Ye=new Array(256),La=new Array(256),kr=new Array(4),gt=new Array(4);for(var e=0;e<4;++e)kr[e]=new Array(256),gt[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,Ye[r]=a,La[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)kr[f][r]=u,gt[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 wf(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=_n*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=Ye[n>>>16&255]<<24^Ye[n>>>8&255]<<16^Ye[n&255]<<8^Ye[n>>>24]^gf[i]<<24,i++):s>6&&c%s===4&&(n=Ye[n>>>24]<<24^Ye[n>>>16&255]<<16^Ye[n>>>8&255]<<8^Ye[n&255]),r[c]=r[c-s]^n;if(e){var u,l=gt[0],f=gt[1],h=gt[2],p=gt[3],d=r.slice(0);a=r.length;for(var c=0,m=a-_n;c<a;c+=_n,m-=_n)if(c===0||c===a-_n)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<_n;++y)u=r[m+y],d[c+(3&-y)]=l[Ye[u>>>24]]^f[Ye[u>>>16&255]]^h[Ye[u>>>8&255]]^p[Ye[u&255]];r=d}return r}function Da(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=gt[0],o=gt[1],a=gt[2],c=gt[3],u=La):(s=kr[0],o=kr[1],a=kr[2],c=kr[3],u=Ye);var l,f,h,p,d,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],p=e[n?1:3]^t[3];for(var g=3,w=1;w<i;++w)d=s[l>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[p&255]^t[++g],m=s[f>>>24]^o[h>>>16&255]^a[p>>>8&255]^c[l&255]^t[++g],y=s[h>>>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[h&255]^t[++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]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[h>>>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[h&255]^t[++g]}function Bs(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=oe.cipher.createDecipher(r,t.key):n=oe.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof oe.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var _f=C((C_,bf)=>{var he=re();Ta();Pa();Ee();bf.exports=he.des=he.des||{};he.des.startEncrypting=function(t,e,r,n){var i=Ls({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};he.des.createEncryptionCipher=function(t,e){return Ls({key:t,output:null,decrypt:!1,mode:e})};he.des.startDecrypting=function(t,e,r,n){var i=Ls({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};he.des.createDecryptionCipher=function(t,e){return Ls({key:t,output:null,decrypt:!0,mode:e})};he.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return vf(r._keys,n,i,!1)},decrypt:function(n,i){return vf(r._keys,n,i,!0)}}}),r._init=!1};he.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=he.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=_g(e),this._init=!0}};Lt("DES-ECB",he.cipher.modes.ecb);Lt("DES-CBC",he.cipher.modes.cbc);Lt("DES-CFB",he.cipher.modes.cfb);Lt("DES-OFB",he.cipher.modes.ofb);Lt("DES-CTR",he.cipher.modes.ctr);Lt("3DES-ECB",he.cipher.modes.ecb);Lt("3DES-CBC",he.cipher.modes.cbc);Lt("3DES-CFB",he.cipher.modes.cfb);Lt("3DES-OFB",he.cipher.modes.ofb);Lt("3DES-CTR",he.cipher.modes.ctr);function Lt(t,e){var r=function(){return new he.des.Algorithm(t,e)};he.cipher.registerAlgorithm(t,r)}var mg=[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],yg=[-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],gg=[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],xg=[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],wg=[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],vg=[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 _g(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],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=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],w=0,b,N=0;N<m;N++){var R=t.getInt32(),T=t.getInt32();b=(R>>>4^T)&252645135,T^=b,R^=b<<4,b=(T>>>-16^R)&65535,R^=b,T^=b<<-16,b=(R>>>2^T)&858993459,T^=b,R^=b<<2,b=(T>>>-16^R)&65535,R^=b,T^=b<<-16,b=(R>>>1^T)&1431655765,T^=b,R^=b<<1,b=(T>>>8^R)&16711935,R^=b,T^=b<<8,b=(R>>>1^T)&1431655765,T^=b,R^=b<<1,b=R<<8|T>>>20&240,R=T<<24|T<<8&16711680|T>>>8&65280|T>>>24&240,T=b;for(var H=0;H<g.length;++H){g[H]?(R=R<<2|R>>>26,T=T<<2|T>>>26):(R=R<<1|R>>>27,T=T<<1|T>>>27),R&=-15,T&=-15;var Y=e[R>>>28]|r[R>>>24&15]|n[R>>>20&15]|i[R>>>16&15]|s[R>>>12&15]|o[R>>>8&15]|a[R>>>4&15],Ce=c[T>>>28]|u[T>>>24&15]|l[T>>>20&15]|f[T>>>16&15]|h[T>>>12&15]|p[T>>>8&15]|d[T>>>4&15];b=(Ce>>>16^Y)&65535,y[w++]=Y^b,y[w++]=Ce^b<<16}}return y}function vf(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],h=s[u];h!=l;h+=f){var p=c^t[h],d=(c>>>4|c<<28)^t[h+1];o=a,a=c,c=o^(yg[p>>>24&63]|xg[p>>>16&63]|Eg[p>>>8&63]|bg[p&63]|mg[d>>>24&63]|gg[d>>>16&63]|wg[d>>>8&63]|vg[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 Ls(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=he.cipher.createDecipher(r,t.key):n=he.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof he.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Or=C((T_,Af)=>{var Ds=re();Af.exports=Ds.md=Ds.md||{};Ds.md.algorithms=Ds.md.algorithms||{}});var If=C((B_,Sf)=>{var Wt=re();Or();Ee();var Ag=Sf.exports=Wt.hmac=Wt.hmac||{};Ag.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in Wt.md.algorithms)e=Wt.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=Wt.util.createBuffer(o);else if(Wt.util.isArray(o)){var a=o;o=Wt.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=Wt.util.createBuffer(),n=Wt.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 Mr=C(()=>{});var ka=C((D_,Rf)=>{var We=re();If();Or();Ee();var Sg=We.pkcs5=We.pkcs5||{},Qt;We.util.isNodejs&&!We.options.usePureJavaScript&&(Qt=Mr());Rf.exports=We.pbkdf2=Sg.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),We.util.isNodejs&&!We.options.usePureJavaScript&&Qt.pbkdf2&&(i===null||typeof i!="object")&&(Qt.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?Qt.pbkdf2Sync.length===4?Qt.pbkdf2(t,e,r,n,function(b,N){if(b)return s(b);s(null,N.toString("binary"))}):Qt.pbkdf2(t,e,r,n,i,function(b,N){if(b)return s(b);s(null,N.toString("binary"))}):Qt.pbkdf2Sync.length===4?Qt.pbkdf2Sync(t,e,r,n).toString("binary"):Qt.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in We.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=We.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=We.hmac.create();l.start(i,t);var f="",h,p,d;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(We.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=We.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(e),l.update(We.util.int32ToBytes(m)),h=d=l.digest().getBytes(),y=2,w()}function w(){if(y<=r)return l.start(null,null),l.update(d),p=l.digest().getBytes(),h=We.util.xorBytes(h,p,o),d=p,++y,We.util.setImmediate(w);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var Bf=C((N_,Tf)=>{var ks=re();Ee();var Cf=Tf.exports=ks.pem=ks.pem||{};Cf.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
9
|
-
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=
|
|
10
|
-
`),r+=
|
|
8
|
+
`,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=M.prettyPrint(t.value[o],e+1,r),o+1<t.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",t.type===M.Type.OID){var c=M.derToOid(t.value);n+=c,Ae.pki&&Ae.pki.oids&&c in Ae.pki.oids&&(n+=" ("+Ae.pki.oids[c]+") ")}if(t.type===M.Type.INTEGER)try{n+=M.derToInteger(t.value)}catch{n+="0x"+Ae.util.bytesToHex(t.value)}else if(t.type===M.Type.BITSTRING){if(t.value.length>1?n+="0x"+Ae.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===M.Type.OCTETSTRING)Ff.test(t.value)||(n+="("+t.value+") "),n+="0x"+Ae.util.bytesToHex(t.value);else if(t.type===M.Type.UTF8)try{n+=Ae.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+Ae.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===M.Type.PRINTABLESTRING||t.type===M.Type.IA5String?n+=t.value:Ff.test(t.value)?n+="0x"+Ae.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var $a=O((YA,Vf)=>{var Ge=ye();ke();Vf.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 Va=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)};Va.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)};Va.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()};Va.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 Ha=O((WA,$f)=>{var Ye=ye();ke();Ye.cipher=Ye.cipher||{};var re=$f.exports=Ye.cipher.modes=Ye.cipher.modes||{};re.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)};re.ecb.prototype.start=function(t){};re.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])};re.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])};re.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};re.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)};re.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)};re.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=Vo(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};re.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};re.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)};re.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};re.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)};re.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};re.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Vo(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};re.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};re.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};re.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};re.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Vo(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};re.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};re.ofb.prototype.decrypt=re.ofb.prototype.encrypt;re.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};re.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Vo(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};re.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}$o(this._inBlock)};re.ctr.prototype.decrypt=re.ctr.prototype.encrypt;re.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};re.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(za(n*8)))}this._inBlock=this._j0.slice(0),$o(this._inBlock),this._partialBytes=0,r=Ye.util.createBuffer(r),this._aDataLength=za(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()])};re.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),$o(this._inBlock)};re.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),$o(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};re.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(za(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};re.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var o=t[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};re.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)};re.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,o=this._m[r][i];e[0]^=o[0],e[1]^=o[1],e[2]^=o[2],e[3]^=o[3]}return e};re.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)};re.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*e;a[c]=1<<e-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,t),e)}return o};re.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function Vo(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=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function $o(t){t[t.length-1]=t[t.length-1]+1&4294967295}function za(t){return[t/4294967296|0,t&4294967295]}});var Ho=O((QA,Yf)=>{var Ee=ye();$a();Ha();ke();Yf.exports=Ee.aes=Ee.aes||{};Ee.aes.startEncrypting=function(t,e,r,n){var i=zo({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};Ee.aes.createEncryptionCipher=function(t,e){return zo({key:t,output:null,decrypt:!1,mode:e})};Ee.aes.startDecrypting=function(t,e,r,n){var i=zo({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};Ee.aes.createDecryptionCipher=function(t,e){return zo({key:t,output:null,decrypt:!0,mode:e})};Ee.aes.Algorithm=function(t,e){Wa||Hf();var r=this;r.name=t,r.mode=new e({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};Ee.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=Ee.util.createBuffer(e);else if(Ee.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=Ee.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!Ee.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(!Ee.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=Gf(e,t.decrypt&&!s),this._init=!0}};Ee.aes._expandKey=function(t,e){return Wa||Hf(),Gf(t,e)};Ee.aes._updateBlock=Ya;Hn("AES-ECB",Ee.cipher.modes.ecb);Hn("AES-CBC",Ee.cipher.modes.cbc);Hn("AES-CFB",Ee.cipher.modes.cfb);Hn("AES-OFB",Ee.cipher.modes.ofb);Hn("AES-CTR",Ee.cipher.modes.ctr);Hn("AES-GCM",Ee.cipher.modes.gcm);function Hn(t,e){var r=function(){return new Ee.aes.Algorithm(t,e)};Ee.cipher.registerAlgorithm(t,r)}var Wa=!1,zn=4,ut,Ga,zf,rn,Bt;function Hf(){Wa=!0,zf=[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;ut=new Array(256),Ga=new Array(256),rn=new Array(4),Bt=new Array(4);for(var e=0;e<4;++e)rn[e]=new Array(256),Bt[e]=new Array(256);for(var r=0,n=0,i,o,s,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,ut[r]=a,Ga[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),l=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var f=0;f<4;++f)rn[f][r]=u,Bt[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function Gf(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=zn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=ut[n>>>16&255]<<24^ut[n>>>8&255]<<16^ut[n&255]<<8^ut[n>>>24]^zf[i]<<24,i++):o>6&&c%o===4&&(n=ut[n>>>24]<<24^ut[n>>>16&255]<<16^ut[n>>>8&255]<<8^ut[n&255]),r[c]=r[c-o]^n;if(e){var u,l=Bt[0],f=Bt[1],h=Bt[2],p=Bt[3],d=r.slice(0);a=r.length;for(var c=0,m=a-zn;c<a;c+=zn,m-=zn)if(c===0||c===a-zn)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<zn;++y)u=r[m+y],d[c+(3&-y)]=l[ut[u>>>24]]^f[ut[u>>>16&255]]^h[ut[u>>>8&255]]^p[ut[u&255]];r=d}return r}function Ya(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=Bt[0],s=Bt[1],a=Bt[2],c=Bt[3],u=Ga):(o=rn[0],s=rn[1],a=rn[2],c=rn[3],u=ut);var l,f,h,p,d,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],p=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)d=o[l>>>24]^s[f>>>16&255]^a[h>>>8&255]^c[p&255]^t[++g],m=o[f>>>24]^s[h>>>16&255]^a[p>>>8&255]^c[l&255]^t[++g],y=o[h>>>24]^s[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],p=o[p>>>24]^s[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++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]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[h>>>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[h&255]^t[++g]}function zo(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=Ee.cipher.createDecipher(r,t.key):n=Ee.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Ee.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Xf=O((XA,Qf)=>{var Ie=ye();$a();Ha();ke();Qf.exports=Ie.des=Ie.des||{};Ie.des.startEncrypting=function(t,e,r,n){var i=Go({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Ie.des.createEncryptionCipher=function(t,e){return Go({key:t,output:null,decrypt:!1,mode:e})};Ie.des.startDecrypting=function(t,e,r,n){var i=Go({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Ie.des.createDecryptionCipher=function(t,e){return Go({key:t,output:null,decrypt:!0,mode:e})};Ie.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Wf(r._keys,n,i,!1)},decrypt:function(n,i){return Wf(r._keys,n,i,!0)}}}),r._init=!1};Ie.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=Ie.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=s1(e),this._init=!0}};Yt("DES-ECB",Ie.cipher.modes.ecb);Yt("DES-CBC",Ie.cipher.modes.cbc);Yt("DES-CFB",Ie.cipher.modes.cfb);Yt("DES-OFB",Ie.cipher.modes.ofb);Yt("DES-CTR",Ie.cipher.modes.ctr);Yt("3DES-ECB",Ie.cipher.modes.ecb);Yt("3DES-CBC",Ie.cipher.modes.cbc);Yt("3DES-CFB",Ie.cipher.modes.cfb);Yt("3DES-OFB",Ie.cipher.modes.ofb);Yt("3DES-CTR",Ie.cipher.modes.ctr);function Yt(t,e){var r=function(){return new Ie.des.Algorithm(t,e)};Ie.cipher.registerAlgorithm(t,r)}var jg=[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],Jg=[-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],e1=[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],t1=[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],r1=[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],n1=[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],i1=[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],o1=[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 s1(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],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=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,w,C=0;C<m;C++){var _=t.getInt32(),A=t.getInt32();w=(_>>>4^A)&252645135,A^=w,_^=w<<4,w=(A>>>-16^_)&65535,_^=w,A^=w<<-16,w=(_>>>2^A)&858993459,A^=w,_^=w<<2,w=(A>>>-16^_)&65535,_^=w,A^=w<<-16,w=(_>>>1^A)&1431655765,A^=w,_^=w<<1,w=(A>>>8^_)&16711935,_^=w,A^=w<<8,w=(_>>>1^A)&1431655765,A^=w,_^=w<<1,w=_<<8|A>>>20&240,_=A<<24|A<<8&16711680|A>>>8&65280|A>>>24&240,A=w;for(var P=0;P<g.length;++P){g[P]?(_=_<<2|_>>>26,A=A<<2|A>>>26):(_=_<<1|_>>>27,A=A<<1|A>>>27),_&=-15,A&=-15;var D=e[_>>>28]|r[_>>>24&15]|n[_>>>20&15]|i[_>>>16&15]|o[_>>>12&15]|s[_>>>8&15]|a[_>>>4&15],W=c[A>>>28]|u[A>>>24&15]|l[A>>>20&15]|f[A>>>16&15]|h[A>>>12&15]|p[A>>>8&15]|d[A>>>4&15];w=(W>>>16^D)&65535,y[x++]=D^w,y[x++]=W^w<<16}}return y}function Wf(t,e,r,n){var i=t.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=e[0],c=e[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=o[u+1],f=o[u+2],h=o[u];h!=l;h+=f){var p=c^t[h],d=(c>>>4|c<<28)^t[h+1];s=a,a=c,c=s^(Jg[p>>>24&63]|t1[p>>>16&63]|n1[p>>>8&63]|o1[p&63]|jg[d>>>24&63]|e1[d>>>16&63]|r1[d>>>8&63]|i1[d&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function Go(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=Ie.cipher.createDecipher(r,t.key):n=Ie.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Ie.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var nn=O((ZA,Zf)=>{var Yo=ye();Zf.exports=Yo.md=Yo.md||{};Yo.md.algorithms=Yo.md.algorithms||{}});var Jf=O((jA,jf)=>{var fr=ye();nn();ke();var a1=jf.exports=fr.hmac=fr.hmac||{};a1.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in fr.md.algorithms)e=fr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else e=o;if(s===null)s=t;else{if(typeof s=="string")s=fr.util.createBuffer(s);else if(fr.util.isArray(s)){var a=s;s=fr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=fr.util.createBuffer(),n=fr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(o){e.update(o)},i.getMac=function(){var o=e.digest().bytes();return e.start(),e.update(n),e.update(o),e.digest()},i.digest=i.getMac,i}});var Vi=O(()=>{});var Qa=O((tS,e0)=>{var lt=ye();Jf();nn();ke();var c1=lt.pkcs5=lt.pkcs5||{},hr;lt.util.isNodejs&&!lt.options.usePureJavaScript&&(hr=Vi());e0.exports=lt.pbkdf2=c1.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),lt.util.isNodejs&&!lt.options.usePureJavaScript&&hr.pbkdf2&&(i===null||typeof i!="object")&&(hr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?hr.pbkdf2Sync.length===4?hr.pbkdf2(t,e,r,n,function(w,C){if(w)return o(w);o(null,C.toString("binary"))}):hr.pbkdf2(t,e,r,n,i,function(w,C){if(w)return o(w);o(null,C.toString("binary"))}):hr.pbkdf2Sync.length===4?hr.pbkdf2Sync(t,e,r,n).toString("binary"):hr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in lt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=lt.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,l=lt.hmac.create();l.start(i,t);var f="",h,p,d;if(!o){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(lt.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=lt.util.xorBytes(h,p,s),d=p;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return o(null,f);l.start(null,null),l.update(e),l.update(lt.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=lt.util.xorBytes(h,p,s),d=p,++y,lt.util.setImmediate(x);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var n0=O((rS,r0)=>{var Qo=ye();ke();var t0=r0.exports=Qo.pem=Qo.pem||{};t0.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
9
|
+
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=Wo(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Wo(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Wo(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Wo(t.headers[i]);return t.procType&&(r+=`\r
|
|
10
|
+
`),r+=Qo.util.encode64(t.body,e.maxline||64)+`\r
|
|
11
11
|
`,r+="-----END "+t.type+`-----\r
|
|
12
|
-
`,r};
|
|
13
|
-
`;for(var
|
|
14
|
-
`+e.substr(
|
|
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 Ig(t){return t.replace(/^\s+/,"")}});var Of=C((k_,kf)=>{var Dt=re();Or();Ee();var Lf=kf.exports=Dt.sha256=Dt.sha256||{};Dt.md.sha256=Dt.md.algorithms.sha256=Lf;Lf.create=function(){Df||Rg();var t=null,e=Dt.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=Dt.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=Dt.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),Pf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Dt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Oa.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};Pf(f,r,i);var h=Dt.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 Oa=null,Df=!1,Nf=null;function Rg(){Oa=String.fromCharCode(128),Oa+=Dt.util.fillString(String.fromCharCode(0),64),Nf=[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],Df=!0}function Pf(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,p,d,m,y,g,w=r.length();w>=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,h=t.h2,p=t.h3,d=t.h4,m=t.h5,y=t.h6,g=t.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+Nf[u]+e[u],i=s+c,g=y,y=m,m=d,d=p+n>>>0,p=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+p|0,t.h4=t.h4+d|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,w-=64}}});var Ff=C((O_,Mf)=>{var Nt=re();Ee();var Os=null;Nt.util.isNodejs&&!Nt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Os=Mr());var Cg=Mf.exports=Nt.prng=Nt.prng||{};Cg.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,h=e.plugin.increment,p=e.plugin.formatKey,d=e.plugin.formatSeed,m=Nt.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 Nt.util.nextTick(function(){s(y)});var w=f(e.key,e.seed);e.generated+=w.length,m.putBytes(w),e.key=p(f(e.key,h(e.seed))),e.seed=d(f(e.key,e.seed)),Nt.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var d=Nt.util.createBuffer();d.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,d.putBytes(m),e.key=h(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return d.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,h){if(f)return u(f);e.collect(h),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 h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=Nt.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(R){return h.getRandomValues(R)});var p=Nt.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(R){if(!(typeof QuotaExceededError<"u"&&R instanceof QuotaExceededError))throw R}}if(p.length()<u)for(var g,w,b,N=Math.floor(Math.random()*65536);p.length()<u;){w=16807*(N&65535),g=16807*(N>>16),w+=(g&32767)<<16,w+=g>>15,w=(w&2147483647)+(w>>31),N=w&4294967295;for(var y=0;y<3;++y)b=N>>>(y<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(u)}return Os?(e.seedFile=function(u,l){Os.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return Os.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="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.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&&e.seedFile(h.forge.prng.needed,function(p,d){u.postMessage({forge:{prng:{err:p,bytes:d}}})})};u.addEventListener("message",l)}},e}});var _i=C((M_,Ma)=>{var De=re();Ps();Of();Ff();Ee();(function(){if(De.random&&De.random.getBytes){Ma.exports=De.random;return}(function(t){var e={},r=new Array(4),n=De.util.createBuffer();e.formatKey=function(f){var h=De.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),De.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=De.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},e.cipher=function(f,h){return De.aes._updateBlock(f,h,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=De.md.sha256;function i(){var f=De.prng.create(e);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=De.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),De.options.usePureJavaScript||!De.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(!De.random)De.random=s;else for(var l in s)De.random[l]=s[l];De.random.createInstance=i,Ma.exports=De.random})(typeof jQuery<"u"?jQuery:null)})()});var qf=C((F_,Vf)=>{var Je=re();Ee();var Fa=[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],Uf=[1,2,3,5],Tg=function(t,e){return t<<e&65535|(t&65535)>>16-e},Bg=function(t,e){return(t&65535)>>e|t<<16-e&65535};Vf.exports=Je.rc2=Je.rc2||{};Je.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Je.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(Fa[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Fa[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Fa[r.at(a+1)^r.at(a+s)]);return r};var Kf=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=Je.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.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]=Tg(d[u],Uf[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]=Bg(d[u],Uf[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 w=0;w<d[g][0];w++)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=Je.util.createBuffer(d)),n=!1,i=Je.util.createBuffer(),s=m||new Je.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(),w=s.at(g-1);w>g?m=!1:s.truncate(w)}return m}},p};Je.rc2.startEncrypting=function(t,e,r){var n=Je.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Je.rc2.createEncryptionCipher=function(t,e){return Kf(t,e,!0)};Je.rc2.startDecrypting=function(t,e,r){var n=Je.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Je.rc2.createDecryptionCipher=function(t,e){return Kf(t,e,!1)}});var Us=C((U_,Xf)=>{var Ua=re();Xf.exports=Ua.jsbn=Ua.jsbn||{};var Xt,Pg=0xdeadbeefcafe,zf=(Pg&16777215)==15715070;function A(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))}Ua.jsbn.BigInteger=A;function J(){return new A(null)}function Lg(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 Dg(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 $f(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"?(A.prototype.am=$f,Xt=28):zf&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=Dg,Xt=30):zf&&navigator.appName!="Netscape"?(A.prototype.am=Lg,Xt=26):(A.prototype.am=$f,Xt=28);A.prototype.DB=Xt;A.prototype.DM=(1<<Xt)-1;A.prototype.DV=1<<Xt;var Ka=52;A.prototype.FV=Math.pow(2,Ka);A.prototype.F1=Ka-Xt;A.prototype.F2=2*Xt-Ka;var Ng="0123456789abcdefghijklmnopqrstuvwxyz",Ms=new Array,Sn,ft;Sn="0".charCodeAt(0);for(ft=0;ft<=9;++ft)Ms[Sn++]=ft;Sn="a".charCodeAt(0);for(ft=10;ft<36;++ft)Ms[Sn++]=ft;Sn="A".charCodeAt(0);for(ft=10;ft<36;++ft)Ms[Sn++]=ft;function Hf(t){return Ng.charAt(t)}function Gf(t,e){var r=Ms[t.charCodeAt(e)];return r??-1}function kg(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 Og(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 ur(t){var e=J();return e.fromInt(t),e}function Mg(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:Gf(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&&A.ZERO.subTo(this,this)}function Fg(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Ug(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=Hf(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+=Hf(n));return i?s:"0"}function Kg(){var t=J();return A.ZERO.subTo(this,t),t}function Vg(){return this.s<0?this.negate():this}function qg(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function Fs(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function zg(){return this.t<=0?0:this.DB*(this.t-1)+Fs(this.data[this.t-1]^this.s&this.DM)}function $g(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 Hg(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 Gg(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 Yg(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 Wg(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 Qg(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&&A.ZERO.subTo(e,e)}function Xg(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 Zg(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=J());var s=J(),o=this.s,a=t.s,c=this.DB-Fs(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),h=this.FV/f,p=(1<<this.F1)/f,d=1<<this.F2,m=r.t,y=m-u,g=e??J();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),A.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var w=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,w,r,y,0,u))<w)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--w;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&A.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&A.ZERO.subTo(r,r)}}}function Jg(t){var e=J();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(A.ZERO)>0&&t.subTo(e,e),e}function Fr(t){this.m=t}function jg(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function e1(t){return t}function t1(t){t.divRemTo(this.m,null,t)}function r1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function n1(t,e){t.squareTo(e),this.reduce(e)}Fr.prototype.convert=jg;Fr.prototype.revert=e1;Fr.prototype.reduce=t1;Fr.prototype.mulTo=r1;Fr.prototype.sqrTo=n1;function i1(){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 Ur(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 s1(t){var e=J();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(A.ZERO)>0&&this.m.subTo(e,e),e}function o1(t){var e=J();return t.copyTo(e),this.reduce(e),e}function a1(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 c1(t,e){t.squareTo(e),this.reduce(e)}function u1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Ur.prototype.convert=s1;Ur.prototype.revert=o1;Ur.prototype.reduce=a1;Ur.prototype.mulTo=u1;Ur.prototype.sqrTo=c1;function l1(){return(this.t>0?this.data[0]&1:this.s)==0}function f1(t,e){if(t>4294967295||t<1)return A.ONE;var r=J(),n=J(),i=e.convert(this),s=Fs(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function h1(t,e){var r;return t<256||e.isEven()?r=new Fr(e):r=new Ur(e),this.exp(t,r)}A.prototype.copyTo=kg;A.prototype.fromInt=Og;A.prototype.fromString=Mg;A.prototype.clamp=Fg;A.prototype.dlShiftTo=$g;A.prototype.drShiftTo=Hg;A.prototype.lShiftTo=Gg;A.prototype.rShiftTo=Yg;A.prototype.subTo=Wg;A.prototype.multiplyTo=Qg;A.prototype.squareTo=Xg;A.prototype.divRemTo=Zg;A.prototype.invDigit=i1;A.prototype.isEven=l1;A.prototype.exp=f1;A.prototype.toString=Ug;A.prototype.negate=Kg;A.prototype.abs=Vg;A.prototype.compareTo=qg;A.prototype.bitLength=zg;A.prototype.mod=Jg;A.prototype.modPowInt=h1;A.ZERO=ur(0);A.ONE=ur(1);function d1(){var t=J();return this.copyTo(t),t}function p1(){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 m1(){return this.t==0?this.s:this.data[0]<<24>>24}function y1(){return this.t==0?this.s:this.data[0]<<16>>16}function g1(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function x1(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function w1(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=ur(r),i=J(),s=J(),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 E1(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=Gf(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&&A.ZERO.subTo(this,this)}function v1(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(A.ONE.shiftLeft(t-1),Va,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(A.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 b1(){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 _1(t){return this.compareTo(t)==0}function A1(t){return this.compareTo(t)<0?this:t}function S1(t){return this.compareTo(t)>0?this:t}function I1(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 R1(t,e){return t&e}function C1(t){var e=J();return this.bitwiseTo(t,R1,e),e}function Va(t,e){return t|e}function T1(t){var e=J();return this.bitwiseTo(t,Va,e),e}function Yf(t,e){return t^e}function B1(t){var e=J();return this.bitwiseTo(t,Yf,e),e}function Wf(t,e){return t&~e}function P1(t){var e=J();return this.bitwiseTo(t,Wf,e),e}function L1(){for(var t=J(),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 D1(t){var e=J();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function N1(t){var e=J();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function k1(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 O1(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+k1(this.data[t]);return this.s<0?this.t*this.DB:-1}function M1(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function F1(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=M1(this.data[r]^e);return t}function U1(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function K1(t,e){var r=A.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function V1(t){return this.changeBit(t,Va)}function q1(t){return this.changeBit(t,Wf)}function z1(t){return this.changeBit(t,Yf)}function $1(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 H1(t){var e=J();return this.addTo(t,e),e}function G1(t){var e=J();return this.subTo(t,e),e}function Y1(t){var e=J();return this.multiplyTo(t,e),e}function W1(t){var e=J();return this.divRemTo(t,e,null),e}function Q1(t){var e=J();return this.divRemTo(t,null,e),e}function X1(t){var e=J(),r=J();return this.divRemTo(t,e,r),new Array(e,r)}function Z1(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function J1(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 Ai(){}function Qf(t){return t}function j1(t,e,r){t.multiplyTo(e,r)}function ex(t,e){t.squareTo(e)}Ai.prototype.convert=Qf;Ai.prototype.revert=Qf;Ai.prototype.mulTo=j1;Ai.prototype.sqrTo=ex;function tx(t){return this.exp(t,new Ai)}function rx(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 nx(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 In(t){this.r2=J(),this.q3=J(),A.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function ix(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=J();return t.copyTo(e),this.reduce(e),e}function sx(t){return t}function ox(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 ax(t,e){t.squareTo(e),this.reduce(e)}function cx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}In.prototype.convert=ix;In.prototype.revert=sx;In.prototype.reduce=ox;In.prototype.mulTo=cx;In.prototype.sqrTo=ax;function ux(t,e){var r=t.bitLength(),n,i=ur(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new Fr(e):e.isEven()?s=new In(e):s=new Ur(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=J();for(s.sqrTo(o[1],l);a<=u;)o[a]=J(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,h,p=!0,d=J(),m;for(r=Fs(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.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&&!(t.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 lx(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 fx(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 hx(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return A.ZERO;for(var r=t.clone(),n=this.clone(),i=ur(1),s=ur(0),o=ur(0),a=ur(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(A.ONE)!=0)return A.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 xt=[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],dx=(1<<26)/xt[xt.length-1];function px(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=xt[xt.length-1]){for(e=0;e<xt.length;++e)if(r.data[0]==xt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<xt.length;){for(var n=xt[e],i=e+1;i<xt.length&&n<dx;)n*=xt[i++];for(n=r.modInt(n);e<i;)if(n%xt[e++]==0)return!1}return r.millerRabin(t)}function mx(t){var e=this.subtract(A.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=yx(),s,o=0;o<t;++o){do s=new A(this.bitLength(),i);while(s.compareTo(A.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function yx(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=g1;A.prototype.toRadix=w1;A.prototype.fromRadix=E1;A.prototype.fromNumber=v1;A.prototype.bitwiseTo=I1;A.prototype.changeBit=K1;A.prototype.addTo=$1;A.prototype.dMultiply=Z1;A.prototype.dAddOffset=J1;A.prototype.multiplyLowerTo=rx;A.prototype.multiplyUpperTo=nx;A.prototype.modInt=fx;A.prototype.millerRabin=mx;A.prototype.clone=d1;A.prototype.intValue=p1;A.prototype.byteValue=m1;A.prototype.shortValue=y1;A.prototype.signum=x1;A.prototype.toByteArray=b1;A.prototype.equals=_1;A.prototype.min=A1;A.prototype.max=S1;A.prototype.and=C1;A.prototype.or=T1;A.prototype.xor=B1;A.prototype.andNot=P1;A.prototype.not=L1;A.prototype.shiftLeft=D1;A.prototype.shiftRight=N1;A.prototype.getLowestSetBit=O1;A.prototype.bitCount=F1;A.prototype.testBit=U1;A.prototype.setBit=V1;A.prototype.clearBit=q1;A.prototype.flipBit=z1;A.prototype.add=H1;A.prototype.subtract=G1;A.prototype.multiply=Y1;A.prototype.divide=W1;A.prototype.remainder=Q1;A.prototype.divideAndRemainder=X1;A.prototype.modPow=ux;A.prototype.modInverse=hx;A.prototype.pow=tx;A.prototype.gcd=lx;A.prototype.isProbablePrime=px});var t0=C((K_,e0)=>{var kt=re();Or();Ee();var Jf=e0.exports=kt.sha1=kt.sha1||{};kt.md.sha1=kt.md.algorithms.sha1=Jf;Jf.create=function(){jf||gx();var t=null,e=kt.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=kt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=kt.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),Zf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=kt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(qa.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};Zf(f,r,i);var h=kt.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 qa=null,jf=!1;function gx(){qa=String.fromCharCode(128),qa+=kt.util.fillString(String.fromCharCode(0),64),jf=!0}function Zf(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 i0=C((V_,n0)=>{var Ot=re();Ee();_i();t0();var r0=n0.exports=Ot.pkcs1=Ot.pkcs1||{};r0.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=Ot.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="",h=c-e.length,p=0;p<h;p++)f+="\0";var d=l.getBytes()+f+""+e;if(!i)i=Ot.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=Ks(i,a-s.digestLength-1,o),y=Ot.util.xorBytes(d,m,d.length),g=Ks(y,s.digestLength,o),w=Ot.util.xorBytes(i,g,i.length);return"\0"+w+y};r0.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=Ot.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=Ks(l,i.digestLength,s),h=Ot.util.xorBytes(u,f,u.length),p=Ks(h,o-i.digestLength-1,s),d=Ot.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 w=1,b=i.digestLength,N=i.digestLength;N<d.length;N++){var R=d.charCodeAt(N),T=R&1^1,H=w?65534:0;y|=R&H,w=w&T,b+=w}if(y||d.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(b+1)};function Ks(t,e,r){r||(r=Ot.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 s0=C((q_,za)=>{var lr=re();Ee();Us();_i();(function(){if(lr.prime){za.exports=lr.prime;return}var t=za.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,h){return f|h};t.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 w=m.getBytesSync(g.length),b=0;b<g.length;++b)g[b]=w.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 w=10;"maxBlockTime"in p&&(w=p.maxBlockTime),a(m,f,h,y,g,w,d)}function a(f,h,p,d,m,y,g){var w=+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-w<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,w=g*30/8,b=p.workerScript||"forge/prime.worker.js";if(y===-1)return lr.util.estimateCores(function(R,T){R&&(T=2),y=T-1,N()});N();function N(){y=Math.max(1,y);for(var R=[],T=0;T<y;++T)R[T]=new Worker(b);for(var H=y,T=0;T<y;++T)R[T].addEventListener("message",Ce);var Y=!1;function Ce(yt){if(!Y){--H;var tt=yt.data;if(tt.found){for(var Ge=0;Ge<R.length;++Ge)R[Ge].terminate();return Y=!0,d(null,new e(tt.prime,16))}m.bitLength()>f&&(m=u(f,h));var En=m.toString(16);yt.target.postMessage({hex:En,workLoad:g}),m.dAddOffset(w,0)}}}}function u(f,h){var p=new e(f,h),d=f-1;return p.testBit(d)||p.bitwiseTo(e.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 qs=C((z_,h0)=>{var M=re();bi();Us();Is();i0();s0();_i();Ee();typeof W>"u"&&(W=M.jsbn.BigInteger);var W,$a=M.util.isNodejs?Mr():null,v=M.asn1,ht=M.util;M.pki=M.pki||{};h0.exports=M.pki.rsa=M.rsa=M.rsa||{};var K=M.pki,xx=[6,4,2,4,2,4,6,2],wx={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"}]},Ex={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"}]},vx={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"}]},bx=M.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"}]}]},_x={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"}]},Ax=function(t){var e;if(t.algorithm in K.oids)e=K.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()},l0=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(W.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(W.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new W(M.util.bytesToHex(M.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(W.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};K.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=f0(t,e,r)):(i=M.util.createBuffer(),i.putBytes(t));for(var o=new W(i.toHex(),16),a=l0(o,e,n),c=a.toString(16),u=M.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),u.getBytes()};K.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 W(M.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=l0(o,e,r),c=a.toString(16),u=M.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),n!==!1?Vs(u.getBytes(),e,r):u.getBytes()};K.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||M.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 W(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};K.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new W(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},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 W(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(W.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(Ix(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(xx[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(W.ONE).gcd(t.e).compareTo(W.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(W.ONE),t.q1=t.q.subtract(W.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(W.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:K.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:K.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};K.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),!M.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(o0("generateKeyPair"))return $a.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:K.privateKeyFromPem(u),publicKey:K.publicKeyFromPem(c)})});if(a0("generateKey")&&a0("exportKey"))return ht.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:u0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return ht.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=K.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(a)));n(null,{privateKey:c,publicKey:K.setRsaPublicKey(c.n,c.e)})}});if(c0("generateKey")&&c0("exportKey")){var i=ht.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:u0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=ht.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=K.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(f)));n(null,{privateKey:h,publicKey:K.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(o0("generateKeyPairSync")){var s=$a.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:K.privateKeyFromPem(s.privateKey),publicKey:K.publicKeyFromPem(s.publicKey)}}}var o=K.rsa.createKeyPairGenerationState(t,e,r);if(!n)return K.rsa.stepKeyPairGenerationState(o,0),o.keys;Sx(o,r,n)};K.setRsaPublicKey=K.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 f0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return M.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 K.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=Vs(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,_x,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===M.oids.md2||d===M.oids.md5||d===M.oids.sha1||d===M.oids.sha224||d===M.oids.sha256||d===M.oids.sha384||d===M.oids.sha512||d===M.oids["sha512-224"]||d===M.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=d,p}if((d===M.oids.md2||d===M.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=Vs(u,r,!0),c===u}});var a=K.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};K.setRsaPrivateKey=K.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 h=K.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Vs};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,d){return M.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:Ax},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return K.rsa.encrypt(h,c,f)},c};K.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(K.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())])};K.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,wx,e,r)&&(t=v.fromDer(M.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Ex,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=M.util.createBuffer(e.privateKeyModulus).toHex(),s=M.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=M.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=M.util.createBuffer(e.privateKeyPrime1).toHex(),c=M.util.createBuffer(e.privateKeyPrime2).toHex(),u=M.util.createBuffer(e.privateKeyExponent1).toHex(),l=M.util.createBuffer(e.privateKeyExponent2).toHex(),f=M.util.createBuffer(e.privateKeyCoefficient).toHex(),K.setRsaPrivateKey(new W(i,16),new W(s,16),new W(o,16),new W(a,16),new W(c,16),new W(u,16),new W(l,16),new W(f,16))};K.privateKeyToAsn1=K.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,Mt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Mt(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Mt(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Mt(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Mt(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Mt(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Mt(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Mt(t.qInv))])};K.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,bx,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==K.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,vx,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=M.util.createBuffer(e.publicKeyModulus).toHex(),o=M.util.createBuffer(e.publicKeyExponent).toHex();return K.setRsaPublicKey(new W(s,16),new W(o,16))};K.publicKeyToAsn1=K.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(K.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[K.publicKeyToRSAPublicKey(t)])])};K.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Mt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Mt(t.e))])};function f0(t,e,r){var n=M.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=M.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 Vs(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=M.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 Sx(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){M.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(W.ONE).gcd(t.e).compareTo(W.ONE)!==0){t.p=null,i();return}if(t.q.subtract(W.ONE).gcd(t.e).compareTo(W.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(W.ONE),t.q1=t.q.subtract(W.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(W.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:K.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:K.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Mt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=M.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 Ix(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 o0(t){return M.util.isNodejs&&typeof $a[t]=="function"}function a0(t){return typeof ht.globalScope<"u"&&typeof ht.globalScope.crypto=="object"&&typeof ht.globalScope.crypto.subtle=="object"&&typeof ht.globalScope.crypto.subtle[t]=="function"}function c0(t){return typeof ht.globalScope<"u"&&typeof ht.globalScope.msCrypto=="object"&&typeof ht.globalScope.msCrypto.subtle=="object"&&typeof ht.globalScope.msCrypto.subtle[t]=="function"}function u0(t){for(var e=M.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var x0=C(($_,g0)=>{var P=re();Ps();bi();_f();Or();Is();ka();Bf();_i();qf();qs();Ee();typeof d0>"u"&&(d0=P.jsbn.BigInteger);var d0,_=P.asn1,q=P.pki=P.pki||{};g0.exports=q.pbe=P.pbe=P.pbe||{};var Kr=q.oids,Rx={name:"EncryptedPrivateKeyInfo",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Cx={name:"PBES2Algorithms",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Tx={name:"pkcs-12PbeParams",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,capture:"iterations"}]};q.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,s=_.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=Kr["aes128-CBC"],f=P.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=Kr["aes192-CBC"],f=P.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=Kr["aes256-CBC"],f=P.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=Kr.desCBC,f=P.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=y0(p),m=P.pkcs5.pbkdf2(e,n,i,o,d),y=P.random.getBytesSync(u),g=f(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes();var w=Bx(n,s,o,p);a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(Kr.pkcs5PBES2).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(Kr.pkcs5PBKDF2).getBytes()),w]),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(l).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var b=new P.util.ByteBuffer(n),m=q.pbe.generatePkcs12Key(e,b,1,i,o),y=q.pbe.generatePkcs12Key(e,b,2,i,o),g=P.des.createEncryptionCipher(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes(),a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(Kr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,n),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,s.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var N=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[a,_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,c)]);return N};q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!_.validate(t,Rx,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=_.derToOid(n.encryptionOid),a=q.pbe.getCipher(o,n.encryptionParams,e),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=_.fromDer(a.output)),r};q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:_.toDer(t).getBytes()};return P.pem.encode(r,{maxline:e})};q.encryptedPrivateKeyFromPem=function(t){var e=P.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 _.fromDer(e.body)};q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=q.wrapRsaPrivateKey(q.privateKeyToAsn1(t));return n=q.encryptPrivateKeyInfo(n,e,r),q.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=P.random.getBytesSync(8),a=P.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=P.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(_.toDer(q.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return P.pem.encode(f)};q.decryptRsaPrivateKey=function(t,e){var r=null,n=P.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=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=P.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=P.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=P.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return P.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return P.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return P.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=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=q.decryptPrivateKeyInfo(_.fromDer(r),e):r=_.fromDer(r),r!==null&&(r=q.privateKeyFromAsn1(r)),r};q.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');s=P.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new P.util.ByteBuffer,f=new P.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),p=e.length(),d=new P.util.ByteBuffer;d.fillWithByte(r,u);var m=u*Math.ceil(p/u),y=new P.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%p));var g=u*Math.ceil(h/u),w=new P.util.ByteBuffer;for(a=0;a<g;a++)w.putByte(f.at(a%h));var b=y;b.putBuffer(w);for(var N=Math.ceil(i/c),R=1;R<=N;R++){var T=new P.util.ByteBuffer;T.putBytes(d.bytes()),T.putBytes(b.bytes());for(var H=0;H<n;H++)s.start(),s.update(T.getBytes()),T=s.digest();var Y=new P.util.ByteBuffer;for(a=0;a<u;a++)Y.putByte(T.at(a%c));var Ce=Math.ceil(p/u)+Math.ceil(h/u),yt=new P.util.ByteBuffer;for(o=0;o<Ce;o++){var tt=new P.util.ByteBuffer(b.getBytes(u)),Ge=511;for(a=Y.length()-1;a>=0;a--)Ge=Ge>>8,Ge+=Y.at(a)+tt.at(a),tt.setAt(a,Ge&255);yt.putBuffer(tt)}b=yt,l.putBuffer(T)}return l.truncate(l.length()-i),l};q.pbe.getCipher=function(t,e,r){switch(t){case q.oids.pkcs5PBES2:return q.pbe.getCipherForPBES2(t,e,r);case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case q.oids["pbewithSHAAnd40BitRC2-CBC"]:return q.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!_.validate(e,Cx,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=_.derToOid(n.kdfOid),t!==q.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=_.derToOid(n.encOid),t!==q.oids["aes128-CBC"]&&t!==q.oids["aes192-CBC"]&&t!==q.oids["aes256-CBC"]&&t!==q.oids["des-EDE3-CBC"]&&t!==q.oids.desCBC){var 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=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(q.oids[t]){case"aes128-CBC":c=16,u=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=P.des.createDecryptionCipher;break;case"desCBC":c=8,u=P.des.createDecryptionCipher;break}var l=m0(n.prfOid),f=P.pkcs5.pbkdf2(r,o,a,c,l),h=n.encIv,p=u(f);return p.start(h),p};q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!_.validate(e,Tx,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=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=P.des.startDecrypting;break;case q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=P.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=m0(n.prfOid),h=q.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=q.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(h,p)};q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}e===null&&(e="");for(var i=[p0(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(p0(n,i[o-1]+t+e));return i.join("").substr(0,r)};function p0(t,e){return t.start().update(e).digest().getBytes()}function m0(t){var e;if(!t)e="hmacWithSHA1";else if(e=q.oids[_.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return y0(e)}function y0(t){var e=P.md;switch(t){case"hmacWithSHA224":e=P.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 Bx(t,e,r,n){var i=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,t),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(q.oids[n]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.NULL,!1,"")])),i}});var th=C((YA,eh)=>{"use strict";eh.exports=e2;function e2(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var sh=C(ih=>{"use strict";var Zs=ih;Zs.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var Nn=new Array(64),nh=new Array(123);for(vt=0;vt<64;)nh[Nn[vt]=vt<26?vt+65:vt<52?vt+71:vt<62?vt-4:vt-59|43]=vt++;var vt;Zs.encode=function(e,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[o++]=Nn[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=Nn[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=Nn[c|u>>6],s[o++]=Nn[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=Nn[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var rh="invalid encoding";Zs.decode=function(e,r,n){for(var i=n,s=0,o,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=nh[c])===void 0)throw Error(rh);switch(s){case 0:o=c,s=1;break;case 1:r[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:r[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:r[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(rh);return n-i};Zs.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var ah=C((QA,oh)=>{"use strict";oh.exports=Js;function Js(){this._listeners={}}Js.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Js.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Js.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var ph=C((XA,dh)=>{"use strict";dh.exports=ch(ch);function ch(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:s,t.writeFloatBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?o:a,t.readFloatBE=n?a:o}():function(){function e(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}t.writeFloatLE=e.bind(null,uh),t.writeFloatBE=e.bind(null,lh);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,fh),t.readFloatBE=r.bind(null,hh)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:s,t.writeDoubleBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?o:a,t.readDoubleBE=n?a:o}():function(){function e(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,uh,0,4),t.writeDoubleBE=e.bind(null,lh,4,0);function r(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,fh,0,4),t.readDoubleBE=r.bind(null,hh,4,0)}(),t}function uh(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 lh(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function fh(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function hh(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var mh=C((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var gh=C(yh=>{"use strict";var vc=yh;vc.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};vc.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=e[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};vc.write=function(e,r,n){for(var i=n,s,o,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)===55296&&((o=e.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-i}});var wh=C((JA,xh)=>{"use strict";xh.exports=t2;function t2(t,e,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return t(c);o+c>n&&(s=t(n),o=0);var u=e.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var vh=C((jA,Eh)=>{"use strict";Eh.exports=ke;var Di=Yr();function ke(t,e){this.lo=t>>>0,this.hi=e>>>0}var Gr=ke.zero=new ke(0,0);Gr.toNumber=function(){return 0};Gr.zzEncode=Gr.zzDecode=function(){return this};Gr.length=function(){return 1};var r2=ke.zeroHash="\0\0\0\0\0\0\0\0";ke.fromNumber=function(e){if(e===0)return Gr;var r=e<0;r&&(e=-e);var 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 ke(n,i)};ke.from=function(e){if(typeof e=="number")return ke.fromNumber(e);if(Di.isString(e))if(Di.Long)e=Di.Long.fromString(e);else return ke.fromNumber(parseInt(e,10));return e.low||e.high?new ke(e.low>>>0,e.high>>>0):Gr};ke.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};ke.prototype.toLong=function(e){return Di.Long?new Di.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var wr=String.prototype.charCodeAt;ke.fromHash=function(e){return e===r2?Gr:new ke((wr.call(e,0)|wr.call(e,1)<<8|wr.call(e,2)<<16|wr.call(e,3)<<24)>>>0,(wr.call(e,4)|wr.call(e,5)<<8|wr.call(e,6)<<16|wr.call(e,7)<<24)>>>0)};ke.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};ke.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};ke.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};ke.prototype.length=function(){var 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}});var Yr=C(bc=>{"use strict";var O=bc;O.asPromise=th();O.base64=sh();O.EventEmitter=ah();O.float=ph();O.inquire=mh();O.utf8=gh();O.pool=wh();O.LongBits=vh();O.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);O.global=O.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||bc;O.emptyArray=Object.freeze?Object.freeze([]):[];O.emptyObject=Object.freeze?Object.freeze({}):{};O.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};O.isString=function(e){return typeof e=="string"||e instanceof String};O.isObject=function(e){return e&&typeof e=="object"};O.isset=O.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};O.Buffer=function(){try{var t=O.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();O._Buffer_from=null;O._Buffer_allocUnsafe=null;O.newBuffer=function(e){return typeof e=="number"?O.Buffer?O._Buffer_allocUnsafe(e):new O.Array(e):O.Buffer?O._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};O.Array=typeof Uint8Array<"u"?Uint8Array:Array;O.Long=O.global.dcodeIO&&O.global.dcodeIO.Long||O.global.Long||O.inquire("long");O.key2Re=/^true|false|0|1$/;O.key32Re=/^-?(?:0|[1-9][0-9]*)$/;O.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;O.longToHash=function(e){return e?O.LongBits.from(e).toHash():O.LongBits.zeroHash};O.longFromHash=function(e,r){var n=O.LongBits.fromHash(e);return O.Long?O.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function bh(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}O.merge=bh;O.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function _h(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&bh(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}O.newError=_h;O.ProtocolError=_h("ProtocolError");O.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};O.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};O.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};O._configure=function(){var t=O.Buffer;if(!t){O._Buffer_from=O._Buffer_allocUnsafe=null;return}O._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},O._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Sc=C((tS,Ch)=>{"use strict";Ch.exports=Ae;var Kt=Yr(),Ac,Ih=Kt.LongBits,n2=Kt.utf8;function bt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Ae(t){this.buf=t,this.pos=0,this.len=t.length}var Ah=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Ae(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Ae(e);throw Error("illegal buffer")},Rh=function(){return Kt.Buffer?function(r){return(Ae.create=function(i){return Kt.Buffer.isBuffer(i)?new Ac(i):Ah(i)})(r)}:Ah};Ae.create=Rh();Ae.prototype._slice=Kt.Array.prototype.subarray||Kt.Array.prototype.slice;Ae.prototype.uint32=function(){var e=4294967295;return function(){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,bt(this,10);return e}}();Ae.prototype.int32=function(){return this.uint32()|0};Ae.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function _c(){var t=new Ih(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw bt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw bt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}Ae.prototype.bool=function(){return this.uint32()!==0};function js(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Ae.prototype.fixed32=function(){if(this.pos+4>this.len)throw bt(this,4);return js(this.buf,this.pos+=4)};Ae.prototype.sfixed32=function(){if(this.pos+4>this.len)throw bt(this,4);return js(this.buf,this.pos+=4)|0};function Sh(){if(this.pos+8>this.len)throw bt(this,8);return new Ih(js(this.buf,this.pos+=4),js(this.buf,this.pos+=4))}Ae.prototype.float=function(){if(this.pos+4>this.len)throw bt(this,4);var e=Kt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Ae.prototype.double=function(){if(this.pos+8>this.len)throw bt(this,4);var e=Kt.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Ae.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw bt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Ae.prototype.string=function(){var e=this.bytes();return n2.read(e,0,e.length)};Ae.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw bt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw bt(this);while(this.buf[this.pos++]&128);return this};Ae.prototype.skipType=function(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};Ae._configure=function(t){Ac=t,Ae.create=Rh(),Ac._configure();var e=Kt.Long?"toLong":"toNumber";Kt.merge(Ae.prototype,{int64:function(){return _c.call(this)[e](!1)},uint64:function(){return _c.call(this)[e](!0)},sint64:function(){return _c.call(this).zzDecode()[e](!1)},fixed64:function(){return Sh.call(this)[e](!0)},sfixed64:function(){return Sh.call(this)[e](!1)}})}});var Lh=C((rS,Ph)=>{"use strict";Ph.exports=Wr;var Bh=Sc();(Wr.prototype=Object.create(Bh.prototype)).constructor=Wr;var Th=Yr();function Wr(t){Bh.call(this,t)}Wr._configure=function(){Th.Buffer&&(Wr.prototype._slice=Th.Buffer.prototype.slice)};Wr.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};Wr._configure()});var Lc=C((nS,Oh)=>{"use strict";Oh.exports=j;var dt=Yr(),Ic,eo=dt.LongBits,Dh=dt.base64,Nh=dt.utf8;function Ni(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function Cc(){}function i2(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function j(){this.len=0,this.head=new Ni(Cc,0,0),this.tail=this.head,this.states=null}var kh=function(){return dt.Buffer?function(){return(j.create=function(){return new Ic})()}:function(){return new j}};j.create=kh();j.alloc=function(e){return new dt.Array(e)};dt.Array!==Array&&(j.alloc=dt.pool(j.alloc,dt.Array.prototype.subarray));j.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Ni(e,r,n),this.len+=r,this};function Tc(t,e,r){e[r]=t&255}function s2(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Bc(t,e){this.len=t,this.next=void 0,this.val=e}Bc.prototype=Object.create(Ni.prototype);Bc.prototype.fn=s2;j.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Bc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};j.prototype.int32=function(e){return e<0?this._push(Pc,10,eo.fromNumber(e)):this.uint32(e)};j.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Pc(t,e,r){for(;t.hi;)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}j.prototype.uint64=function(e){var r=eo.from(e);return this._push(Pc,r.length(),r)};j.prototype.int64=j.prototype.uint64;j.prototype.sint64=function(e){var r=eo.from(e).zzEncode();return this._push(Pc,r.length(),r)};j.prototype.bool=function(e){return this._push(Tc,1,e?1:0)};function Rc(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}j.prototype.fixed32=function(e){return this._push(Rc,4,e>>>0)};j.prototype.sfixed32=j.prototype.fixed32;j.prototype.fixed64=function(e){var r=eo.from(e);return this._push(Rc,4,r.lo)._push(Rc,4,r.hi)};j.prototype.sfixed64=j.prototype.fixed64;j.prototype.float=function(e){return this._push(dt.float.writeFloatLE,4,e)};j.prototype.double=function(e){return this._push(dt.float.writeDoubleLE,8,e)};var o2=dt.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};j.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(Tc,1,0);if(dt.isString(e)){var n=j.alloc(r=Dh.length(e));Dh.decode(e,n,0),e=n}return this.uint32(r)._push(o2,r,e)};j.prototype.string=function(e){var r=Nh.length(e);return r?this.uint32(r)._push(Nh.write,r,e):this._push(Tc,1,0)};j.prototype.fork=function(){return this.states=new i2(this),this.head=this.tail=new Ni(Cc,0,0),this.len=0,this};j.prototype.reset=function(){return this.states?(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 Ni(Cc,0,0),this.len=0),this};j.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};j.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};j._configure=function(t){Ic=t,j.create=kh(),Ic._configure()}});var Uh=C((iS,Fh)=>{"use strict";Fh.exports=Vt;var Mh=Lc();(Vt.prototype=Object.create(Mh.prototype)).constructor=Vt;var Er=Yr();function Vt(){Mh.call(this)}Vt._configure=function(){Vt.alloc=Er._Buffer_allocUnsafe,Vt.writeBytesBuffer=Er.Buffer&&Er.Buffer.prototype instanceof Uint8Array&&Er.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};Vt.prototype.bytes=function(e){Er.isString(e)&&(e=Er._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Vt.writeBytesBuffer,r,e),this};function a2(t,e,r){t.length<40?Er.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Vt.prototype.string=function(e){var r=Er.Buffer.byteLength(e);return this.uint32(r),r&&this._push(a2,r,e),this};Vt._configure()});var jh=C((iI,Jh)=>{var le=re();Or();Ee();var Oi=Jh.exports=le.sha512=le.sha512||{};le.md.sha512=le.md.algorithms.sha512=Oi;var Xh=le.sha384=le.sha512.sha384=le.sha512.sha384||{};Xh.create=function(){return Oi.create("SHA-384")};le.md.sha384=le.md.algorithms.sha384=Xh;le.sha512.sha256=le.sha512.sha256||{create:function(){return Oi.create("SHA-512/256")}};le.md["sha512/256"]=le.md.algorithms["sha512/256"]=le.sha512.sha256;le.sha512.sha224=le.sha512.sha224||{create:function(){return Oi.create("SHA-512/224")}};le.md["sha512/224"]=le.md.algorithms["sha512/224"]=le.sha512.sha224;Oi.create=function(t){if(Zh||y2(),typeof t>"u"&&(t="SHA-512"),!(t in Xr))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Xr[t],r=null,n=le.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=le.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=le.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),Qh(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=le.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Kc.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);Qh(m,i,c);var y=le.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="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||t!=="SHA-512/224")&&y.putInt32(m[d][1]);return y},a};var Kc=null,Zh=!1,Vc=null,Xr=null;function y2(){Kc=String.fromCharCode(128),Kc+=le.util.fillString(String.fromCharCode(0),128),Vc=[[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]],Xr={},Xr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Xr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Xr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Xr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Zh=!0}function Qh(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,p,d,m,y,g,w,b,N,R,T,H,Y,Ce,yt,tt,Ge,En,vs,Ie,Ze,F,xa,wa,Ea,va,Hl=r.length();Hl>=128;){for(Ie=0;Ie<16;++Ie)e[Ie][0]=r.getInt32()>>>0,e[Ie][1]=r.getInt32()>>>0;for(;Ie<80;++Ie)xa=e[Ie-2],Ze=xa[0],F=xa[1],n=((Ze>>>19|F<<13)^(F>>>29|Ze<<3)^Ze>>>6)>>>0,i=((Ze<<13|F>>>19)^(F<<3|Ze>>>29)^(Ze<<26|F>>>6))>>>0,Ea=e[Ie-15],Ze=Ea[0],F=Ea[1],s=((Ze>>>1|F<<31)^(Ze>>>8|F<<24)^Ze>>>7)>>>0,o=((Ze<<31|F>>>1)^(Ze<<24|F>>>8)^(Ze<<25|F>>>7))>>>0,wa=e[Ie-7],va=e[Ie-16],F=i+wa[1]+o+va[1],e[Ie][0]=n+wa[0]+s+va[0]+(F/4294967296>>>0)>>>0,e[Ie][1]=F>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],w=t[1][1],b=t[2][0],N=t[2][1],R=t[3][0],T=t[3][1],H=t[4][0],Y=t[4][1],Ce=t[5][0],yt=t[5][1],tt=t[6][0],Ge=t[6][1],En=t[7][0],vs=t[7][1],Ie=0;Ie<80;++Ie)u=((H>>>14|Y<<18)^(H>>>18|Y<<14)^(Y>>>9|H<<23))>>>0,l=((H<<18|Y>>>14)^(H<<14|Y>>>18)^(Y<<23|H>>>9))>>>0,f=(tt^H&(Ce^tt))>>>0,h=(Ge^Y&(yt^Ge))>>>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&w|N&(y^w))>>>0,F=vs+l+h+Vc[Ie][1]+e[Ie][1],n=En+u+f+Vc[Ie][0]+e[Ie][0]+(F/4294967296>>>0)>>>0,i=F>>>0,F=c+d,s=a+p+(F/4294967296>>>0)>>>0,o=F>>>0,En=tt,vs=Ge,tt=Ce,Ge=yt,Ce=H,yt=Y,F=T+i,H=R+n+(F/4294967296>>>0)>>>0,Y=F>>>0,R=b,T=N,b=g,N=w,g=m,w=y,F=i+o,m=n+s+(F/4294967296>>>0)>>>0,y=F>>>0;F=t[0][1]+y,t[0][0]=t[0][0]+m+(F/4294967296>>>0)>>>0,t[0][1]=F>>>0,F=t[1][1]+w,t[1][0]=t[1][0]+g+(F/4294967296>>>0)>>>0,t[1][1]=F>>>0,F=t[2][1]+N,t[2][0]=t[2][0]+b+(F/4294967296>>>0)>>>0,t[2][1]=F>>>0,F=t[3][1]+T,t[3][0]=t[3][0]+R+(F/4294967296>>>0)>>>0,t[3][1]=F>>>0,F=t[4][1]+Y,t[4][0]=t[4][0]+H+(F/4294967296>>>0)>>>0,t[4][1]=F>>>0,F=t[5][1]+yt,t[5][0]=t[5][0]+Ce+(F/4294967296>>>0)>>>0,t[5][1]=F>>>0,F=t[6][1]+Ge,t[6][0]=t[6][0]+tt+(F/4294967296>>>0)>>>0,t[6][1]=F>>>0,F=t[7][1]+vs,t[7][0]=t[7][0]+En+(F/4294967296>>>0)>>>0,t[7][1]=F>>>0,Hl-=128}}});var ou=C((uR,kd)=>{var Gn=1e3,Yn=Gn*60,Wn=Yn*60,en=Wn*24,X2=en*7,Z2=en*365.25;kd.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return J2(t);if(r==="number"&&isFinite(t))return e.long?eE(t):j2(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function J2(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*Z2;case"weeks":case"week":case"w":return r*X2;case"days":case"day":case"d":return r*en;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Wn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Yn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Gn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function j2(t){var e=Math.abs(t);return e>=en?Math.round(t/en)+"d":e>=Wn?Math.round(t/Wn)+"h":e>=Yn?Math.round(t/Yn)+"m":e>=Gn?Math.round(t/Gn)+"s":t+"ms"}function eE(t){var e=Math.abs(t);return e>=en?po(t,e,en,"day"):e>=Wn?po(t,e,Wn,"hour"):e>=Yn?po(t,e,Yn,"minute"):e>=Gn?po(t,e,Gn,"second"):t+" ms"}function po(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Md=C((lR,Od)=>{function tE(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=ou(),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 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=e;function r(l){let f,h=null,p,d;function m(...y){if(!m.enabled)return;let g=m,w=Number(new Date),b=w-(f||w);g.diff=b,g.prev=f,g.curr=w,f=w,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let N=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(T,H)=>{if(T==="%%")return"%";N++;let Y=r.formatters[H];if(typeof Y=="function"){let Ce=y[N];T=Y.call(g,Ce),y.splice(N,1),N--}return T}),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}Od.exports=tE});var au=C((st,mo)=>{st.formatArgs=nE;st.save=iE;st.load=sE;st.useColors=rE;st.storage=oE();st.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`."))}})();st.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 rE(){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 nE(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+mo.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)}st.log=console.debug||console.log||(()=>{});function iE(t){try{t?st.storage.setItem("debug",t):st.storage.removeItem("debug")}catch{}}function sE(){let t;try{t=st.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function oE(){try{return localStorage}catch{}}mo.exports=Md()(st);var{formatters:aE}=mo.exports;aE.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var zd=C((BR,qd)=>{"use strict";qd.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Qd=C((Yd,Wd)=>{"use strict";var wo=zd(),{hasOwnProperty:Hd}=Object.prototype,{propertyIsEnumerable:pE}=Object,Zn=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),mE=Yd,$d={concatArrays:!1,ignoreUndefined:!1},Eo=t=>{let e=[];for(let r in t)Hd.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)pE.call(t,n)&&e.push(n)}return e};function Jn(t){return Array.isArray(t)?yE(t):wo(t)?gE(t):t}function yE(t){let e=t.slice(0,0);return Eo(t).forEach(r=>{Zn(e,r,Jn(t[r]))}),e}function gE(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Eo(t).forEach(r=>{Zn(e,r,Jn(t[r]))}),e}var Gd=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Zn(t,i,fu(t[i],e[i],n)):Zn(t,i,Jn(e[i])))}),t),xE=(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++)Hd.call(s,a)&&(o.push(String(a)),s===t?Zn(n,i++,s[a]):Zn(n,i++,Jn(s[a])));n=Gd(n,s,Eo(s).filter(a=>!o.includes(a)),r)}),n};function fu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?xE(t,e,r):!wo(e)||!wo(t)?Jn(e):Gd(t,e,Eo(e),r)}Wd.exports=function(...t){let e=fu(Jn($d),this!==mE&&this||{},$d),r={_:{}};for(let n of t)if(n!==void 0){if(!wo(n))throw new TypeError("`"+n+"` is not an Option Object");r=fu(r,{_:n},e)}return r._}});var Jd=C((LR,Zd)=>{"use strict";function wE(t){return t>=55296&&t<=56319}function EE(t){return t>=56320&&t<=57343}Zd.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],wE(o)&&EE(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 ep=C((DR,jd)=>{"use strict";function vE(t){return t>=55296&&t<=56319}function bE(t){return t>=56320&&t<=57343}jd.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),bE(i)?s!=null&&vE(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 rp=C((NR,tp)=>{"use strict";var _E=Jd(),AE=ep();tp.exports=_E.bind(null,AE)});var sp=C((kR,ip)=>{"use strict";var SE=rp(),IE=/[\/\?<>\\:\*\|"]/g,RE=/[\x00-\x1f\x80-\x9f]/g,CE=/^\.+$/,TE=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,BE=/[\. ]+$/;function np(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(IE,e).replace(RE,e).replace(CE,e).replace(TE,e).replace(BE,e);return SE(r,255)}ip.exports=function(t,e){var r=e&&e.replacement||"",n=np(t,r);return r===""?n:np(n,"")}});var gp=C((UC,yp)=>{yp.exports=mu;var mp=128,qE=127,zE=~qE,$E=Math.pow(2,31);function mu(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw mu.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=$E;)e[r++]=t&255|mp,t/=128;for(;t&zE;)e[r++]=t&255|mp,t>>>=7;return e[r]=t|0,mu.bytes=r-n+1,e}});var Ep=C((KC,wp)=>{wp.exports=yu;var HE=128,xp=127;function yu(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a||i>49)throw yu.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&xp)<<i:(o&xp)*Math.pow(2,i),i+=7}while(o>=HE);return yu.bytes=s-n,r}});var bp=C((VC,vp)=>{var GE=Math.pow(2,7),YE=Math.pow(2,14),WE=Math.pow(2,21),QE=Math.pow(2,28),XE=Math.pow(2,35),ZE=Math.pow(2,42),JE=Math.pow(2,49),jE=Math.pow(2,56),ev=Math.pow(2,63);vp.exports=function(t){return t<GE?1:t<YE?2:t<WE?3:t<QE?4:t<XE?5:t<ZE?6:t<JE?7:t<jE?8:t<ev?9:10}});var gu=C((qC,_p)=>{_p.exports={encode:gp(),decode:Ep(),encodingLength:bp()}});var zp=C((xT,Pu)=>{"use strict";var _v=Object.prototype.hasOwnProperty,Xe="~";function ts(){}Object.create&&(ts.prototype=Object.create(null),new ts().__proto__||(Xe=!1));function Av(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function qp(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new Av(r,n||t,i),o=Xe?Xe+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 Io(t,e){--t._eventsCount===0?t._events=new ts:delete t._events[e]}function $e(){this._events=new ts,this._eventsCount=0}$e.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)_v.call(r,n)&&e.push(Xe?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};$e.prototype.listeners=function(e){var r=Xe?Xe+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};$e.prototype.listenerCount=function(e){var r=Xe?Xe+e:e,n=this._events[r];return n?n.fn?1:n.length:0};$e.prototype.emit=function(e,r,n,i,s,o){var a=Xe?Xe+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 h=c.length,p;for(f=0;f<h;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};$e.prototype.on=function(e,r,n){return qp(this,e,r,n,!1)};$e.prototype.once=function(e,r,n){return qp(this,e,r,n,!0)};$e.prototype.removeListener=function(e,r,n,i){var s=Xe?Xe+e:e;if(!this._events[s])return this;if(!r)return Io(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Io(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:Io(this,s)}return this};$e.prototype.removeAllListeners=function(e){var r;return e?(r=Xe?Xe+e:e,this._events[r]&&Io(this,r)):(this._events=new ts,this._eventsCount=0),this};$e.prototype.off=$e.prototype.removeListener;$e.prototype.addListener=$e.prototype.on;$e.prefixed=Xe;$e.EventEmitter=$e;typeof Pu<"u"&&(Pu.exports=$e)});var ju=C((D8,um)=>{"use strict";function cm(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function Fv(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 cm(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),cm(new i,r)}}um.exports=Fv});var mm=C(us=>{(function(){var t,e,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=e(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"),e=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]},t=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}(),us.ip2long=o,us.long2ip=a,us.Netmask=t}).call(us)});var wm=C((xm,Yo)=>{(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,d){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,y=-1,g=(p.match(a.zoneIndex)||[])[0],w,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,w=":";b--;)w+="0:";return p=p.replace("::",w),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),d=function(){let N=p.split(":"),R=[];for(let T=0;T<N.length;T++)R.push(parseInt(N[T],16));return R}(),{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,w;for(;y>0;){if(w=m-y,w<0&&(w=0),p[g]>>w!==d[g]>>w)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,w,b;for(g=3;g>=0;g-=1)if(w=this.octets[g],w in y){if(b=y[w],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=[],w=0;for(;w<4;)g.push(parseInt(m[w],10)|parseInt(y[w],10)^255),w++;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,w;try{for(d=this.parseCIDR(p),y=d[0].toByteArray(),w=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(w[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),w=[];for(let b=0;b<g.length;b++)m=g[b],w.push(l(m));return w}();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=[],w;for(w=0;w<=24;w+=8)g.push(y>>w&255);return g}().reverse()}else return(d=p.match(r.twoOctet))?function(){let g=d.slice(1,4),w=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return w.push(l(g[0])),w.push(y>>16&255),w.push(y>>8&255),w.push(y&255),w}():(d=p.match(r.threeOctet))?function(){let g=d.slice(1,5),w=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return w.push(l(g[0])),w.push(l(g[1])),w.push(y>>8&255),w.push(y&255),w}():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,w;for(let b=7;b>=0;b-=1)if(g=this.parts[b],g in y){if(w=y[g],m&&w!==0)return null;w!==16&&(m=!0),d+=w}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,w;for(;w=d.exec(m);)w[0].length>g&&(y=w.index,g=w[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=[],w=0;for(;w<16;)g.push(parseInt(m[w],10)|parseInt(y[w],10)^255),w++;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,w;try{for(d=this.parseCIDR(p),y=d[0].toByteArray(),w=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(w[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,w,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(w=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<w.length;m++)if(g=w[m],!(0<=g&&g<=255))return null;return d.parts.push(w[0]<<8|w[1]),d.parts.push(w[2]<<8|w[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,w,b;m==null&&(m="unicast");for(g in d)if(Object.prototype.hasOwnProperty.call(d,g)){for(w=d[g],w[0]&&!(w[0]instanceof Array)&&(w=[w]),y=0;y<w.length;y++)if(b=w[y],p.kind()===b[0].kind()&&p.match.apply(p,b))return g}return m},typeof Yo<"u"&&Yo.exports?Yo.exports=h:t.ipaddr=h})(xm)});var Rm=C((c3,Im)=>{"use strict";Im.exports=Sm;var Jv=ou(),Lr=Sm.prototype,jv=new Date%1e9;function eb(){return(Math.random()*1e9>>>0)+jv++}function Sm(t){t=t||{},this.id=t.id||eb(),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)}Lr.has=function(t){return t in this._lookup};Lr.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};Lr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Lr.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};Lr.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};Lr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=Jv(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};Lr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Lr.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 ls=C((T3,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=C((P3,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 Um=C((L3,Fm)=>{var ib=Mm();Fm.exports=ib});var ut=C((N3,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 li=C((O3,qm)=>{var cl=ls(),sb=Um(),Vm=ut();qm.exports=class extends cl{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new sb}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 cl?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}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 cl))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=C((M3,$m)=>{var ob=li(),ab=ut(),zm="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} ",ul=class extends ob{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:zm})}_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 ab;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(e,r,n,i=!1){return new Promise((s,o)=>{if(!this._isRedisReady())return o(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(e,r,"EX",a):c.set(e,r),c.pttl(e).exec((u,l)=>u?o(u):s(l));else if(a>0){let u=function(l,f){return l?o(l):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(zm,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?o(u):s(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return r(null);r(s)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):r(s>0)})})}};$m.exports=ul});var Wm=C((F3,Ym)=>{var cb=li(),ub=ut();function Gm(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 ll=class t extends cb{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=Gm(this.client)}):(this._initCollection(),this._driverVersion=Gm(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 ub,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(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),d={$set:Object.assign({key:e,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(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_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)}};Ym.exports=ll});var Xm=C((U3,Qm)=>{var lb=li(),fb=ut(),fl=class extends lb{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 fb,[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,h;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
12
|
+
`,r};t0.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(t),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:Qo.util.decode64(o[3])};if(e.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var 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(o=l.match(n),o){for(var p={name:o[1],values:[]},d=o[2].split(","),m=0;m<d.length;++m)p.values.push(u1(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(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function Wo(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
|
|
13
|
+
`;for(var o=0,s=-1,i=0;i<e.length;++i,++o)if(o>65&&s!==-1){var a=e[s];a===","?(++s,e=e.substr(0,s)+`\r
|
|
14
|
+
`+e.substr(s)):e=e.substr(0,s)+`\r
|
|
15
|
+
`+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function u1(t){return t.replace(/^\s+/,"")}});var u0=O((nS,c0)=>{var Wt=ye();nn();ke();var o0=c0.exports=Wt.sha256=Wt.sha256||{};Wt.md.sha256=Wt.md.algorithms.sha256=o0;o0.create=function(){s0||l1();var t=null,e=Wt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Wt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Wt.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),i0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Wt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Xa.substr(0,n.blockLength-s));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};i0(f,r,i);var h=Wt.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,s0=!1,a0=null;function l1(){Xa=String.fromCharCode(128),Xa+=Wt.util.fillString(String.fromCharCode(0),64),a0=[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],s0=!0}function i0(t,e,r){for(var n,i,o,s,a,c,u,l,f,h,p,d,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,h=t.h2,p=t.h3,d=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)s=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=y^d&(m^y),o=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=g+s+a+a0[u]+e[u],i=o+c,g=y,y=m,m=d,d=p+n>>>0,p=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+p|0,t.h4=t.h4+d|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var f0=O((iS,l0)=>{var Qt=ye();ke();var Xo=null;Qt.util.isNodejs&&!Qt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Xo=Vi());var f1=l0.exports=Qt.prng=Qt.prng||{};f1.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,h=e.plugin.increment,p=e.plugin.formatKey,d=e.plugin.formatSeed,m=Qt.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 Qt.util.nextTick(function(){o(y)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,h(e.seed))),e.seed=d(f(e.key,e.seed)),Qt.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var d=Qt.util.createBuffer();d.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var m=l(e.key,e.seed);e.generated+=m.length,d.putBytes(m),e.key=h(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return d.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,h){if(f)return u(f);e.collect(h),a(),u()})}function s(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var 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 h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=Qt.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(_){return h.getRandomValues(_)});var p=Qt.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,w,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)w=C>>>(y<<3),w^=Math.floor(Math.random()*256),p.putByte(w&255)}return p.getBytes(u)}return Xo?(e.seedFile=function(u,l){Xo.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return Xo.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="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.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&&e.seedFile(h.forge.prng.needed,function(p,d){u.postMessage({forge:{prng:{err:p,bytes:d}}})})};u.addEventListener("message",l)}},e}});var $i=O((oS,Za)=>{var We=ye();Ho();u0();f0();ke();(function(){if(We.random&&We.random.getBytes){Za.exports=We.random;return}(function(t){var e={},r=new Array(4),n=We.util.createBuffer();e.formatKey=function(f){var h=We.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),We.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=We.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},e.cipher=function(f,h){return We.aes._updateBlock(f,h,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(h,p){return f.generate(h,p)},f.getBytesSync=function(h){return f.generate(h)},f}var o=i(),s=null,a=We.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),We.options.usePureJavaScript||!We.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(f){o.collectInt(f.clientX,16),o.collectInt(f.clientY,16)}),t().keypress(function(f){o.collectInt(f.charCode,8)}))}if(!We.random)We.random=o;else for(var l in o)We.random[l]=o[l];We.random.createInstance=i,Za.exports=We.random})(typeof jQuery<"u"?jQuery:null)})()});var m0=O((sS,p0)=>{var ht=ye();ke();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],h0=[1,2,3,5],h1=function(t,e){return t<<e&65535|(t&65535)>>16-e},d1=function(t,e){return(t&65535)>>e|t<<16-e&65535};p0.exports=ht.rc2=ht.rc2||{};ht.rc2.expandKey=function(t,e){typeof t=="string"&&(t=ht.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(ja[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,ja[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,ja[r.at(a+1)^r.at(a+o)]);return r};var d0=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,l,f=[];for(t=ht.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.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]=h1(d[u],h0[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]=d1(d[u],h0[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();s!==null&&(r?y^=s.getInt16Le():s.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++)s!==null&&(r?s.putInt16Le(m[u]):m[u]^=s.getInt16Le()),o.putInt16Le(m[u])},p=null;return p={start:function(d,m){d&&typeof d=="string"&&(d=ht.util.createBuffer(d)),n=!1,i=ht.util.createBuffer(),o=m||new ht.util.createBuffer,s=d,p.output=o},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,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?m=!1:o.truncate(x)}return m}},p};ht.rc2.startEncrypting=function(t,e,r){var n=ht.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};ht.rc2.createEncryptionCipher=function(t,e){return d0(t,e,!0)};ht.rc2.startDecrypting=function(t,e,r){var n=ht.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};ht.rc2.createDecryptionCipher=function(t,e){return d0(t,e,!1)}});var Jo=O((aS,_0)=>{var Ja=ye();_0.exports=Ja.jsbn=Ja.jsbn||{};var dr,p1=0xdeadbeefcafe,y0=(p1&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))}Ja.jsbn.BigInteger=R;function ue(){return new R(null)}function m1(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function y1(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*s;c=s*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 g0(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*s;c=s*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=g0,dr=28):y0&&navigator.appName=="Microsoft Internet Explorer"?(R.prototype.am=y1,dr=30):y0&&navigator.appName!="Netscape"?(R.prototype.am=m1,dr=26):(R.prototype.am=g0,dr=28);R.prototype.DB=dr;R.prototype.DM=(1<<dr)-1;R.prototype.DV=1<<dr;var ec=52;R.prototype.FV=Math.pow(2,ec);R.prototype.F1=ec-dr;R.prototype.F2=2*dr-ec;var g1="0123456789abcdefghijklmnopqrstuvwxyz",Zo=new Array,Gn,At;Gn="0".charCodeAt(0);for(At=0;At<=9;++At)Zo[Gn++]=At;Gn="a".charCodeAt(0);for(At=10;At<36;++At)Zo[Gn++]=At;Gn="A".charCodeAt(0);for(At=10;At<36;++At)Zo[Gn++]=At;function x0(t){return g1.charAt(t)}function b0(t,e){var r=Zo[t.charCodeAt(e)];return r??-1}function x1(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 b1(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 Lr(t){var e=ue();return e.fromInt(t),e}function w1(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:b0(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&R.ZERO.subTo(this,this)}function E1(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function v1(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=x0(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=x0(n));return i?o:"0"}function _1(){var t=ue();return R.ZERO.subTo(this,t),t}function A1(){return this.s<0?this.negate():this}function S1(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 jo(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 I1(){return this.t<=0?0:this.DB*(this.t-1)+jo(this.data[this.t-1]^this.s&this.DM)}function R1(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 C1(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 T1(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function B1(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function L1(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 P1(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 D1(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 N1(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=ue());var o=ue(),s=this.s,a=t.s,c=this.DB-jo(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,l=o.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?o.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=e??ue();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),R.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.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]+=o.am(0,x,r,y,0,u))<x)for(o.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&R.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&R.ZERO.subTo(r,r)}}}function k1(t){var e=ue();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(R.ZERO)>0&&t.subTo(e,e),e}function on(t){this.m=t}function O1(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function M1(t){return t}function U1(t){t.divRemTo(this.m,null,t)}function K1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function F1(t,e){t.squareTo(e),this.reduce(e)}on.prototype.convert=O1;on.prototype.revert=M1;on.prototype.reduce=U1;on.prototype.mulTo=K1;on.prototype.sqrTo=F1;function q1(){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 sn(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 V1(t){var e=ue();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 $1(t){var e=ue();return t.copyTo(e),this.reduce(e),e}function z1(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 H1(t,e){t.squareTo(e),this.reduce(e)}function G1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}sn.prototype.convert=V1;sn.prototype.revert=$1;sn.prototype.reduce=z1;sn.prototype.mulTo=G1;sn.prototype.sqrTo=H1;function Y1(){return(this.t>0?this.data[0]&1:this.s)==0}function W1(t,e){if(t>4294967295||t<1)return R.ONE;var r=ue(),n=ue(),i=e.convert(this),o=jo(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function Q1(t,e){var r;return t<256||e.isEven()?r=new on(e):r=new sn(e),this.exp(t,r)}R.prototype.copyTo=x1;R.prototype.fromInt=b1;R.prototype.fromString=w1;R.prototype.clamp=E1;R.prototype.dlShiftTo=R1;R.prototype.drShiftTo=C1;R.prototype.lShiftTo=T1;R.prototype.rShiftTo=B1;R.prototype.subTo=L1;R.prototype.multiplyTo=P1;R.prototype.squareTo=D1;R.prototype.divRemTo=N1;R.prototype.invDigit=q1;R.prototype.isEven=Y1;R.prototype.exp=W1;R.prototype.toString=v1;R.prototype.negate=_1;R.prototype.abs=A1;R.prototype.compareTo=S1;R.prototype.bitLength=I1;R.prototype.mod=k1;R.prototype.modPowInt=Q1;R.ZERO=Lr(0);R.ONE=Lr(1);function X1(){var t=ue();return this.copyTo(t),t}function Z1(){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 j1(){return this.t==0?this.s:this.data[0]<<24>>24}function J1(){return this.t==0?this.s:this.data[0]<<16>>16}function ex(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function tx(){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=Lr(r),i=ue(),o=ue(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function nx(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=b0(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&R.ZERO.subTo(this,this)}function ix(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),tc,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 ox(){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 sx(t){return this.compareTo(t)==0}function ax(t){return this.compareTo(t)<0?this:t}function cx(t){return this.compareTo(t)>0?this:t}function ux(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function lx(t,e){return t&e}function fx(t){var e=ue();return this.bitwiseTo(t,lx,e),e}function tc(t,e){return t|e}function hx(t){var e=ue();return this.bitwiseTo(t,tc,e),e}function w0(t,e){return t^e}function dx(t){var e=ue();return this.bitwiseTo(t,w0,e),e}function E0(t,e){return t&~e}function px(t){var e=ue();return this.bitwiseTo(t,E0,e),e}function mx(){for(var t=ue(),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 yx(t){var e=ue();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function gx(t){var e=ue();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function xx(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 bx(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+xx(this.data[t]);return this.s<0?this.t*this.DB:-1}function wx(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function Ex(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=wx(this.data[r]^e);return t}function vx(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function _x(t,e){var r=R.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function Ax(t){return this.changeBit(t,tc)}function Sx(t){return this.changeBit(t,E0)}function Ix(t){return this.changeBit(t,w0)}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>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function Cx(t){var e=ue();return this.addTo(t,e),e}function Tx(t){var e=ue();return this.subTo(t,e),e}function Bx(t){var e=ue();return this.multiplyTo(t,e),e}function Lx(t){var e=ue();return this.divRemTo(t,e,null),e}function Px(t){var e=ue();return this.divRemTo(t,null,e),e}function Dx(t){var e=ue(),r=ue();return this.divRemTo(t,e,r),new Array(e,r)}function Nx(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function kx(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 zi(){}function v0(t){return t}function Ox(t,e,r){t.multiplyTo(e,r)}function Mx(t,e){t.squareTo(e)}zi.prototype.convert=v0;zi.prototype.revert=v0;zi.prototype.mulTo=Ox;zi.prototype.sqrTo=Mx;function Ux(t){return this.exp(t,new zi)}function Kx(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 Fx(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=ue(),this.q3=ue(),R.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function qx(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=ue();return t.copyTo(e),this.reduce(e),e}function Vx(t){return t}function $x(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 zx(t,e){t.squareTo(e),this.reduce(e)}function Hx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Yn.prototype.convert=qx;Yn.prototype.revert=Vx;Yn.prototype.reduce=$x;Yn.prototype.mulTo=Hx;Yn.prototype.sqrTo=zx;function Gx(t,e){var r=t.bitLength(),n,i=Lr(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new on(e):e.isEven()?o=new Yn(e):o=new sn(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var l=ue();for(o.sqrTo(s[1],l);a<=u;)s[a]=ue(),o.mulTo(l,s[a-2],s[a]),a+=2}var f=t.t-1,h,p=!0,d=ue(),m;for(r=jo(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)s[h].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,d),o.sqrTo(d,i),a-=2;a>0?o.sqrTo(i,d):(m=i,i=d,d=m),o.mulTo(d,s[h],i)}for(;f>=0&&!(t.data[f]&1<<r);)o.sqrTo(i,d),m=i,i=d,d=m,--r<0&&(r=this.DB-1,--f)}return o.revert(i)}function Yx(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function Wx(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 Qx(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return R.ZERO;for(var r=t.clone(),n=this.clone(),i=Lr(1),o=Lr(0),s=Lr(0),a=Lr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(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 Lt=[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],Xx=(1<<26)/Lt[Lt.length-1];function Zx(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Lt[Lt.length-1]){for(e=0;e<Lt.length;++e)if(r.data[0]==Lt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Lt.length;){for(var n=Lt[e],i=e+1;i<Lt.length&&n<Xx;)n*=Lt[i++];for(n=r.modInt(n);e<i;)if(n%Lt[e++]==0)return!1}return r.millerRabin(t)}function jx(t){var e=this.subtract(R.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Jx(),o,s=0;s<t;++s){do o=new R(this.bitLength(),i);while(o.compareTo(R.ONE)<=0||o.compareTo(e)>=0);var a=o.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 Jx(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}R.prototype.chunkSize=ex;R.prototype.toRadix=rx;R.prototype.fromRadix=nx;R.prototype.fromNumber=ix;R.prototype.bitwiseTo=ux;R.prototype.changeBit=_x;R.prototype.addTo=Rx;R.prototype.dMultiply=Nx;R.prototype.dAddOffset=kx;R.prototype.multiplyLowerTo=Kx;R.prototype.multiplyUpperTo=Fx;R.prototype.modInt=Wx;R.prototype.millerRabin=jx;R.prototype.clone=X1;R.prototype.intValue=Z1;R.prototype.byteValue=j1;R.prototype.shortValue=J1;R.prototype.signum=tx;R.prototype.toByteArray=ox;R.prototype.equals=sx;R.prototype.min=ax;R.prototype.max=cx;R.prototype.and=fx;R.prototype.or=hx;R.prototype.xor=dx;R.prototype.andNot=px;R.prototype.not=mx;R.prototype.shiftLeft=yx;R.prototype.shiftRight=gx;R.prototype.getLowestSetBit=bx;R.prototype.bitCount=Ex;R.prototype.testBit=vx;R.prototype.setBit=Ax;R.prototype.clearBit=Sx;R.prototype.flipBit=Ix;R.prototype.add=Cx;R.prototype.subtract=Tx;R.prototype.multiply=Bx;R.prototype.divide=Lx;R.prototype.remainder=Px;R.prototype.divideAndRemainder=Dx;R.prototype.modPow=Gx;R.prototype.modInverse=Qx;R.prototype.pow=Ux;R.prototype.gcd=Yx;R.prototype.isProbablePrime=Zx});var C0=O((cS,R0)=>{var Xt=ye();nn();ke();var S0=R0.exports=Xt.sha1=Xt.sha1||{};Xt.md.sha1=Xt.md.algorithms.sha1=S0;S0.create=function(){I0||e2();var t=null,e=Xt.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Xt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Xt.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),A0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Xt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(rc.substr(0,n.blockLength-s));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};A0(f,r,i);var h=Xt.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,I0=!1;function e2(){rc=String.fromCharCode(128),rc+=Xt.util.fillString(String.fromCharCode(0),64),I0=!0}function A0(t,e,r){for(var n,i,o,s,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;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^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;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=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;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=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;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=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;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=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var L0=O((uS,B0)=>{var Zt=ye();ke();$i();C0();var T0=B0.exports=Zt.pkcs1=Zt.pkcs1||{};T0.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Zt.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var l=o.digest(),f="",h=c-e.length,p=0;p<h;p++)f+="\0";var d=l.getBytes()+f+""+e;if(!i)i=Zt.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var m=es(i,a-o.digestLength-1,s),y=Zt.util.xorBytes(d,m,d.length),g=es(y,o.digestLength,s),x=Zt.util.xorBytes(i,g,i.length);return"\0"+x+y};T0.decode_rsa_oaep=function(t,e,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=s,y}if(i===void 0?i=Zt.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=es(l,i.digestLength,o),h=Zt.util.xorBytes(u,f,u.length),p=es(h,s-i.digestLength-1,o),d=Zt.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,w=i.digestLength,C=i.digestLength;C<d.length;C++){var _=d.charCodeAt(C),A=_&1^1,P=x?65534:0;y|=_&P,x=x&A,w+=x}if(y||d.charCodeAt(w)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(w+1)};function es(t,e,r){r||(r=Zt.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var P0=O((lS,nc)=>{var Pr=ye();ke();Jo();$i();(function(){if(Pr.prime){nc.exports=Pr.prime;return}var t=nc.exports=Pr.prime=Pr.prime||{},e=Pr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,h){return f|h};t.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||Pr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),w=0;w<g.length;++w)g[w]=x.charCodeAt(w)}};if(d.name==="PRIMEINC")return o(f,y,d.options,p);throw new Error("Invalid prime generation algorithm: "+d.name)};function o(f,h,p,d){return"workers"in p?c(f,h,p,d):s(f,h,p,d)}function s(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);Pr.util.setImmediate(function(){a(f,h,p,d,m,y,g)})}function c(f,h,p,d){if(typeof Worker>"u")return s(f,h,p,d);var m=u(f,h),y=p.workers,g=p.workLoad||100,x=g*30/8,w=p.workerScript||"forge/prime.worker.js";if(y===-1)return Pr.util.estimateCores(function(_,A){_&&(A=2),y=A-1,C()});C();function C(){y=Math.max(1,y);for(var _=[],A=0;A<y;++A)_[A]=new Worker(w);for(var P=y,A=0;A<y;++A)_[A].addEventListener("message",W);var D=!1;function W(Q){if(!D){--P;var H=Q.data;if(H.found){for(var ne=0;ne<_.length;++ne)_[ne].terminate();return D=!0,d(null,new e(H.prime,16))}m.bitLength()>f&&(m=u(f,h));var ge=m.toString(16);Q.target.postMessage({hex:ge,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,h){var p=new e(f,h),d=f-1;return p.testBit(d)||p.bitwiseTo(e.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 rs=O((fS,K0)=>{var z=ye();qi();Jo();Fo();L0();P0();$i();ke();typeof ae>"u"&&(ae=z.jsbn.BigInteger);var ae,ic=z.util.isNodejs?Vi():null,v=z.asn1,St=z.util;z.pki=z.pki||{};K0.exports=z.pki.rsa=z.rsa=z.rsa||{};var X=z.pki,t2=[6,4,2,4,2,4,6,2],r2={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"}]},n2={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"}]},i2={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"}]},o2=z.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"}]}]},s2={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"}]},a2=function(t){var e;if(t.algorithm in X.oids)e=X.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,[]),o=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);o.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),o.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var s=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),v.toDer(i).getBytes()},M0=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(ae.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(ae.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new ae(z.util.bytesToHex(z.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(ae.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};X.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=U0(t,e,r)):(i=z.util.createBuffer(),i.putBytes(t));for(var s=new ae(i.toHex(),16),a=M0(s,e,n),c=a.toString(16),u=z.util.createBuffer(),l=o-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(z.util.hexToBytes(c)),u.getBytes()};X.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new ae(z.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=M0(s,e,r),c=a.toString(16),u=z.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(z.util.hexToBytes(c)),n!==!1?ts(u.getBytes(),e,r):u.getBytes()};X.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||z.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new ae(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};X.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new ae(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new ae(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(ae.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(u2(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(t2[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(ae.ONE).gcd(t.e).compareTo(ae.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(ae.ONE),t.q1=t.q.subtract(ae.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(ae.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:X.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:X.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};X.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!z.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(D0("generateKeyPair"))return ic.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:X.privateKeyFromPem(u),publicKey:X.publicKeyFromPem(c)})});if(N0("generateKey")&&N0("exportKey"))return St.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:O0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return St.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=X.privateKeyFromAsn1(v.fromDer(z.util.createBuffer(a)));n(null,{privateKey:c,publicKey:X.setRsaPublicKey(c.n,c.e)})}});if(k0("generateKey")&&k0("exportKey")){var i=St.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:O0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=St.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=X.privateKeyFromAsn1(v.fromDer(z.util.createBuffer(f)));n(null,{privateKey:h,publicKey:X.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(D0("generateKeyPairSync")){var o=ic.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:X.privateKeyFromPem(o.privateKey),publicKey:X.publicKeyFromPem(o.publicKey)}}}var s=X.rsa.createKeyPairGenerationState(t,e,r);if(!n)return X.rsa.stepKeyPairGenerationState(s,0),s.keys;c2(s,r,n)};X.setRsaPublicKey=X.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return U0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return z.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return X.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=ts(u,r,!0);var l=v.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,s2,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===z.oids.md2||d===z.oids.md5||d===z.oids.sha1||d===z.oids.sha224||d===z.oids.sha256||d===z.oids.sha384||d===z.oids.sha512||d===z.oids["sha512-224"]||d===z.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=d,p}if((d===z.oids.md2||d===z.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}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=ts(u,r,!0),c===u}});var a=X.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};X.setRsaPrivateKey=X.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var h=X.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:ts};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,d){return z.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:a2},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return X.rsa.encrypt(h,c,f)},c};X.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(X.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())])};X.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,r2,e,r)&&(t=v.fromDer(z.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,n2,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,l,f;return i=z.util.createBuffer(e.privateKeyModulus).toHex(),o=z.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=z.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=z.util.createBuffer(e.privateKeyPrime1).toHex(),c=z.util.createBuffer(e.privateKeyPrime2).toHex(),u=z.util.createBuffer(e.privateKeyExponent1).toHex(),l=z.util.createBuffer(e.privateKeyExponent2).toHex(),f=z.util.createBuffer(e.privateKeyCoefficient).toHex(),X.setRsaPrivateKey(new ae(i,16),new ae(o,16),new ae(s,16),new ae(a,16),new ae(c,16),new ae(u,16),new ae(l,16),new ae(f,16))};X.privateKeyToAsn1=X.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,jt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.qInv))])};X.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,o2,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==X.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,i2,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=z.util.createBuffer(e.publicKeyModulus).toHex(),s=z.util.createBuffer(e.publicKeyExponent).toHex();return X.setRsaPublicKey(new ae(o,16),new ae(s,16))};X.publicKeyToAsn1=X.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(X.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[X.publicKeyToRSAPublicKey(t)])])};X.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.e))])};function U0(t,e,r){var n=z.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,l=z.random.getBytes(s),c=0;c<s;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function ts(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=z.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var l=o.getByte();if(l!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function c2(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){z.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(ae.ONE).gcd(t.e).compareTo(ae.ONE)!==0){t.p=null,i();return}if(t.q.subtract(ae.ONE).gcd(t.e).compareTo(ae.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(ae.ONE),t.q1=t.q.subtract(ae.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(ae.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:X.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:X.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function jt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=z.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function u2(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 D0(t){return z.util.isNodejs&&typeof ic[t]=="function"}function N0(t){return typeof St.globalScope<"u"&&typeof St.globalScope.crypto=="object"&&typeof St.globalScope.crypto.subtle=="object"&&typeof St.globalScope.crypto.subtle[t]=="function"}function k0(t){return typeof St.globalScope<"u"&&typeof St.globalScope.msCrypto=="object"&&typeof St.globalScope.msCrypto.subtle=="object"&&typeof St.globalScope.msCrypto.subtle[t]=="function"}function O0(t){for(var e=z.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var H0=O((hS,z0)=>{var U=ye();Ho();qi();Xf();nn();Fo();Qa();n0();$i();m0();rs();ke();typeof F0>"u"&&(F0=U.jsbn.BigInteger);var F0,S=U.asn1,Z=U.pki=U.pki||{};z0.exports=Z.pbe=U.pbe=U.pbe||{};var an=Z.oids,l2={name:"EncryptedPrivateKeyInfo",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},f2={name:"PBES2Algorithms",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},h2={name:"pkcs-12PbeParams",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:S.Class.UNIVERSAL,type:S.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=U.random.getBytesSync(r.saltSize),i=r.count,o=S.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":s=16,u=16,l=an["aes128-CBC"],f=U.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,l=an["aes192-CBC"],f=U.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,l=an["aes256-CBC"],f=U.aes.createEncryptionCipher;break;case"des":s=8,u=8,l=an.desCBC,f=U.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=$0(p),m=U.pkcs5.pbkdf2(e,n,i,s,d),y=U.random.getBytesSync(u),g=f(m);g.start(y),g.update(S.toDer(t)),g.finish(),c=g.output.getBytes();var x=d2(n,o,s,p);a=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(an.pkcs5PBES2).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(an.pkcs5PBKDF2).getBytes()),x]),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(l).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var w=new U.util.ByteBuffer(n),m=Z.pbe.generatePkcs12Key(e,w,1,i,s),y=Z.pbe.generatePkcs12Key(e,w,2,i,s),g=U.des.createEncryptionCipher(m);g.start(y),g.update(S.toDer(t)),g.finish(),c=g.output.getBytes(),a=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(an["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,n),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,o.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var C=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[a,S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,c)]);return C};Z.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!S.validate(t,l2,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=S.derToOid(n.encryptionOid),a=Z.pbe.getCipher(s,n.encryptionParams,e),c=U.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=S.fromDer(a.output)),r};Z.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:S.toDer(t).getBytes()};return U.pem.encode(r,{maxline:e})};Z.encryptedPrivateKeyFromPem=function(t){var e=U.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 S.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,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=U.random.getBytesSync(8),a=U.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=U.pbe.opensslDeriveBytes(e,o.substr(0,8),s),l=a(u);l.start(o),l.update(S.toDer(Z.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:U.util.bytesToHex(o).toUpperCase()},body:l.output.getBytes()};return U.pem.encode(f)};Z.decryptRsaPrivateKey=function(t,e){var r=null,n=U.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=U.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=U.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=U.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=U.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=U.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return U.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return U.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=function(f){return U.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=U.util.hexToBytes(n.dekInfo.parameters),c=U.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(U.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(S.fromDer(r),e):r=S.fromDer(r),r!==null&&(r=Z.privateKeyFromAsn1(r)),r};Z.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in U.md))throw new Error('"sha1" hash algorithm unavailable.');o=U.md.sha1.create()}var c=o.digestLength,u=o.blockLength,l=new U.util.ByteBuffer,f=new U.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),p=e.length(),d=new U.util.ByteBuffer;d.fillWithByte(r,u);var m=u*Math.ceil(p/u),y=new U.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%p));var g=u*Math.ceil(h/u),x=new U.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%h));var w=y;w.putBuffer(x);for(var C=Math.ceil(i/c),_=1;_<=C;_++){var A=new U.util.ByteBuffer;A.putBytes(d.bytes()),A.putBytes(w.bytes());for(var P=0;P<n;P++)o.start(),o.update(A.getBytes()),A=o.digest();var D=new U.util.ByteBuffer;for(a=0;a<u;a++)D.putByte(A.at(a%c));var W=Math.ceil(p/u)+Math.ceil(h/u),Q=new U.util.ByteBuffer;for(s=0;s<W;s++){var H=new U.util.ByteBuffer(w.getBytes(u)),ne=511;for(a=D.length()-1;a>=0;a--)ne=ne>>8,ne+=D.at(a)+H.at(a),H.setAt(a,ne&255);Q.putBuffer(H)}w=Q,l.putBuffer(A)}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(!S.validate(e,f2,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=S.derToOid(n.kdfOid),t!==Z.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=S.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 o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=U.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Z.oids[t]){case"aes128-CBC":c=16,u=U.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=U.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=U.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=U.des.createDecryptionCipher;break;case"desCBC":c=8,u=U.des.createDecryptionCipher;break}var l=V0(n.prfOid),f=U.pkcs5.pbkdf2(r,s,a,c,l),h=n.encIv,p=u(f);return p.start(h),p};Z.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!S.validate(e,h2,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=U.util.createBuffer(n.salt),a=U.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=U.des.startDecrypting;break;case Z.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=U.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var f=V0(n.prfOid),h=Z.pbe.generatePkcs12Key(r,s,1,a,c,f);f.start();var p=Z.pbe.generatePkcs12Key(r,s,2,a,u,f);return l(h,p)};Z.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in U.md))throw new Error('"md5" hash algorithm unavailable.');n=U.md.md5.create()}e===null&&(e="");for(var i=[q0(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(q0(n,i[s-1]+t+e));return i.join("").substr(0,r)};function q0(t,e){return t.start().update(e).digest().getBytes()}function V0(t){var e;if(!t)e="hmacWithSHA1";else if(e=Z.oids[S.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return $0(e)}function $0(t){var e=U.md;switch(t){case"hmacWithSHA224":e=U.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 d2(t,e,r,n){var i=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,t),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,U.util.hexToBytes(r.toString(16))),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(Z.oids[n]).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.NULL,!1,"")])),i}});var Mh=O((yR,Oh)=>{"use strict";Oh.exports=Iw;function Iw(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(o)if(o=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){o&&(o=!1,c(u))}})}});var qh=O(Fh=>{"use strict";var ws=Fh;ws.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var oi=new Array(64),Kh=new Array(123);for(Ut=0;Ut<64;)Kh[oi[Ut]=Ut<26?Ut+65:Ut<52?Ut+71:Ut<62?Ut-4:Ut-59|43]=Ut++;var Ut;ws.encode=function(e,r,n){for(var i=null,o=[],s=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:o[s++]=oi[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=oi[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=oi[c|u>>6],o[s++]=oi[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=oi[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var Uh="invalid encoding";ws.decode=function(e,r,n){for(var i=n,o=0,s,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&o>1)break;if((c=Kh[c])===void 0)throw Error(Uh);switch(o){case 0:s=c,o=1;break;case 1:r[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:r[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:r[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(Uh);return n-i};ws.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var $h=O((xR,Vh)=>{"use strict";Vh.exports=Es;function Es(){this._listeners={}}Es.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Es.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Es.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var Xh=O((bR,Qh)=>{"use strict";Qh.exports=zh(zh);function zh(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function o(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:o,t.writeFloatBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?s:a,t.readFloatBE=n?a:s}():function(){function e(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}t.writeFloatLE=e.bind(null,Hh),t.writeFloatBE=e.bind(null,Gh);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,Yh),t.readFloatBE=r.bind(null,Wh)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function o(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:o,t.writeDoubleBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?s:a,t.readDoubleBE=n?a:s}():function(){function e(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),l=s*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+o)}}}t.writeDoubleLE=e.bind(null,Hh,0,4),t.writeDoubleBE=e.bind(null,Gh,4,0);function r(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),l=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,Yh,0,4),t.readDoubleBE=r.bind(null,Wh,4,0)}(),t}function Hh(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 Gh(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function Yh(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function Wh(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Zh=O((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var Jh=O(jh=>{"use strict";var $c=jh;$c.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};$c.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,c;r<n;)c=e[r++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};$c.write=function(e,r,n){for(var i=n,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var td=O((ER,ed)=>{"use strict";ed.exports=Rw;function Rw(t,e,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return t(c);s+c>n&&(o=t(n),s=0);var u=e.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var nd=O((vR,rd)=>{"use strict";rd.exports=Qe;var Zi=yn();function Qe(t,e){this.lo=t>>>0,this.hi=e>>>0}var mn=Qe.zero=new Qe(0,0);mn.toNumber=function(){return 0};mn.zzEncode=mn.zzDecode=function(){return this};mn.length=function(){return 1};var Cw=Qe.zeroHash="\0\0\0\0\0\0\0\0";Qe.fromNumber=function(e){if(e===0)return mn;var r=e<0;r&&(e=-e);var 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 Qe(n,i)};Qe.from=function(e){if(typeof e=="number")return Qe.fromNumber(e);if(Zi.isString(e))if(Zi.Long)e=Zi.Long.fromString(e);else return Qe.fromNumber(parseInt(e,10));return e.low||e.high?new Qe(e.low>>>0,e.high>>>0):mn};Qe.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Qe.prototype.toLong=function(e){return Zi.Long?new Zi.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Fr=String.prototype.charCodeAt;Qe.fromHash=function(e){return e===Cw?mn:new Qe((Fr.call(e,0)|Fr.call(e,1)<<8|Fr.call(e,2)<<16|Fr.call(e,3)<<24)>>>0,(Fr.call(e,4)|Fr.call(e,5)<<8|Fr.call(e,6)<<16|Fr.call(e,7)<<24)>>>0)};Qe.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Qe.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Qe.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Qe.prototype.length=function(){var 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}});var yn=O(zc=>{"use strict";var $=zc;$.asPromise=Mh();$.base64=qh();$.EventEmitter=$h();$.float=Xh();$.inquire=Zh();$.utf8=Jh();$.pool=td();$.LongBits=nd();$.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);$.global=$.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||zc;$.emptyArray=Object.freeze?Object.freeze([]):[];$.emptyObject=Object.freeze?Object.freeze({}):{};$.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};$.isString=function(e){return typeof e=="string"||e instanceof String};$.isObject=function(e){return e&&typeof e=="object"};$.isset=$.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};$.Buffer=function(){try{var t=$.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();$._Buffer_from=null;$._Buffer_allocUnsafe=null;$.newBuffer=function(e){return typeof e=="number"?$.Buffer?$._Buffer_allocUnsafe(e):new $.Array(e):$.Buffer?$._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};$.Array=typeof Uint8Array<"u"?Uint8Array:Array;$.Long=$.global.dcodeIO&&$.global.dcodeIO.Long||$.global.Long||$.inquire("long");$.key2Re=/^true|false|0|1$/;$.key32Re=/^-?(?:0|[1-9][0-9]*)$/;$.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;$.longToHash=function(e){return e?$.LongBits.from(e).toHash():$.LongBits.zeroHash};$.longFromHash=function(e,r){var n=$.LongBits.fromHash(e);return $.Long?$.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function id(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}$.merge=id;$.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function od(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&id(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}$.newError=od;$.ProtocolError=od("ProtocolError");$.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};$.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};$.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};$._configure=function(){var t=$.Buffer;if(!t){$._Buffer_from=$._Buffer_allocUnsafe=null;return}$._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},$._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Yc=O((AR,ld)=>{"use strict";ld.exports=Ue;var rr=yn(),Gc,cd=rr.LongBits,Tw=rr.utf8;function Kt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Ue(t){this.buf=t,this.pos=0,this.len=t.length}var sd=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Ue(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Ue(e);throw Error("illegal buffer")},ud=function(){return rr.Buffer?function(r){return(Ue.create=function(i){return rr.Buffer.isBuffer(i)?new Gc(i):sd(i)})(r)}:sd};Ue.create=ud();Ue.prototype._slice=rr.Array.prototype.subarray||rr.Array.prototype.slice;Ue.prototype.uint32=function(){var e=4294967295;return function(){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}}();Ue.prototype.int32=function(){return this.uint32()|0};Ue.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Hc(){var t=new cd(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Kt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Kt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}Ue.prototype.bool=function(){return this.uint32()!==0};function vs(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Ue.prototype.fixed32=function(){if(this.pos+4>this.len)throw Kt(this,4);return vs(this.buf,this.pos+=4)};Ue.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Kt(this,4);return vs(this.buf,this.pos+=4)|0};function ad(){if(this.pos+8>this.len)throw Kt(this,8);return new cd(vs(this.buf,this.pos+=4),vs(this.buf,this.pos+=4))}Ue.prototype.float=function(){if(this.pos+4>this.len)throw Kt(this,4);var e=rr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Ue.prototype.double=function(){if(this.pos+8>this.len)throw Kt(this,4);var e=rr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Ue.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Kt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Ue.prototype.string=function(){var e=this.bytes();return Tw.read(e,0,e.length)};Ue.prototype.skip=function(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};Ue.prototype.skipType=function(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};Ue._configure=function(t){Gc=t,Ue.create=ud(),Gc._configure();var e=rr.Long?"toLong":"toNumber";rr.merge(Ue.prototype,{int64:function(){return Hc.call(this)[e](!1)},uint64:function(){return Hc.call(this)[e](!0)},sint64:function(){return Hc.call(this).zzDecode()[e](!1)},fixed64:function(){return ad.call(this)[e](!0)},sfixed64:function(){return ad.call(this)[e](!1)}})}});var pd=O((SR,dd)=>{"use strict";dd.exports=gn;var hd=Yc();(gn.prototype=Object.create(hd.prototype)).constructor=gn;var fd=yn();function gn(t){hd.call(this,t)}gn._configure=function(){fd.Buffer&&(gn.prototype._slice=fd.Buffer.prototype.slice)};gn.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};gn._configure()});var eu=O((IR,xd)=>{"use strict";xd.exports=le;var Rt=yn(),Wc,_s=Rt.LongBits,md=Rt.base64,yd=Rt.utf8;function ji(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function Xc(){}function Bw(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function le(){this.len=0,this.head=new ji(Xc,0,0),this.tail=this.head,this.states=null}var gd=function(){return Rt.Buffer?function(){return(le.create=function(){return new Wc})()}:function(){return new le}};le.create=gd();le.alloc=function(e){return new Rt.Array(e)};Rt.Array!==Array&&(le.alloc=Rt.pool(le.alloc,Rt.Array.prototype.subarray));le.prototype._push=function(e,r,n){return this.tail=this.tail.next=new ji(e,r,n),this.len+=r,this};function Zc(t,e,r){e[r]=t&255}function Lw(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function jc(t,e){this.len=t,this.next=void 0,this.val=e}jc.prototype=Object.create(ji.prototype);jc.prototype.fn=Lw;le.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new jc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};le.prototype.int32=function(e){return e<0?this._push(Jc,10,_s.fromNumber(e)):this.uint32(e)};le.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Jc(t,e,r){for(;t.hi;)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}le.prototype.uint64=function(e){var r=_s.from(e);return this._push(Jc,r.length(),r)};le.prototype.int64=le.prototype.uint64;le.prototype.sint64=function(e){var r=_s.from(e).zzEncode();return this._push(Jc,r.length(),r)};le.prototype.bool=function(e){return this._push(Zc,1,e?1:0)};function Qc(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}le.prototype.fixed32=function(e){return this._push(Qc,4,e>>>0)};le.prototype.sfixed32=le.prototype.fixed32;le.prototype.fixed64=function(e){var r=_s.from(e);return this._push(Qc,4,r.lo)._push(Qc,4,r.hi)};le.prototype.sfixed64=le.prototype.fixed64;le.prototype.float=function(e){return this._push(Rt.float.writeFloatLE,4,e)};le.prototype.double=function(e){return this._push(Rt.float.writeDoubleLE,8,e)};var Pw=Rt.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};le.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(Zc,1,0);if(Rt.isString(e)){var n=le.alloc(r=md.length(e));md.decode(e,n,0),e=n}return this.uint32(r)._push(Pw,r,e)};le.prototype.string=function(e){var r=yd.length(e);return r?this.uint32(r)._push(yd.write,r,e):this._push(Zc,1,0)};le.prototype.fork=function(){return this.states=new Bw(this),this.head=this.tail=new ji(Xc,0,0),this.len=0,this};le.prototype.reset=function(){return this.states?(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 ji(Xc,0,0),this.len=0),this};le.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};le.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};le._configure=function(t){Wc=t,le.create=gd(),Wc._configure()}});var Ed=O((RR,wd)=>{"use strict";wd.exports=nr;var bd=eu();(nr.prototype=Object.create(bd.prototype)).constructor=nr;var qr=yn();function nr(){bd.call(this)}nr._configure=function(){nr.alloc=qr._Buffer_allocUnsafe,nr.writeBytesBuffer=qr.Buffer&&qr.Buffer.prototype instanceof Uint8Array&&qr.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};nr.prototype.bytes=function(e){qr.isString(e)&&(e=qr._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(nr.writeBytesBuffer,r,e),this};function Dw(t,e,r){t.length<40?qr.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}nr.prototype.string=function(e){var r=qr.Buffer.byteLength(e);return this.uint32(r),r&&this._push(Dw,r,e),this};nr._configure()});var kd=O((R4,Nd)=>{var Se=ye();nn();ke();var eo=Nd.exports=Se.sha512=Se.sha512||{};Se.md.sha512=Se.md.algorithms.sha512=eo;var Pd=Se.sha384=Se.sha512.sha384=Se.sha512.sha384||{};Pd.create=function(){return eo.create("SHA-384")};Se.md.sha384=Se.md.algorithms.sha384=Pd;Se.sha512.sha256=Se.sha512.sha256||{create:function(){return eo.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 eo.create("SHA-512/224")}};Se.md["sha512/224"]=Se.md.algorithms["sha512/224"]=Se.sha512.sha224;eo.create=function(t){if(Dd||Vw(),typeof t>"u"&&(t="SHA-512"),!(t in bn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=bn[t],r=null,n=Se.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=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),Ld(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(cu.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);Ld(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 d=0;d<g;++d)y.putInt32(m[d][0]),(d!==g-1||t!=="SHA-512/224")&&y.putInt32(m[d][1]);return y},a};var cu=null,Dd=!1,uu=null,bn=null;function Vw(){cu=String.fromCharCode(128),cu+=Se.util.fillString(String.fromCharCode(0),128),uu=[[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]],bn={},bn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],bn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],bn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],bn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Dd=!0}function Ld(t,e,r){for(var n,i,o,s,a,c,u,l,f,h,p,d,m,y,g,x,w,C,_,A,P,D,W,Q,H,ne,ge,Ze,T,k,L,N,I,K,V,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,K=e[T-15],k=K[0],L=K[1],o=((k>>>1|L<<31)^(k>>>8|L<<24)^k>>>7)>>>0,s=((k<<31|L>>>1)^(k<<24|L>>>8)^(k<<25|L>>>7))>>>0,I=e[T-7],V=e[T-16],L=i+I[1]+s+V[1],e[T][0]=n+I[0]+o+V[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],w=t[2][0],C=t[2][1],_=t[3][0],A=t[3][1],P=t[4][0],D=t[4][1],W=t[5][0],Q=t[5][1],H=t[6][0],ne=t[6][1],ge=t[7][0],Ze=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&(W^H))>>>0,h=(ne^D&(Q^ne))>>>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|w&(m^g))>>>0,d=(y&x|C&(y^x))>>>0,L=Ze+l+h+uu[T][1]+e[T][1],n=ge+u+f+uu[T][0]+e[T][0]+(L/4294967296>>>0)>>>0,i=L>>>0,L=c+d,o=a+p+(L/4294967296>>>0)>>>0,s=L>>>0,ge=H,Ze=ne,H=W,ne=Q,W=P,Q=D,L=A+i,P=_+n+(L/4294967296>>>0)>>>0,D=L>>>0,_=w,A=C,w=g,C=x,g=m,x=y,L=i+s,m=n+o+(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]+w+(L/4294967296>>>0)>>>0,t[2][1]=L>>>0,L=t[3][1]+A,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]+Q,t[5][0]=t[5][0]+W+(L/4294967296>>>0)>>>0,t[5][1]=L>>>0,L=t[6][1]+ne,t[6][0]=t[6][0]+H+(L/4294967296>>>0)>>>0,t[6][1]=L>>>0,L=t[7][1]+Ze,t[7][0]=t[7][0]+ge+(L/4294967296>>>0)>>>0,t[7][1]=L>>>0,G-=128}}});var Iu=O((cC,lp)=>{var li=1e3,fi=li*60,hi=fi*60,_n=hi*24,xE=_n*7,bE=_n*365.25;lp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return wE(t);if(r==="number"&&isFinite(t))return e.long?vE(t):EE(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function wE(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*bE;case"weeks":case"week":case"w":return r*xE;case"days":case"day":case"d":return r*_n;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 EE(t){var e=Math.abs(t);return e>=_n?Math.round(t/_n)+"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 vE(t){var e=Math.abs(t);return e>=_n?Ls(t,e,_n,"day"):e>=hi?Ls(t,e,hi,"hour"):e>=fi?Ls(t,e,fi,"minute"):e>=li?Ls(t,e,li,"second"):t+" ms"}function Ls(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var hp=O((uC,fp)=>{function _E(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=Iu(),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 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=e;function r(l){let f,h=null,p,d;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),w=x-(f||x);g.diff=w,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,(A,P)=>{if(A==="%%")return"%";C++;let D=r.formatters[P];if(typeof D=="function"){let W=y[C];A=D.call(g,W),y.splice(C,1),C--}return A}),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 o(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function s(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}fp.exports=_E});var Ru=O((xt,Ps)=>{xt.formatArgs=SE;xt.save=IE;xt.load=RE;xt.useColors=AE;xt.storage=CE();xt.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`."))}})();xt.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 AE(){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 SE(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ps.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)}xt.log=console.debug||console.log||(()=>{});function IE(t){try{t?xt.storage.setItem("debug",t):xt.storage.removeItem("debug")}catch{}}function RE(){let t;try{t=xt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function CE(){try{return localStorage}catch{}}Ps.exports=hp()(xt);var{formatters:TE}=Ps.exports;TE.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var xp=O((TC,gp)=>{"use strict";gp.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Ap=O((vp,_p)=>{"use strict";var Os=xp(),{hasOwnProperty:wp}=Object.prototype,{propertyIsEnumerable:OE}=Object,mi=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),ME=vp,bp={concatArrays:!1,ignoreUndefined:!1},Ms=t=>{let e=[];for(let r in t)wp.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)OE.call(t,n)&&e.push(n)}return e};function yi(t){return Array.isArray(t)?UE(t):Os(t)?KE(t):t}function UE(t){let e=t.slice(0,0);return Ms(t).forEach(r=>{mi(e,r,yi(t[r]))}),e}function KE(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Ms(t).forEach(r=>{mi(e,r,yi(t[r]))}),e}var Ep=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?mi(t,i,Lu(t[i],e[i],n)):mi(t,i,yi(e[i])))}),t),FE=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)wp.call(o,a)&&(s.push(String(a)),o===t?mi(n,i++,o[a]):mi(n,i++,yi(o[a])));n=Ep(n,o,Ms(o).filter(a=>!s.includes(a)),r)}),n};function Lu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?FE(t,e,r):!Os(e)||!Os(t)?yi(e):Ep(t,e,Ms(e),r)}_p.exports=function(...t){let e=Lu(yi(bp),this!==ME&&this||{},bp),r={_:{}};for(let n of t)if(n!==void 0){if(!Os(n))throw new TypeError("`"+n+"` is not an Option Object");r=Lu(r,{_:n},e)}return r._}});var Rp=O((LC,Ip)=>{"use strict";function qE(t){return t>=55296&&t<=56319}function VE(t){return t>=56320&&t<=57343}Ip.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,o=0,s,a,c=0;c<i;c+=1){if(s=r.charCodeAt(c),a=r[c],qE(s)&&VE(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),o+=e(a),o===n)return r.slice(0,c+1);if(o>n)return r.slice(0,c-a.length+1)}return r}});var Tp=O((PC,Cp)=>{"use strict";function $E(t){return t>=55296&&t<=56319}function zE(t){return t>=56320&&t<=57343}Cp.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,o=null,s=0;s<r;s++)i=e.charCodeAt(s),zE(i)?o!=null&&$E(o)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),o=i;return n}});var Lp=O((DC,Bp)=>{"use strict";var HE=Rp(),GE=Tp();Bp.exports=HE.bind(null,GE)});var Np=O((NC,Dp)=>{"use strict";var YE=Lp(),WE=/[\/\?<>\\:\*\|"]/g,QE=/[\x00-\x1f\x80-\x9f]/g,XE=/^\.+$/,ZE=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,jE=/[\. ]+$/;function Pp(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(WE,e).replace(QE,e).replace(XE,e).replace(ZE,e).replace(jE,e);return YE(r,255)}Dp.exports=function(t,e){var r=e&&e.replacement||"",n=Pp(t,r);return r===""?n:Pp(n,"")}});var Gp=O((U3,Hp)=>{Hp.exports=ku;var zp=128,lv=127,fv=~lv,hv=Math.pow(2,31);function ku(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw ku.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=hv;)e[r++]=t&255|zp,t/=128;for(;t&fv;)e[r++]=t&255|zp,t>>>=7;return e[r]=t|0,ku.bytes=r-n+1,e}});var Qp=O((K3,Wp)=>{Wp.exports=Ou;var dv=128,Yp=127;function Ou(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a||i>49)throw Ou.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Yp)<<i:(s&Yp)*Math.pow(2,i),i+=7}while(s>=dv);return Ou.bytes=o-n,r}});var Zp=O((F3,Xp)=>{var pv=Math.pow(2,7),mv=Math.pow(2,14),yv=Math.pow(2,21),gv=Math.pow(2,28),xv=Math.pow(2,35),bv=Math.pow(2,42),wv=Math.pow(2,49),Ev=Math.pow(2,56),vv=Math.pow(2,63);Xp.exports=function(t){return t<pv?1:t<mv?2:t<yv?3:t<gv?4:t<xv?5:t<bv?6:t<wv?7:t<Ev?8:t<vv?9:10}});var Mu=O((q3,jp)=>{jp.exports={encode:Gp(),decode:Qp(),encodingLength:Zp()}});var xm=O((gB,Zu)=>{"use strict";var Hv=Object.prototype.hasOwnProperty,ft="~";function yo(){}Object.create&&(yo.prototype=Object.create(null),new yo().__proto__||(ft=!1));function Gv(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function gm(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new Gv(r,n||t,i),s=ft?ft+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],o]:t._events[s].push(o):(t._events[s]=o,t._eventsCount++),t}function $s(t,e){--t._eventsCount===0?t._events=new yo:delete t._events[e]}function at(){this._events=new yo,this._eventsCount=0}at.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Hv.call(r,n)&&e.push(ft?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};at.prototype.listeners=function(e){var r=ft?ft+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};at.prototype.listenerCount=function(e){var r=ft?ft+e:e,n=this._events[r];return n?n.fn?1:n.length:0};at.prototype.emit=function(e,r,n,i,o,s){var a=ft?ft+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,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!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(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};at.prototype.on=function(e,r,n){return gm(this,e,r,n,!1)};at.prototype.once=function(e,r,n){return gm(this,e,r,n,!0)};at.prototype.removeListener=function(e,r,n,i){var o=ft?ft+e:e;if(!this._events[o])return this;if(!r)return $s(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&$s(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:$s(this,o)}return this};at.prototype.removeAllListeners=function(e){var r;return e?(r=ft?ft+e:e,this._events[r]&&$s(this,r)):(this._events=new yo,this._eventsCount=0),this};at.prototype.off=at.prototype.removeListener;at.prototype.addListener=at.prototype.on;at.prefixed=ft;at.EventEmitter=at;typeof Zu<"u"&&(Zu.exports=at)});var bl=O((PL,Um)=>{"use strict";function Mm(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function s_(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 Mm(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Mm(new i,r)}}Um.exports=s_});var zm=O(Ao=>{(function(){var t,e,r,n,i,o,s,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(".")},s=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=e(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"),o=r("a"),i=r("A"),e=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])-o)>>>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]},t=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=s(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=(s(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):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,h;for(h=s(this.first),f=s(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Ao.ip2long=s,Ao.long2ip=a,Ao.Netmask=t}).call(Ao)});var Wm=O((Ym,la)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"i")};function c(p,d){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,y=-1,g=(p.match(a.zoneIndex)||[])[0],x,w;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(w=d-m,x=":";w--;)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 A=0;A<C.length;A++)_.push(parseInt(C[A],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,w;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(w=y[x],m&&w!==0)return null;w!==8&&(m=!0),d+=w}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 w=0;w<g.length;w++)m=g[w],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 w=7;w>=0;w-=1)if(g=this.parts[w],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(w){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${w})`)}},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,w;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))&&(w=y[6]||"",d=c(y[1].slice(0,-1)+w,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,w;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(w=x[y],p.kind()===w[0].kind()&&p.match.apply(p,w))return g}return m},typeof la<"u"&&la.exports?la.exports=h:t.ipaddr=h})(Ym)});var ry=O((a6,ty)=>{"use strict";ty.exports=ey;var w_=Iu(),jr=ey.prototype,E_=new Date%1e9;function v_(){return(Math.random()*1e9>>>0)+E_++}function ey(t){t=t||{},this.id=t.id||v_(),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)}jr.has=function(t){return t in this._lookup};jr.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};jr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};jr.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};jr.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};jr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=w_(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};jr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};jr.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 So=O((C6,ly)=>{ly.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 hy=O((B6,fy)=>{fy.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 py=O((L6,dy)=>{var I_=hy();dy.exports=I_});var vt=O((D6,my)=>{my.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 Ci=O((k6,gy)=>{var Cl=So(),R_=py(),yy=vt();gy.exports=class extends Cl{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new R_}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,o,s={}){let a=this._getRateLimiterRes(n,i,o);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,s)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,o,s=!1,a={}){this.insuranceLimiter instanceof Cl?this.insuranceLimiter[r](o,s,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}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 Cl))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let o=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,o,i)}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return o(new yy(0,a));this._upsert(s,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,o,s,r,c)}).catch(c=>{this._handleError(c,"consume",i,o,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",o,s,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",o,s,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._get(n,r).then(s=>{i(s===null||typeof s>"u"?null:this._getRateLimiterRes(n,0,s))}).catch(s=>{this._handleError(s,"get",i,o,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._delete(n,r).then(s=>{this._inMemoryBlockedKeys.delete(n),i(s)}).catch(s=>{this._handleError(s,"delete",i,o,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((o,s)=>{this._upsert(e,r,n,!0,i).then(()=>{o(new yy(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",o,s,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,o={}){throw new Error("You have to implement the method '_upsert'!")}}});var wy=O((O6,by)=>{var C_=Ci(),T_=vt(),xy="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} ",Tl=class extends C_{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:xy})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,o]=n;Array.isArray(i)&&([,i]=i,[,o]=o);let s=new T_;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===r,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}_upsert(e,r,n,i=!1){return new Promise((o,s)=>{if(!this._isRedisReady())return s(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(e,r,"EX",a):c.set(e,r),c.pttl(e).exec((u,l)=>u?s(u):o(l));else if(a>0){let u=function(l,f){return l?s(l):o(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(xy,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?s(u):o(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,o)=>{if(i)n(i);else{let[s]=o;if(s===null)return r(null);r(o)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):r(o>0)})})}};by.exports=Tl});var _y=O((M6,vy)=>{var B_=Ci(),L_=vt();function Ey(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 Bl=class t extends B_{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=Ey(this.client)}):(this._initCollection(),this._driverVersion=Ey(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 L_,o;return typeof n.value>"u"?o=n:o=n.value,i.isFirstInDuration=o.points===r,i.consumedPoints=o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire!==null?Math.max(new Date(o.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,o={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let s=o.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,s),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,s)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,s),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,s));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((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:e},s),d={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(p,d,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(h)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};vy.exports=Bl});var Sy=O((U6,Ay)=>{var P_=Ci(),D_=vt(),Ll=class extends P_{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),o=>{if(o)return this._releaseConnection(n),r(o);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new D_,[o]=n;return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,o){return new Promise((s,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,h;o?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
16
16
|
ON DUPLICATE KEY UPDATE
|
|
17
17
|
points = ?,
|
|
18
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);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(d,m)=>{if(d)return e.rollback(),a(d);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);
|
|
21
|
+
expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(d,m)=>{if(d)return e.rollback(),a(d);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);s(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((o,s)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{o(c),this._releaseConnection(a)}).catch(c=>{s(c),this._releaseConnection(a)})}).catch(a=>{s(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(o,s)=>{o?n(o):s.length===0?r(null):r(s),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(o,s)=>{o?n(o):r(s.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};Ay.exports=Ll});var Ry=O((K6,Iy)=>{var N_=Ci(),k_=vt(),Pl=class extends N_{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?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})}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (
|
|
22
22
|
key varchar(255) PRIMARY KEY,
|
|
23
23
|
points integer NOT NULL DEFAULT 0,
|
|
24
24
|
expire bigint
|
|
25
|
-
);`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get 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
|
|
25
|
+
);`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get 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 k_,o=n.rows[0];return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,o)=>{this._getConnection().then(s=>{s.query(n).then(a=>{i(a),this._releaseConnection(s)}).catch(a=>{o(a),this._releaseConnection(s)})}).catch(s=>{o(s)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let o=n>0?Date.now()+n:null,s=i?" $3 ":` CASE
|
|
26
26
|
WHEN ${this.tableName}.expire <= $4 THEN $3
|
|
27
27
|
ELSE ${this.tableName}.expire
|
|
28
28
|
END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
|
|
@@ -32,27 +32,51 @@
|
|
|
32
32
|
WHEN (${this.tableName}.expire <= $4 OR 1=${i?1:0}) THEN $2
|
|
33
33
|
ELSE ${this.tableName}.points + ($2)
|
|
34
34
|
END,
|
|
35
|
-
expire = ${
|
|
36
|
-
RETURNING points, expire;`,values:[e,r,
|
|
37
|
-
SELECT points, expire FROM ${this.tableName} 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.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Zm.exports=hl});var jm=C(()=>{});var ty=C(($3,ey)=>{ey.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 ny=C((G3,ry)=>{var pb=ty(),dl=ut();ry.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 dl(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 pb(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 dl(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 dl(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 ml=C((Y3,sy)=>{var mb=ls(),yb=ny(),iy=ut(),pl=class extends mb{constructor(e={}){super(e),this._memoryStorage=new yb}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 iy(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 iy(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)))}};sy.exports=pl});var hy=C((W3,fy)=>{var oy=jm(),gb=Mr(),xb=ls(),cy=ml(),wb=ut(),mt="rate_limiter_flexible",di=null,ay=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:mt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},uy=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&uy.call(this,t)},30)},fi=function(t,e,r,n,i){let s={channel:mt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):uy.call(this,s)},ly=function(t,e){if(!e||e.channel!==mt||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=>{ay(t,e,"resolve",n)}).catch(n=>{ay(t,e,"reject",n)})},Eb=function(t){if(!t||t.channel!==mt||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 wb(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]}},vb=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},hi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=gb.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},yl=class{constructor(){if(di)return di;this._rateLimiters={},oy.setMaxListeners(0),oy.on("message",(e,r)=>{r&&r.channel===mt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new cy(r.opts)),e.send({channel:mt,type:"init",keyPrefix:r.opts.keyPrefix})):ly.call(this,e,r)}),di=this}},gl=class{constructor(e){if(di)return di;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===mt&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new cy(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:mt,channel:mt,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=mt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};ly.call(this,o,s)}})}),di=this}},xl=class extends xb{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===mt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:Eb.call(this,r)}),process.send({channel:mt,type:"init",opts:vb.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=hi.call(this,i,s);fi.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=hi.call(this,i,s);fi.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=hi.call(this,i,s);fi.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=hi.call(this,i,s);fi.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=hi.call(this,n,i);fi.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=hi.call(this,n,i);fi.call(this,"delete",s,e,r)})}};fy.exports={RateLimiterClusterMaster:yl,RateLimiterClusterMasterPM2:gl,RateLimiterCluster:xl}});var py=C((Q3,dy)=>{var bb=li(),_b=ut(),wl=class extends bb{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new _b;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,(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(e,r,n,i,d).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 d={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(d)})}):this.client.get(`${e}_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(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)})})})}};dy.exports=wl});var gy=C((Z3,yy)=>{var my=ut();yy.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 my(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new my(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 wy=C((j3,xy)=>{var Ab=ls();xy.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 Ab))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 vy=C((tB,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=C((nB,Ay)=>{var by=vy(),_y=4294967295,El="limiter";Ay.exports=class{constructor(e,r={maxQueueSize:_y}){this._queueLimiters={KEY_DEFAULT:new Xo(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=El){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=El){return this._queueLimiters[r]||(this._queueLimiters[r]=new Xo(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Xo=class{constructor(e,r={maxQueueSize:_y,key:El}){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 by(`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 by(`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 Ry=C((sB,Iy)=>{var vl=ut();Iy.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new vl(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 vl?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof vl?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 Ty=C((oB,Cy)=>{var Sb=Hm(),Ib=Wm(),Rb=Xm(),Cb=Jm(),{RateLimiterClusterMaster:Tb,RateLimiterClusterMasterPM2:Bb,RateLimiterCluster:Pb}=hy(),Lb=ml(),Db=py(),Nb=gy(),kb=wy(),Ob=Sy(),Mb=Ry(),Fb=ut();Cy.exports={RateLimiterRedis:Sb,RateLimiterMongo:Ib,RateLimiterMySQL:Rb,RateLimiterPostgres:Cb,RateLimiterMemory:Lb,RateLimiterMemcache:Db,RateLimiterClusterMaster:Tb,RateLimiterClusterMasterPM2:Bb,RateLimiterCluster:Pb,RLWrapperBlackAndWhite:Nb,RateLimiterUnion:kb,RateLimiterQueue:Ob,BurstyRateLimiter:Mb,RateLimiterRes:Fb}});var g_={};Me(g_,{createLibp2p:()=>y_});var Yy=V(bn(),1);var FI=V(bi(),1),UI=V(x0(),1);var Rn=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"},E=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var fo=V(re(),1);function Vr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Qa={};Me(Qa,{identity:()=>Ox});function Px(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(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,w=d.length;g!==w&&d[g]===0;)g++,m++;for(var b=(w-g)*l+1>>>0,N=new Uint8Array(b);g!==w;){for(var R=d[g],T=0,H=b-1;(R!==0||T<y)&&H!==-1;H--,T++)R+=256*N[H]>>>0,N[H]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");y=T,g++}for(var Y=b-y;Y!==b&&N[Y]===0;)Y++;for(var Ce=c.repeat(m);Y<b;++Y)Ce+=t.charAt(N[Y]);return Ce}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 w=(d.length-m)*u+1>>>0,b=new Uint8Array(w);d[m];){var N=r[d.charCodeAt(m)];if(N===255)return;for(var R=0,T=w-1;(N!==0||R<g)&&T!==-1;T--,R++)N+=a*b[T]>>>0,b[T]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");g=R,m++}if(d[m]!==" "){for(var H=w-g;H!==w&&b[H]===0;)H++;for(var Y=new Uint8Array(y+(w-H)),Ce=y;H!==w;)Y[Ce++]=b[H++];return Y}}}function p(d){var m=h(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:p}}var Lx=Px,Dx=Lx,w0=Dx;var W_=new Uint8Array(0);var E0=(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},Zt=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 v0=t=>new TextEncoder().encode(t),b0=t=>new TextDecoder().decode(t);var Ha=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")}},Ga=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 A0(this,e)}},Ya=class{constructor(e){this.decoders=e}or(e){return A0(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`)}},A0=(t,e)=>new Ya({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Wa=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ha(e,r,n),this.decoder=new Ga(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Cn=({name:t,prefix:e,encode:r,decode:n})=>new Wa(t,e,r,n),fr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=w0(r,e);return Cn({prefix:t,name:e,encode:n,decode:s=>Zt(i(s))})},Nx=(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},kx=(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},xe=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Cn({prefix:e,name:t,encode(i){return kx(i,n,r)},decode(i){return Nx(i,n,r,t)}});var Ox=Cn({prefix:"\0",name:"identity",encode:t=>b0(t),decode:t=>v0(t)});var Xa={};Me(Xa,{base2:()=>Mx});var Mx=xe({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Za={};Me(Za,{base8:()=>Fx});var Fx=xe({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ja={};Me(Ja,{base10:()=>Ux});var Ux=fr({prefix:"9",name:"base10",alphabet:"0123456789"});var ja={};Me(ja,{base16:()=>Kx,base16upper:()=>Vx});var Kx=xe({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Vx=xe({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ec={};Me(ec,{base32:()=>rt,base32hex:()=>Hx,base32hexpad:()=>Yx,base32hexpadupper:()=>Wx,base32hexupper:()=>Gx,base32pad:()=>zx,base32padupper:()=>$x,base32upper:()=>qx,base32z:()=>Qx});var rt=xe({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),qx=xe({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),zx=xe({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),$x=xe({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Hx=xe({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Gx=xe({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Yx=xe({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Wx=xe({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Qx=xe({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var tc={};Me(tc,{base36:()=>Xx,base36upper:()=>Zx});var Xx=fr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Zx=fr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var rc={};Me(rc,{base58btc:()=>ve,base58flickr:()=>Jx});var ve=fr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Jx=fr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var nc={};Me(nc,{base64:()=>qr,base64pad:()=>jx,base64url:()=>ew,base64urlpad:()=>tw});var qr=xe({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),jx=xe({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ew=xe({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),tw=xe({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ic={};Me(ic,{base256emoji:()=>ow});var S0=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}"),rw=S0.reduce((t,e,r)=>(t[r]=e,t),[]),nw=S0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function iw(t){return t.reduce((e,r)=>(e+=rw[r],e),"")}function sw(t){let e=[];for(let r of t){let n=nw[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var ow=Cn({prefix:"\u{1F680}",name:"base256emoji",encode:iw,decode:sw});var cc={};Me(cc,{sha256:()=>Fe,sha512:()=>Sw});var aw=C0,I0=128,cw=127,uw=~cw,lw=Math.pow(2,31);function C0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=lw;)e[r++]=t&255|I0,t/=128;for(;t&uw;)e[r++]=t&255|I0,t>>>=7;return e[r]=t|0,C0.bytes=r-n+1,e}var fw=sc,hw=128,R0=127;function sc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw sc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&R0)<<i:(o&R0)*Math.pow(2,i),i+=7}while(o>=hw);return sc.bytes=s-n,r}var dw=Math.pow(2,7),pw=Math.pow(2,14),mw=Math.pow(2,21),yw=Math.pow(2,28),gw=Math.pow(2,35),xw=Math.pow(2,42),ww=Math.pow(2,49),Ew=Math.pow(2,56),vw=Math.pow(2,63),bw=function(t){return t<dw?1:t<pw?2:t<mw?3:t<yw?4:t<gw?5:t<xw?6:t<ww?7:t<Ew?8:t<vw?9:10},_w={encode:aw,decode:fw,encodingLength:bw},Aw=_w,Si=Aw;var Ii=(t,e=0)=>[Si.decode(t,e),Si.decode.bytes],Tn=(t,e,r=0)=>(Si.encode(t,e,r),e),Bn=t=>Si.encodingLength(t);var Ft=(t,e)=>{let r=e.byteLength,n=Bn(t),i=n+Bn(r),s=new Uint8Array(i+r);return Tn(t,s,0),Tn(r,s,n),s.set(e,i),new Pn(t,r,e,s)},zr=t=>{let e=Zt(t),[r,n]=Ii(e),[i,s]=Ii(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Pn(r,i,o,e)},T0=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&E0(t.bytes,r.bytes)}},Pn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var ac=({name:t,code:e,encode:r})=>new oc(t,e,r),oc=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?Ft(this.code,r):r.then(n=>Ft(this.code,n))}else throw Error("Unknown type, must be binary type")}};var P0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Fe=ac({name:"sha2-256",code:18,encode:P0("SHA-256")}),Sw=ac({name:"sha2-512",code:19,encode:P0("SHA-512")});var uc={};Me(uc,{identity:()=>hr});var L0=0,Iw="identity",D0=Zt,Rw=t=>Ft(L0,D0(t)),hr={code:L0,name:Iw,encode:D0,digest:Rw};var mA=new TextEncoder,yA=new TextDecoder;var N0=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Pw(r,lc(t),e||ve.encoder);default:return Lw(r,lc(t),e||rt.encoder)}};var k0=new WeakMap,lc=t=>{let e=k0.get(t);if(e==null){let r=new Map;return k0.set(t,r),r}return e},wt=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!==Ri)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Dw)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=Ft(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&&T0(e.multihash,n.multihash)}toString(e){return N0(this,e)}toJSON(){return{"/":N0(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||O0(n,i,s.bytes))}else if(r[Nw]===!0){let{version:n,multihash:i,code:s}=r,o=zr(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!==Ri)throw new Error(`Version 0 CID must use dag-pb (code: ${Ri}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=O0(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ri,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=Zt(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 Pn(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,h]=Ii(e.subarray(r));return r+=h,f},i=n(),s=Ri;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]=Bw(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 lc(s).set(n,e),s}},Bw=(t,e)=>{switch(t[0]){case"Q":{let r=e||ve;return[ve.prefix,r.decode(`${ve.prefix}${t}`)]}case ve.prefix:{let r=e||ve;return[ve.prefix,r.decode(t)]}case rt.prefix:{let r=e||rt;return[rt.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)]}}},Pw=(t,e,r)=>{let{prefix:n}=r;if(n!==ve.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},Lw=(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},Ri=112,Dw=18,O0=(t,e,r)=>{let n=Bn(t),i=n+Bn(e),s=new Uint8Array(i+r.byteLength);return Tn(t,s,0),Tn(e,s,n),s.set(r,i),s},Nw=Symbol.for("@ipld/js-cid/CID");var dr={...Qa,...Xa,...Za,...Ja,...ja,...ec,...tc,...rc,...nc,...ic},IA={...cc,...uc};function Jt(t=0){return globalThis.Buffer?.alloc!=null?Vr(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Et(t=0){return globalThis.Buffer?.allocUnsafe!=null?Vr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function F0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var M0=F0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),fc=F0("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=Et(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),kw={utf8:M0,"utf-8":M0,hex:dr.base16,latin1:fc,ascii:fc,binary:fc,...dr},$s=kw;function U(t,e="utf8"){let r=$s[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Vr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Uc={};Me(Uc,{Ed25519PrivateKey:()=>Qr,Ed25519PublicKey:()=>ki,generateKeyPair:()=>d2,generateKeyPairFromSeed:()=>$h,unmarshalEd25519PrivateKey:()=>f2,unmarshalEd25519PublicKey:()=>h2});function me(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Ow=V(Mr(),1);var Ne=BigInt(0),Q=BigInt(1),yr=BigInt(2),Mw=BigInt(8),U0=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),ue=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:U0,n:U0,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var $0=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Ci=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),MA=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Fw=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Uw=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Kw=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Vw=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Te=class t{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof be))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(be.ZERO)?t.ZERO:new t(e.x,e.y,Q,S(e.x*e.y))}static toAffineBatch(e){let r=$w(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){V0(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=S(r*a),u=S(s*i),l=S(n*a),f=S(o*i);return c===u&&l===f}negate(){return new t(S(-this.x),this.y,this.z,S(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=ue,s=S(e*e),o=S(r*r),a=S(yr*S(n*n)),c=S(i*s),u=e+r,l=S(S(u*u)-s-o),f=c+o,h=f-a,p=c-o,d=S(l*h),m=S(f*p),y=S(l*p),g=S(h*f);return new t(d,m,g,y)}add(e){V0(e);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:u}=e,l=S((n-r)*(a+o)),f=S((n+r)*(a-o)),h=S(f-l);if(h===Ne)return this.double();let p=S(i*yr*u),d=S(s*yr*c),m=d+p,y=f+l,g=d-p,w=S(m*h),b=S(y*g),N=S(m*g),R=S(h*y);return new t(w,b,R,N)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(t.BASE)&&(r=be.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&yc.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=t.normalizeZ(i),yc.set(r,i)));let s=t.ZERO,o=t.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let p=h*c,d=Number(e&u);e>>=f,d>c&&(d-=l,e+=Q);let m=p,y=p+Math.abs(d)-1,g=h%2!==0,w=d<0;d===0?o=o.add(K0(g,i[m])):s=s.add(K0(w,i[y]))}return t.normalizeZ([s,o])[0]}multiply(e,r){return this.wNAF(Gs(e,ue.l),r)}multiplyUnsafe(e){let r=Gs(e,ue.l,!1),n=t.BASE,i=t.ZERO;if(r===Ne)return i;if(this.equals(i)||r===Q)return this;if(this.equals(n))return this.wNAF(r);let s=i,o=this;for(;r>Ne;)r&Q&&(s=s.add(o)),o=o.double(),r>>=Q;return s}isSmallOrder(){return this.multiplyUnsafe(ue.h).equals(t.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(ue.l/yr).double();return ue.l%yr&&(e=e.add(this)),e.equals(t.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(t.ZERO);e==null&&(e=s?Mw:Ys(i));let o=S(r*e),a=S(n*e),c=S(i*e);if(s)return be.ZERO;if(c!==Q)throw new Error("invZ was invalid");return new be(o,a)}fromRistrettoBytes(){dc()}toRistrettoBytes(){dc()}fromRistrettoHash(){dc()}};Te.BASE=new Te(ue.Gx,ue.Gy,Q,S(ue.Gx*ue.Gy));Te.ZERO=new Te(Ne,Q,Q,Ne);function K0(t,e){let r=e.negate();return t?r:e}function V0(t){if(!(t instanceof Te))throw new TypeError("ExtendedPoint expected")}function hc(t){if(!(t instanceof Hr))throw new TypeError("RistrettoPoint expected")}function dc(){throw new Error("Legacy method: switch to RistrettoPoint")}var Hr=class t{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=ue,n=S(Ci*e*e),i=S((n+Q)*Kw),s=BigInt(-1),o=S((s-r*n)*S(n+r)),{isValid:a,value:c}=xc(i,o),u=S(c*e);mr(u)||(u=S(-u)),a||(c=u),a||(s=n);let l=S(s*(n-Q)*Vw-o),f=c*c,h=S((c+c)*o),p=S(l*Fw),d=S(Q-f),m=S(Q+f);return new Te(S(h*m),S(d*p),S(p*m),S(h*d))}static hashToCurve(e){e=gr(e,64);let r=pc(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=pc(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new t(n.add(s))}static fromHex(e){e=gr(e,32);let{a:r,d:n}=ue,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=pc(e);if(!Gw(Bi(s),e)||mr(s))throw new Error(i);let o=S(s*s),a=S(Q+r*o),c=S(Q-r*o),u=S(a*a),l=S(c*c),f=S(r*n*u-l),{isValid:h,value:p}=z0(S(f*l)),d=S(p*c),m=S(p*d*f),y=S((s+s)*d);mr(y)&&(y=S(-y));let g=S(a*m),w=S(y*g);if(!h||mr(w)||g===Ne)throw new Error(i);return new t(new Te(y,g,Q,w))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,s=S(S(n+r)*S(n-r)),o=S(e*r),a=S(o*o),{value:c}=z0(S(s*a)),u=S(c*s),l=S(c*o),f=S(u*l*i),h;if(mr(i*f)){let d=S(r*Ci),m=S(e*Ci);e=d,r=m,h=S(u*Uw)}else h=l;mr(e*f)&&(r=S(-r));let p=S((n-r)*h);return mr(p)&&(p=S(-p)),Bi(p)}toHex(){return Pi(this.toRawBytes())}toString(){return this.toHex()}equals(e){hc(e);let r=this.ep,n=e.ep,i=S(r.x*n.y)===S(r.y*n.x),s=S(r.y*n.y)===S(r.x*n.x);return i||s}add(e){return hc(e),new t(this.ep.add(e.ep))}subtract(e){return hc(e),new t(this.ep.subtract(e.ep))}multiply(e){return new t(this.ep.multiply(e))}multiplyUnsafe(e){return new t(this.ep.multiplyUnsafe(e))}};Hr.BASE=new Hr(Te.BASE);Hr.ZERO=new Hr(Te.ZERO);var yc=new WeakMap,be=class t{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,yc.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=ue;e=gr(e,32);let s=e.slice();s[31]=e[31]&-129;let o=Li(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=$0)throw new Error("Expected 0 < hex < 2**256");let a=S(o*o),c=S(a-Q),u=S(n*a+Q),{isValid:l,value:f}=xc(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&Q)===Q;return(e[31]&128)!==0!==h&&(f=S(-f)),new t(f,o)}static async fromPrivateKey(e){return(await Ws(e)).point}toRawBytes(){let e=Bi(this.y);return e[31]|=this.x&Q?128:0,e}toHex(){return Pi(this.toRawBytes())}toX25519(){let{y:e}=this,r=S((Q+e)*Ys(Q-e));return Bi(r)}isTorsionFree(){return Te.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new t(S(-this.x),this.y)}add(e){return Te.fromAffine(this).add(Te.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Te.fromAffine(this).multiply(e,this).toAffine()}};be.BASE=new be(ue.Gx,ue.Gy);be.ZERO=new be(Ne,Q);var Ti=class t{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=gr(e,64),n=be.fromHex(r.slice(0,32),!1),i=Li(r.slice(32,64));return new t(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof be))throw new Error("Expected Point instance");return Gs(r,ue.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Bi(this.s),32),e}toHex(){return Pi(this.toRawBytes())}};function q0(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var qw=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Pi(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=qw[t[r]];return e}function gc(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function H0(t){let r=t.toString(16).padStart(64,"0");return gc(r)}function Bi(t){return H0(t).reverse()}function mr(t){return(S(t)&Q)===Q}function Li(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Pi(Uint8Array.from(t).reverse()))}var zw=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function pc(t){return S(Li(t)&zw)}function S(t,e=ue.P){let r=t%e;return r>=Ne?r:e+r}function Ys(t,e=ue.P){if(t===Ne||e<=Ne)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=S(t,e),n=e,i=Ne,s=Q,o=Q,a=Ne;for(;r!==Ne;){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!==Q)throw new Error("invert: does not exist");return S(i,e)}function $w(t,e=ue.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Ne?s:(r[a]=s,S(s*o,e)),Q),i=Ys(n,e);return t.reduceRight((s,o,a)=>o===Ne?s:(r[a]=S(s*r[a],e),S(s*o,e)),i),r}function Ut(t,e){let{P:r}=ue,n=t;for(;e-- >Ne;)n*=n,n%=r;return n}function Hw(t){let{P:e}=ue,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=Ut(c,yr)*c%e,l=Ut(u,Q)*t%e,f=Ut(l,r)*l%e,h=Ut(f,n)*f%e,p=Ut(h,i)*h%e,d=Ut(p,s)*p%e,m=Ut(d,o)*d%e,y=Ut(m,o)*d%e,g=Ut(y,n)*f%e;return{pow_p_5_8:Ut(g,yr)*t%e,b2:c}}function xc(t,e){let r=S(e*e*e),n=S(r*r*e),i=Hw(t*n).pow_p_5_8,s=S(t*r*i),o=S(e*s*s),a=s,c=S(s*Ci),u=o===t,l=o===S(-t),f=o===S(-t*Ci);return u&&(s=a),(l||f)&&(s=c),mr(s)&&(s=S(-s)),{isValid:u||l,value:s}}function z0(t){return xc(Q,t)}function Hs(t){return S(Li(t),ue.l)}function Gw(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 gr(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):gc(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function Gs(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(Ne<t)return t}else if(Ne<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Yw(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function Ww(t){if(t=typeof t=="bigint"||typeof t=="number"?H0(Gs(t,$0)):gr(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function Qw(t){let e=Yw(t.slice(0,32)),r=t.slice(32,64),n=Hs(e),i=be.BASE.multiply(n),s=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:s}}var mc;async function Ws(t){return Qw(await xr.sha512(Ww(t)))}async function wc(t){return(await Ws(t)).pointBytes}async function G0(t,e){t=gr(t);let{prefix:r,scalar:n,pointBytes:i}=await Ws(e),s=Hs(await xr.sha512(r,t)),o=be.BASE.multiply(s),a=Hs(await xr.sha512(o.toRawBytes(),i,t)),c=S(s+a*n,ue.l);return new Ti(o,c).toRawBytes()}function Xw(t,e,r){e=gr(e),r instanceof be||(r=be.fromHex(r,!1));let{r:n,s:i}=t instanceof Ti?t.assertValidity():Ti.fromHex(t),s=Te.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:e}}function Zw(t,e,r,n){let i=Hs(n),s=Te.fromAffine(t).multiplyUnsafe(i);return Te.fromAffine(e).add(s).subtract(r).multiplyUnsafe(ue.h).equals(Te.ZERO)}async function Y0(t,e,r){let{r:n,SB:i,msg:s,pub:o}=Xw(t,e,r),a=await xr.sha512(n.toRawBytes(),o.toRawBytes(),s);return Zw(o,n,i,a)}be.BASE._setWindowSize(8);var pr={node:Ow,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},xr={bytesToHex:Pi,hexToBytes:gc,concatBytes:q0,getExtendedPublicKey:Ws,mod:S,invert:Ys,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=gr(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return S(Li(t),ue.l-Q)+Q},randomBytes:(t=32)=>{if(pr.web)return pr.web.getRandomValues(new Uint8Array(t));if(pr.node){let{randomBytes:e}=pr.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>xr.randomBytes(32),sha512:async(...t)=>{let e=q0(...t);if(pr.web){let r=await pr.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(pr.node)return Uint8Array.from(pr.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=be.BASE){let r=e.equals(be.BASE)?e:new be(e.x,e.y);return r._setWindowSize(t),r.multiply(yr),r},sha512Sync:void 0};Object.defineProperties(xr,{sha512Sync:{configurable:!1,get(){return mc},set(t){mc||(mc=t)}}});var Ln=32,jt=64,Qs=32;async function W0(){let t=xr.randomPrivateKey(),e=await wc(t);return{privateKey:J0(t,e),publicKey:e}}async function Q0(t){if(t.length!==Qs)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=await wc(e);return{privateKey:J0(e,r),publicKey:r}}async function X0(t,e){let r=t.subarray(0,Qs);return G0(e,r)}async function Z0(t,e,r){return Y0(e,r,t)}function J0(t,e){let r=new Uint8Array(jt);for(let n=0;n<Qs;n++)r[n]=t[n],r[Qs+n]=e[n];return r}function _e(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Et(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Vr(r)}var je={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 Ec={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Xs(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=je.get();r*=8;async function c(f,h){let p=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:d};typeof h=="string"&&(h=U(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",Ec,{name:"AES-GCM"},!0,["encrypt"]);try{let w={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(w,b,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Ec,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={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(w,b,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return _e([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:e,iv:d};typeof h=="string"&&(h=U(h));let g;if(h.length===0)try{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},N=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,N,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Ec,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},N=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,N,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(y,g,m);return new Uint8Array(w)}return{encrypt:c,decrypt:u}}async function Dn(t,e){let n=await Xs().encrypt(t,e);return qr.encode(n)}var Dc=V(Sc(),1),Kh=V(Lh(),1),Vh=V(Yr(),1),Nc=V(Lc(),1),qh=V(Uh(),1);function c2(){Vh.default._configure(),Dc.default._configure(Kh.default),Nc.default._configure(qh.default)}c2();var zh=["uint64","int64","sint64","fixed64","sfixed64"];function u2(t){for(let e of zh){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function kc(t){return u2(new Dc.default(t))}function l2(t){for(let e of zh){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function Oc(){return l2(Nc.default.create())}function Ue(t,e){let r=kc(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function Ke(t,e){let r=Oc();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var kn;(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"})(kn||(kn={}));function to(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Mc(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 to("enum",kn.VARINT,r,n)}function Ve(t,e){return to("message",kn.LENGTH_DELIMITED,t,e)}var de;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(de||(de={}));var Fc;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Fc||(Fc={}));(function(t){t.codec=()=>Mc(Fc)})(de||(de={}));var qt;(function(t){let e;t.codec=()=>(e==null&&(e=Ve((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),de.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=de.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ke(r,t.codec()),t.decode=r=>Ue(r,t.codec())})(qt||(qt={}));var zt;(function(t){let e;t.codec=()=>(e==null&&(e=Ve((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),de.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=de.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ke(r,t.codec()),t.decode=r=>Ue(r,t.codec())})(zt||(zt={}));var ki=class{_key;constructor(e){this._key=On(e,Ln)}async verify(e,r){return Z0(this._key,r,e)}marshal(){return this._key}get bytes(){return qt.encode({Type:de.Ed25519,Data:this.marshal()}).subarray()}equals(e){return me(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}},Qr=class{_key;_publicKey;constructor(e,r){this._key=On(e,jt),this._publicKey=On(r,Ln)}async sign(e){return X0(this._key,e)}get public(){return new ki(this._publicKey)}marshal(){return this._key}get bytes(){return zt.encode({Type:de.Ed25519,Data:this.marshal()}).subarray()}equals(e){return me(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}async id(){let e=hr.digest(this.public.bytes);return ve.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Dn(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function f2(t){if(t.length>jt){t=On(t,jt+Ln);let n=t.subarray(0,jt),i=t.subarray(jt,t.length);return new Qr(n,i)}t=On(t,jt);let e=t.subarray(0,jt),r=t.subarray(Ln);return new Qr(e,r)}function h2(t){return t=On(t,Ln),new ki(t)}async function d2(){let{privateKey:t,publicKey:e}=await W0();return new Qr(t,e)}async function $h(t){let{privateKey:e,publicKey:r}=await Q0(t);return new Qr(e,r)}function On(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new E(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function z(t,e="utf8"){let r=$s[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 BS=V(Ee(),1),PS=V(Us(),1),Hh=V(re(),1);function _t(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=_e([new Uint8Array(e-r.length),r])}return z(r,"base64url")}function nt(t){let e=Gh(t);return new Hh.default.jsbn.BigInteger(z(e,"base16"),16)}function Gh(t,e){let r=U(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=_e([new Uint8Array(e-r.length),r])}return r}var p2={"P-256":256,"P-384":384,"P-521":521},m2=Object.keys(p2),qS=m2.join(" / ");async function Yh(t,e){let r=qr.decode(t);return Xs().decrypt(r,e)}var Xc={};Me(Xc,{MAX_KEY_SIZE:()=>zi,RsaPrivateKey:()=>$n,RsaPublicKey:()=>qi,fromJwk:()=>K2,generateKeyPair:()=>V2,unmarshalRsaPrivateKey:()=>F2,unmarshalRsaPublicKey:()=>U2});var Vi=V(re(),1);var II=V(jh(),1);var g2=V(Mr(),1);var X=BigInt(0),fe=BigInt(1),br=BigInt(2),Fi=BigInt(3),ed=BigInt(8),we=Object.freeze({a:X,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:fe,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),td=(t,e)=>(t+e/br)/e,no={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=we,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-fe*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=td(s*t,e),c=td(-n*t,e),u=L(t-a*r-c*i,e),l=L(-a*n-c*s,e),f=u>o,h=l>o;if(f&&(u=e-u),h&&(l=e-l),u>o||l>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}},At=32,Kn=32,x2=32,rd=At+1,nd=2*At+1;function id(t){let{a:e,b:r}=we,n=L(t*t),i=L(n*t);return L(i+e*t+r)}var io=we.a===X,ao=class extends Error{constructor(e){super(e)}};function sd(t){if(!(t instanceof Qe))throw new TypeError("JacobianPoint expected")}var Qe=class t{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof ye))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(ye.ZERO)?t.ZERO:new t(e.x,e.y,fe)}static toAffineBatch(e){let r=_2(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return t.toAffineBatch(e).map(t.fromAffine)}equals(e){sd(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=L(i*i),u=L(a*a),l=L(r*u),f=L(s*c),h=L(L(n*a)*u),p=L(L(o*i)*c);return l===f&&h===p}negate(){return new t(this.x,L(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=L(e*e),s=L(r*r),o=L(s*s),a=e+s,c=L(br*(L(a*a)-i-o)),u=L(Fi*i),l=L(u*u),f=L(l-br*c),h=L(u*(c-f)-ed*o),p=L(br*r*n);return new t(f,h,p)}add(e){sd(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e;if(s===X||o===X)return this;if(r===X||n===X)return e;let c=L(i*i),u=L(a*a),l=L(r*u),f=L(s*c),h=L(L(n*a)*u),p=L(L(o*i)*c),d=L(f-l),m=L(p-h);if(d===X)return m===X?this.double():t.ZERO;let y=L(d*d),g=L(d*y),w=L(l*y),b=L(m*m-g-br*w),N=L(m*(w-b)-h*g),R=L(i*a*d);return new t(b,N,R)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=t.ZERO;if(typeof e=="bigint"&&e===X)return r;let n=cd(e);if(n===fe)return this;if(!io){let f=r,h=this;for(;n>X;)n&fe&&(f=f.add(h)),h=h.double(),n>>=fe;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=no.splitScalar(n),c=r,u=r,l=this;for(;s>X||a>X;)s&fe&&(c=c.add(l)),a&fe&&(u=u.add(l)),l=l.double(),s>>=fe,a>>=fe;return i&&(c=c.negate()),o&&(u=u.negate()),u=new t(L(u.x*no.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=io?128/e+1:256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(t.BASE)&&(r=ye.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&zc.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=t.normalizeZ(i),zc.set(r,i)));let s=t.ZERO,o=t.BASE,a=1+(io?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let p=h*c,d=Number(e&u);e>>=f,d>c&&(d-=l,e+=fe);let m=p,y=p+Math.abs(d)-1,g=h%2!==0,w=d<0;d===0?o=o.add(so(g,i[m])):s=s.add(so(w,i[y]))}return{p:s,f:o}}multiply(e,r){let n=cd(e),i,s;if(io){let{k1neg:o,k1:a,k2neg:c,k2:u}=no.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:h,f:p}=this.wNAF(u,r);l=so(o,l),h=so(c,h),h=new t(L(h.x*no.beta),h.y,h.z),i=l.add(h),s=f.add(p)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return t.normalizeZ([i,s])[0]}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(t.ZERO);e==null&&(e=s?ed:zn(i));let o=e,a=L(o*o),c=L(a*o),u=L(r*a),l=L(n*c),f=L(i*o);if(s)return ye.ZERO;if(f!==fe)throw new Error("invZ was invalid");return new ye(u,l)}};Qe.BASE=new Qe(we.Gx,we.Gy,fe);Qe.ZERO=new Qe(X,fe,X);function so(t,e){let r=e.negate();return t?r:e}var zc=new WeakMap,ye=class t{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,zc.delete(this)}hasEvenY(){return this.y%br===X}static fromCompressedHex(e){let r=e.length===32,n=_r(r?e:e.subarray(1));if(!qc(n))throw new Error("Point is not on curve");let i=id(n),s=b2(i),o=(s&fe)===fe;r?o&&(s=L(-s)):(e[0]&1)===1!==o&&(s=L(-s));let a=new t(n,s);return a.assertValidity(),a}static fromUncompressedHex(e){let r=_r(e.subarray(1,At+1)),n=_r(e.subarray(At+1,At*2+1)),i=new t(r,n);return i.assertValidity(),i}static fromHex(e){let r=qn(e),n=r.length,i=r[0];if(n===At)return this.fromCompressedHex(r);if(n===rd&&(i===2||i===3))return this.fromCompressedHex(r);if(n===nd&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${rd} compressed bytes or ${nd} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return t.BASE.multiply(uo(e))}static fromSignature(e,r,n){let{r:i,s}=ud(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=Gc(qn(e)),{n:a}=we,c=n===2||n===3?i+a:i,u=zn(c,a),l=L(-o*u,a),f=L(s*u,a),h=n&1?"03":"02",p=t.fromHex(h+Fn(c)),d=t.BASE.multiplyAndAddUnsafe(p,l,f);if(!d)throw new Error("Cannot recover signature: point at infinify");return d.assertValidity(),d}toRawBytes(e=!1){return Zr(this.toHex(e))}toHex(e=!1){let r=Fn(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Fn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!qc(r)||!qc(n))throw new Error(e);let i=L(n*n),s=id(r);if(L(i-s)!==X)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new t(this.x,L(-this.y))}double(){return Qe.fromAffine(this).double().toAffine()}add(e){return Qe.fromAffine(this).add(Qe.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Qe.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=Qe.fromAffine(this),s=r===X||r===fe||this!==t.BASE?i.multiplyUnsafe(r):i.multiply(r),o=Qe.fromAffine(e).multiplyUnsafe(n),a=s.add(o);return a.equals(Qe.ZERO)?void 0:a.toAffine()}};ye.BASE=new ye(we.Gx,we.Gy);ye.ZERO=new ye(X,X);function od(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function ad(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${Vn(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:_r(r),left:t.subarray(e+2)}}function w2(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${Vn(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=ad(t.subarray(2)),{data:n,left:i}=ad(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Vn(i)}`);return{r:e,s:n}}var Mn=class t{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Vn(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new t(co(i.slice(0,64)),co(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=w2(r?e:Zr(e));return new t(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!Ki(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Ki(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=we.n>>fe;return this.s>e}normalizeS(){return this.hasHighS()?new t(this.r,L(-this.s,we.n)):this}toDERRawBytes(){return Zr(this.toDERHex())}toDERHex(){let e=od(Mi(this.s)),r=od(Mi(this.r)),n=e.length/2,i=r.length/2,s=Mi(n),o=Mi(i);return`30${Mi(i+n+4)}02${o}${r}02${s}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Zr(this.toCompactHex())}toCompactHex(){return Fn(this.r)+Fn(this.s)}};function vr(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var E2=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Vn(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=E2[t[r]];return e}var v2=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Fn(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(X<=t&&t<v2))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function $c(t){let e=Zr(Fn(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function Mi(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function co(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function Zr(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function _r(t){return co(Vn(t))}function qn(t){return t instanceof Uint8Array?Uint8Array.from(t):Zr(t)}function cd(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&Ki(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function L(t,e=we.P){let r=t%e;return r>=X?r:e+r}function pt(t,e){let{P:r}=we,n=t;for(;e-- >X;)n*=n,n%=r;return n}function b2(t){let{P:e}=we,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=pt(u,Fi)*u%e,f=pt(l,Fi)*u%e,h=pt(f,br)*c%e,p=pt(h,n)*h%e,d=pt(p,i)*p%e,m=pt(d,o)*d%e,y=pt(m,a)*m%e,g=pt(y,o)*d%e,w=pt(g,Fi)*u%e,b=pt(w,s)*p%e,N=pt(b,r)*c%e,R=pt(N,br);if(R*R%e!==t)throw new Error("Cannot find square root");return R}function zn(t,e=we.P){if(t===X||e<=X)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=L(t,e),n=e,i=X,s=fe,o=fe,a=X;for(;r!==X;){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!==fe)throw new Error("invert: does not exist");return L(i,e)}function _2(t,e=we.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===X?s:(r[a]=s,L(s*o,e)),fe),i=zn(n,e);return t.reduceRight((s,o,a)=>o===X?s:(r[a]=L(s*r[a],e),L(s*o,e)),i),r}function A2(t){let e=t.length*8-Kn*8,r=_r(t);return e>0?r>>BigInt(e):r}function Gc(t,e=!1){let r=A2(t);if(e)return r;let{n}=we;return r>=n?r-n:r}var Un,Ui,Hc=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return St.hmacSha256(this.k,...e)}hmacSync(...e){return Ui(this.k,...e)}checkSync(){if(typeof Ui!="function")throw new ao("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return vr(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return vr(...r)}};function Ki(t){return X<t&&t<we.n}function qc(t){return X<t&&t<we.P}function S2(t,e,r,n=!0){let{n:i}=we,s=Gc(t,!0);if(!Ki(s))return;let o=zn(s,i),a=ye.BASE.multiply(s),c=L(a.x,i);if(c===X)return;let u=L(o*L(e+r*c,i),i);if(u===X)return;let l=new Mn(c,u),f=(a.x===l.r?0:2)|Number(a.y&fe);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function uo(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*Kn)throw new Error("Expected 32 bytes of private key");e=co(t)}else if(t instanceof Uint8Array){if(t.length!==Kn)throw new Error("Expected 32 bytes of private key");e=_r(t)}else throw new TypeError("Expected valid private key");if(!Ki(e))throw new Error("Expected private key: 0 < key < n");return e}function I2(t){return t instanceof ye?(t.assertValidity(),t):ye.fromHex(t)}function ud(t){if(t instanceof Mn)return t.assertValidity(),t;try{return Mn.fromDER(t)}catch{return Mn.fromCompact(t)}}function Yc(t,e=!1){return ye.fromPrivateKey(t).toRawBytes(e)}function ld(t){let e=t.length>At?t.slice(0,At):t;return _r(e)}function R2(t){let e=ld(t),r=L(e,we.n);return fd(r<X?e:r)}function fd(t){return $c(t)}function C2(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=qn(t),i=uo(e),s=[fd(i),R2(n)];if(r!=null){r===!0&&(r=St.randomBytes(At));let c=qn(r);if(c.length!==At)throw new Error(`sign: Expected ${At} bytes of extra data`);s.push(c)}let o=vr(...s),a=ld(n);return{seed:o,m:a,d:i}}function T2(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},e),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function hd(t,e,r={}){let{seed:n,m:i,d:s}=C2(t,e,r.extraEntropy),o=new Hc(x2,Kn);await o.reseed(n);let a;for(;!(a=S2(await o.generate(),i,s,r.canonical));)await o.reseed();return T2(a,r)}var B2={strict:!0};function dd(t,e,r,n=B2){let i;try{i=ud(t),e=qn(e)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=Gc(e),c;try{c=I2(r)}catch{return!1}let{n:u}=we,l=zn(o,u),f=L(a*l,u),h=L(s*l,u),p=ye.BASE.multiplyAndAddUnsafe(c,f,h);return p?L(p.x,u)===s:!1}ye.BASE._setWindowSize(8);var it={node:g2,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var oo={},St={bytesToHex:Vn,hexToBytes:Zr,concatBytes:vr,mod:L,invert:zn,isValidPrivateKey(t){try{return uo(t),!0}catch{return!1}},_bigintTo32Bytes:$c,_normalizePrivateKey:uo,hashToPrivateKey:t=>{t=qn(t);let e=Kn+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=L(_r(t),we.n-fe)+fe;return $c(r)},randomBytes:(t=32)=>{if(it.web)return it.web.getRandomValues(new Uint8Array(t));if(it.node){let{randomBytes:e}=it.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>St.hashToPrivateKey(St.randomBytes(Kn+8)),precompute(t=8,e=ye.BASE){let r=e===ye.BASE?e:new ye(e.x,e.y);return r._setWindowSize(t),r.multiply(Fi),r},sha256:async(...t)=>{if(it.web){let e=await it.web.subtle.digest("SHA-256",vr(...t));return new Uint8Array(e)}else if(it.node){let{createHash:e}=it.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(it.web){let r=await it.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=vr(...e),i=await it.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(it.node){let{createHmac:r}=it.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=oo[t];if(r===void 0){let n=await St.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=vr(n,n),oo[t]=r}return St.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof Un!="function")throw new ao("sha256Sync is undefined, you need to set it");let r=oo[t];if(r===void 0){let n=Un(Uint8Array.from(t,i=>i.charCodeAt(0)));r=vr(n,n),oo[t]=r}return Un(r,...e)},_JacobianPoint:Qe};Object.defineProperties(St,{sha256Sync:{configurable:!1,get(){return Un},set(t){Un||(Un=t)}},hmacSha256Sync:{configurable:!1,get(){return Ui},set(t){Ui||(Ui=t)}}});function Jr(t){if(isNaN(t)||t<=0)throw new E("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return St.randomBytes(t)}var cI=V(qs(),1),Wc=V(re(),1);function pd(t,e){return e.map(r=>nt(t[r]))}function md(t){return Wc.default.pki.setRsaPrivateKey(...pd(t,["n","e","d","p","q","dp","dq","qi"]))}function yd(t){return Wc.default.pki.setRsaPublicKey(...pd(t,["n","e"]))}var jr={};Me(jr,{jwkToPkcs1:()=>D2,jwkToPkix:()=>k2,pkcs1ToJwk:()=>L2,pkixToJwk:()=>N2});var fI=V(bi(),1),hI=V(qs(),1);var er=V(re(),1);function L2(t){let e=er.default.asn1.fromDer(z(t,"ascii")),r=er.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:_t(r.n),e:_t(r.e),d:_t(r.d),p:_t(r.p),q:_t(r.q),dp:_t(r.dP),dq:_t(r.dQ),qi:_t(r.qInv),alg:"RS256"}}function D2(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 E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=er.default.pki.privateKeyToAsn1({n:nt(t.n),e:nt(t.e),d:nt(t.d),p:nt(t.p),q:nt(t.q),dP:nt(t.dp),dQ:nt(t.dq),qInv:nt(t.qi)});return U(er.default.asn1.toDer(e).getBytes(),"ascii")}function N2(t){let e=er.default.asn1.fromDer(z(t,"ascii")),r=er.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:_t(r.n),e:_t(r.e)}}function k2(t){if(t.n==null||t.e==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=er.default.pki.publicKeyToAsn1({n:nt(t.n),e:nt(t.e)});return U(er.default.asn1.toDer(e).getBytes(),"ascii")}async function gd(t){let e=await je.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 Ed(e);return{privateKey:r[0],publicKey:r[1]}}async function Qc(t){let r=[await je.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await O2(t)],n=await Ed({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function xd(t,e){let r=await je.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await je.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function wd(t,e,r){let n=await je.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return je.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function Ed(t){if(t.privateKey==null||t.publicKey==null)throw new E("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([je.get().subtle.exportKey("jwk",t.privateKey),je.get().subtle.exportKey("jwk",t.publicKey)])}async function O2(t){return je.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 vd(t,e,r,n){let i=e?yd(t):md(t),s=z(Uint8Array.from(r),"ascii"),o=n(s,i);return U(o,"ascii")}function bd(t,e){return vd(t,!0,e,(r,n)=>n.encrypt(r))}function _d(t,e){return vd(t,!1,e,(r,n)=>n.decrypt(r))}function lo(t){if(t.kty!=="RSA")throw new E("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new E("invalid key modulus","ERR_INVALID_KEY_MODULUS");return U(t.n,"base64url").length*8}var zi=8192,qi=class{_key;constructor(e){this._key=e}async verify(e,r){return wd(this._key,r,e)}marshal(){return jr.jwkToPkix(this._key)}get bytes(){return qt.encode({Type:de.RSA,Data:this.marshal()}).subarray()}encrypt(e){return bd(this._key,e)}equals(e){return me(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}},$n=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return Jr(16)}async sign(e){return xd(this._key,e)}get public(){if(this._publicKey==null)throw new E("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new qi(this._publicKey)}decrypt(e){return _d(this._key,e)}marshal(){return jr.jwkToPkcs1(this._key)}get bytes(){return zt.encode({Type:de.RSA,Data:this.marshal()}).subarray()}equals(e){return me(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}async id(){let e=await this.public.hash();return z(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Vi.default.util.ByteBuffer(this.marshal()),i=Vi.default.asn1.fromDer(n),s=Vi.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Vi.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Dn(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function F2(t){let e=jr.pkcs1ToJwk(t);if(lo(e)>zi)throw new E("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Qc(e);return new $n(r.privateKey,r.publicKey)}function U2(t){let e=jr.pkixToJwk(t);if(lo(e)>zi)throw new E("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new qi(e)}async function K2(t){if(lo(t)>zi)throw new E("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Qc(t);return new $n(e.privateKey,e.publicKey)}async function V2(t){if(t>zi)throw new E("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await gd(t);return new $n(e.privateKey,e.publicKey)}var Jc={};Me(Jc,{Secp256k1PrivateKey:()=>Hi,Secp256k1PublicKey:()=>$i,generateKeyPair:()=>H2,unmarshalSecp256k1PrivateKey:()=>z2,unmarshalSecp256k1PublicKey:()=>$2});function Ad(){return St.randomPrivateKey()}async function Sd(t,e){let{digest:r}=await Fe.digest(e);try{return await hd(r,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}async function Id(t,e,r){try{let{digest:n}=await Fe.digest(r);return dd(e,n,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}function Rd(t){return ye.fromHex(t).toRawBytes(!0)}function Cd(t){try{Yc(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Zc(t){try{ye.fromHex(t)}catch(e){throw new E(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Td(t){try{return Yc(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}var $i=class{_key;constructor(e){Zc(e),this._key=e}async verify(e,r){return Id(this._key,r,e)}marshal(){return Rd(this._key)}get bytes(){return qt.encode({Type:de.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return me(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}},Hi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Td(e),Cd(this._key),Zc(this._publicKey)}async sign(e){return Sd(this._key,e)}get public(){return new $i(this._publicKey)}marshal(){return this._key}get bytes(){return zt.encode({Type:de.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return me(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}async id(){let e=await this.public.hash();return z(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Dn(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function z2(t){return new Hi(t)}function $2(t){return new $i(t)}async function H2(){let t=Ad();return new Hi(t)}var tr={rsa:Xc,ed25519:Uc,secp256k1:Jc};function jc(t){let e=Object.keys(tr).join(" / ");return new E(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function eu(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return tr[t];throw jc(t)}async function ho(t,e){return eu(t).generateKeyPair(e??2048)}function Gi(t){let e=qt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case de.RSA:return tr.rsa.unmarshalRsaPublicKey(r);case de.Ed25519:return tr.ed25519.unmarshalEd25519PublicKey(r);case de.Secp256k1:return tr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw jc(e.Type??"RSA")}}function Bd(t,e){return e=(e??"rsa").toLowerCase(),eu(e),t.bytes}async function Hn(t){let e=zt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case de.RSA:return tr.rsa.unmarshalRsaPrivateKey(r);case de.Ed25519:return tr.ed25519.unmarshalEd25519PrivateKey(r);case de.Secp256k1:return tr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw jc(e.Type??"RSA")}}function Pd(t,e){return e=(e??"rsa").toLowerCase(),eu(e),t.bytes}async function Yi(t,e){try{let i=await Yh(t,e);return await Hn(i)}catch{}let r=fo.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new E("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=fo.default.asn1.toDer(fo.default.pki.privateKeyToAsn1(r));return n=U(n.getBytes(),"ascii"),tr.rsa.unmarshalRsaPrivateKey(n)}var tu=Symbol.for("@libp2p/content-routing");var Wi=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 nu(e,r))}},ru=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},nu=globalThis.CustomEvent??ru;var iu=Symbol.for("@libp2p/peer-discovery");var su=Symbol.for("@libp2p/peer-routing");var ZI=V(Ps(),1),Y2=V(re(),1);var Dd=V(ka(),1),Nd=V(Ee(),1),Ld={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Qi(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Ld).join(" / ");throw new E(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=Ld[i],o=(0,Dd.default)(t,e,r,n,s);return Nd.default.encode64(o,null)}var ot=V(au(),1);ot.default.formatters.b=t=>t==null?"undefined":ve.baseEncode(t);ot.default.formatters.t=t=>t==null?"undefined":rt.baseEncode(t);ot.default.formatters.m=t=>t==null?"undefined":qr.baseEncode(t);ot.default.formatters.p=t=>t==null?"undefined":t.toString();ot.default.formatters.c=t=>t==null?"undefined":t.toString();ot.default.formatters.k=t=>t==null?"undefined":t.toString();ot.default.formatters.a=t=>t==null?"undefined":t.toString();function cE(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 G(t){let e=cE(`${t}:trace`);return ot.default.enabled(`${t}:trace`)&&ot.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,ot.default)(`${t}:trace`)),Object.assign((0,ot.default)(t),{error:(0,ot.default)(`${t}:error`),trace:e})}var cu=Symbol.for("@libp2p/peer-id");function yo(t){return t!=null&&!!t[cu]}var uE=Symbol.for("nodejs.util.inspect.custom"),Fd=Object.values(dr).map(t=>t.decoder).reduce((t,e)=>t.or(e),dr.identity.decoder),Ud=114,uu=36,lu=37,Xi=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()})`}[cu]=!0;toString(){return this.string==null&&(this.string=ve.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return wt.createV1(Ud,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return me(this.multihash.bytes,e);if(typeof e=="string")return te(e).equals(this);if(e?.multihash?.bytes!=null)return me(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[uE](){return`PeerId(${this.toString()})`}},tn=class extends Xi{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},rn=class extends Xi{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},nn=class extends Xi{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Kd(t){if(t.type==="RSA")return new tn(t);if(t.type==="Ed25519")return new rn(t);if(t.type==="secp256k1")return new nn(t);throw new E("Not a PeerId","ERR_INVALID_PARAMETERS")}function te(t,e){if(e=e??Fd,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=zr(ve.decode(`z${t}`));return t.startsWith("12D")?new rn({multihash:r}):t.startsWith("16U")?new nn({multihash:r}):new tn({multihash:r})}return Qn(Fd.decode(t))}function Qn(t){try{let e=zr(t);if(e.code===hr.code){if(e.digest.length===uu)return new rn({multihash:e});if(e.digest.length===lu)return new nn({multihash:e})}if(e.code===Fe.code)return new tn({multihash:e})}catch{return lE(wt.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function lE(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Ud)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Fe.code)return new tn({multihash:t.multihash});if(e.code===hr.code){if(e.digest.length===uu)return new rn({multihash:t.multihash});if(e.digest.length===lu)return new nn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Xn(t,e){return t.length===uu?new rn({multihash:Ft(hr.code,t),privateKey:e}):t.length===lu?new nn({multihash:Ft(hr.code,t),privateKey:e}):new tn({multihash:await Fe.digest(t),publicKey:t,privateKey:e})}var go=(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 rr="/",Vd=new TextEncoder().encode(rr),xo=Vd[0],$t=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=U(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]!==xo)throw new Error("Invalid key")}toString(e="utf8"){return z(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(rr))}static random(){return new t(go().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=Vd),this._buf[0]!==xo){let e=new Uint8Array(this._buf.byteLength+1);e.fill(xo,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===xo;)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(rr).slice(1)}type(){return fE(this.baseNamespace())}name(){return hE(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(rr)||(e+=rr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(rr):new t(e.slice(0,-1).join(rr))}child(e){return this.toString()===rr?e:e.toString()===rr?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(),...dE(e.map(r=>r.namespaces()))])}};function fE(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function hE(t){let e=t.split(":");return e[e.length-1]}function dE(t){return[].concat(...t)}var Xd=V(Qd(),1),Ar=Xd.default;var op=V(sp(),1);var Z;(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"})(Z||(Z={}));var vo=G("libp2p:keychain"),PE="/pkcs8/",ap="/info/",sn=new WeakMap,on={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},hu={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function nr(t){return t==null||typeof t!="string"?!1:t===(0,op.default)(t.trim())&&t.length>0}async function ie(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function Ht(t){return new $t(PE+t)}function Sr(t){return new $t(ap+t)}var an=class{components;init;constructor(e,r){if(this.components=e,this.init=Ar(hu,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<on.minKeyLength)throw new Error(`dek.keyLength must be least ${on.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<on.minSaltLength)throw new Error(`dek.saltLength must be least ${on.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<on.minIterationCount)throw new Error(`dek.iterationCount must be least ${on.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Qi(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";sn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},hu),r=Math.ceil(on.minSaltLength/3)*3;return e.dek.salt=z(Jr(r),"base64"),e}static get options(){return hu}async createKey(e,r,n=2048){if(!nr(e)||e==="self")throw await ie(),new E("Invalid key name",Z.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await ie(),new E("Invalid key type",Z.ERR_INVALID_KEY_TYPE);let i=Ht(e);if(await this.components.datastore.has(i))throw await ie(),new E("Key name already exists",Z.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ie(),new E("Invalid RSA key size",Z.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await ho(r,n),c=await a.id(),u=sn.get(this);if(u==null)throw new E("dek missing",Z.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:e,id:c};let h=this.components.datastore.batch();h.put(i,U(f)),h.put(Sr(e),U(JSON.stringify(o))),await h.commit()}catch(a){throw await ie(),a}return o}async listKeys(){let e={prefix:ap},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(z(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new E(`Key with id '${e}' does not exist.`,Z.ERR_KEY_NOT_FOUND);return n}catch(r){throw await ie(),r}}async findKeyByName(e){if(!nr(e))throw await ie(),new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);let r=Sr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(z(n))}catch(n){throw await ie(),vo.error(n),new E(`Key '${e}' does not exist.`,Z.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!nr(e)||e==="self")throw await ie(),new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);let r=Ht(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Sr(e)),await i.commit(),n}async renameKey(e,r){if(!nr(e)||e==="self")throw await ie(),new E(`Invalid old key name '${e}'`,Z.ERR_OLD_KEY_NAME_INVALID);if(!nr(r)||r==="self")throw await ie(),new E(`Invalid new key name '${r}'`,Z.ERR_NEW_KEY_NAME_INVALID);let n=Ht(e),i=Ht(r),s=Sr(e),o=Sr(r);if(await this.components.datastore.has(i))throw await ie(),new E(`Key '${r}' already exists`,Z.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(s),l=JSON.parse(z(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,U(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await ie(),c}}async exportKey(e,r){if(!nr(e))throw await ie(),new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);if(r==null)throw await ie(),new E("Password is required",Z.ERR_PASSWORD_REQUIRED);let n=Ht(e);try{let i=await this.components.datastore.get(n),s=z(i),o=sn.get(this);if(o==null)throw new E("dek missing",Z.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await Yi(s,a)).export(r)}catch(i){throw await ie(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await Yi(n,r);return Xn(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!nr(e)||e==="self")throw await ie(),new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);if(r==null)throw await ie(),new E("PEM encoded key is required",Z.ERR_PEM_REQUIRED);let i=Ht(e);if(await this.components.datastore.has(i))throw await ie(),new E(`Key '${e}' already exists`,Z.ERR_KEY_ALREADY_EXISTS);let o;try{o=await Yi(r,n)}catch{throw await ie(),new E("Cannot read the key, most likely the password is wrong",Z.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=sn.get(this);if(l==null)throw new E("dek missing",Z.ERR_INVALID_PARAMETERS);let f=l.dek;r=await o.export(f)}catch(l){throw await ie(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,U(r)),u.put(Sr(e),U(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!nr(e))throw new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);if(r==null)throw new E("PeerId is required",Z.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new E("PeerId.privKey is required",Z.ERR_MISSING_PRIVATE_KEY);let n=await Hn(r.privateKey),i=Ht(e);if(await this.components.datastore.has(i))throw await ie(),new E(`Key '${e}' already exists`,Z.ERR_KEY_ALREADY_EXISTS);let o=sn.get(this);if(o==null)throw new E("dek missing",Z.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,U(c)),l.put(Sr(e),U(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ie(),n}}async getPrivateKey(e){if(!nr(e))throw await ie(),new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);try{let r=Ht(e),n=await this.components.datastore.get(r);return z(n)}catch(r){throw await ie(),vo.error(r),new E(`Key '${e}' does not exist.`,Z.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await ie(),new E(`Invalid old pass type '${typeof e}'`,Z.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await ie(),new E(`Invalid new pass type '${typeof r}'`,Z.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await ie(),new E(`Invalid pass length ${r.length}`,Z.ERR_INVALID_PASS_LENGTH);vo("recreating keychain");let n=sn.get(this);if(n==null)throw new E("dek missing",Z.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?Qi(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";sn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(Ht(a.name)),u=z(c),l=await Yi(u,i),f=s.toString(),h=await l.export(f),p=this.components.datastore.batch(),d={name:a.name,id:a.id};p.put(Ht(a.name),U(h)),p.put(Sr(a.name),U(JSON.stringify(d))),await p.commit()}vo("keychain reconstructed")}};function ir(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 It=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 ir(this.map.entries(),e=>[te(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,te(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 ir(this.map.keys(),e=>te(e))}values(){return this.map.values()}get size(){return this.map.size}};var cn=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 ir(this.set.entries(),e=>{let r=te(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=te(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return ir(this.set.values(),e=>te(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 du=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return ir(this.list.entries(),e=>te(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return ir(this.list.entries(),e=>[e[0],te(e[1])])}every(e){return this.list.every((r,n)=>e(te(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let s=te(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(te(n),i,this));if(r!=null)return te(r)}findIndex(e){return this.list.findIndex((r,n)=>e(te(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(te(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 te(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return te(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 pu;(function(t){let e;t.codec=()=>(e==null&&(e=Ve((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=>Ke(r,t.codec()),t.decode=r=>Ue(r,t.codec())})(pu||(pu={}));var cp=async()=>{let t=await ho("Ed25519"),e=await LE(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function LE(t){return Xn(Bd(t.public),Pd(t))}function bo(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var up=4294967296,Zi=class t{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)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)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new t(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new t(r,n)}toBytes(e,r=0){let n=bo(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new t;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>up&&(i=0,++n>up&&(n=0))),new t(n,i)}static fromNumber(e){if(e===0)return new t;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(i,n)}static fromBytes(e,r=0){let n=bo(e),i=new t,s=0;if(e.length-r>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;s=0}else for(;s<4;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;s<5;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var DE=Math.pow(2,7),NE=Math.pow(2,14),kE=Math.pow(2,21),OE=Math.pow(2,28),ME=Math.pow(2,35),FE=Math.pow(2,42),UE=Math.pow(2,49),KE=Math.pow(2,56),VE=Math.pow(2,63),Rt={encodingLength(t){return t<DE?1:t<NE?2:t<kE?3:t<OE?4:t<ME?5:t<FE?6:t<UE?7:t<KE?8:t<VE?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=Et(Rt.encodingLength(t))),Zi.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return Zi.fromBytes(t,e).toNumber(!0)}};var fp=Symbol.for("@achingbrain/uint8arraylist");function lp(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 _o(t){return!!t?.[fp]}var Oe=class t{constructor(...e){Object.defineProperty(this,fp,{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(_o(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(_o(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=lp(this.bufs,e);return r.buf[r.index]}set(e,r){let n=lp(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(_o(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 _e(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:_e(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(!_o(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 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(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Et(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=Jt(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=Jt(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=Jt(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=Et(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=Jt(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=Jt(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=Jt(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=Jt(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=Jt(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(!me(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 hp={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Ji;(function(t){let e;t.codec=()=>(e==null&&(e=Ve((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=>Ke(r,t.codec()),t.decode=r=>Ue(r,t.codec())})(Ji||(Ji={}));var jn=class t{static createFromProtobuf=async e=>{let r=Ji.decode(e),n=await Xn(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=dp(n,i,s),c=await(await Hn(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 E("envelope signature is not valid for the given domain",hp.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=Ji.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return me(this.marshal(),e.marshal())}async validate(e){let r=dp(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return Gi(this.peerId.publicKey).verify(r.subarray(),this.signature)}},dp=(t,e,r)=>{let n=U(t),i=Rt.encode(n.byteLength),s=Rt.encode(e.length),o=Rt.encode(r.length);return new Oe(i,n,s,e,o,r)};function pp(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 ni=V(gu(),1);var Ao=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 h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});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 Ap=45,tv=15,ei=new Ao;function xu(t){if(!(t.length>tv))return ei.new(t).parseWith(()=>ei.readIPv4Addr())}function wu(t){if(!(t.length>Ap))return ei.new(t).parseWith(()=>ei.readIPv6Addr())}function So(t){if(!(t.length>Ap))return ei.new(t).parseWith(()=>ei.readIPAddr())}var JC=parseInt("0xFFFF",16),jC=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Gt=V(gu(),1);function Rp(t){return!!xu(t)}function Cp(t){return!!wu(t)}function ti(t){return!!So(t)}var Tp=Rp,ov=Cp,Eu=function(t){let e=0;if(t=t.toString().trim(),Tp(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(ov(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Tp(r[n]),o;s&&(o=Eu(r[n]),r[n]=z(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,z(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")},Bp=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 ri={},vu={},cv=[[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"]];cv.forEach(t=>{let e=uv(...t);vu[e.code]=e,ri[e.name]=e});function uv(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function se(t){if(typeof t=="number"){if(vu[t]!=null)return vu[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(ri[t]!=null)return ri[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var O4=se("ip4"),M4=se("ip6"),F4=se("ipcidr");function _u(t,e){switch(se(t).code){case 4:case 41:return fv(e);case 42:return Dp(e);case 6:case 273:case 33:case 132:return kp(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Dp(e);case 421:return mv(e);case 444:return Np(e);case 445:return Np(e);case 466:return pv(e);default:return z(e,"base16")}}function Au(t,e){switch(se(t).code){case 4:return Pp(e);case 41:return Pp(e);case 42:return Lp(e);case 6:case 273:case 33:case 132:return Su(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Lp(e);case 421:return hv(e);case 444:return yv(e);case 445:return gv(e);case 466:return dv(e);default:return U(e,"base16")}}var bu=Object.values(dr).map(t=>t.decoder),lv=function(){let t=bu[0].or(bu[1]);return bu.slice(2).forEach(e=>t=t.or(e)),t}();function Pp(t){if(!ti(t))throw new Error("invalid ip address");return Eu(t)}function fv(t){let e=Bp(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!ti(e))throw new Error("invalid ip address");return e}function Su(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function kp(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Lp(t){let e=U(t),r=Uint8Array.from(Gt.default.encode(e.length));return _e([r,e],r.length+e.length)}function Dp(t){let e=Gt.default.decode(t);if(t=t.slice(Gt.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return z(t)}function hv(t){let e;t[0]==="Q"||t[0]==="1"?e=zr(ve.decode(`z${t}`)).bytes:e=wt.parse(t).multihash.bytes;let r=Uint8Array.from(Gt.default.encode(e.length));return _e([r,e],r.length+e.length)}function dv(t){let e=lv.decode(t),r=Uint8Array.from(Gt.default.encode(e.length));return _e([r,e],r.length+e.length)}function pv(t){let e=Gt.default.decode(t),r=t.slice(Gt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+z(r,"base64url")}function mv(t){let e=Gt.default.decode(t),r=t.slice(Gt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return z(r,"base58btc")}function yv(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=rt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Su(n);return _e([r,i],r.length+i.length)}function gv(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=rt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Su(n);return _e([r,i],r.length+i.length)}function Np(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=z(e,"base32"),i=kp(r);return`${n}:${i}`}function Op(t){t=Iu(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=se(o);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw Fp("invalid address: "+t);if(a.path===!0){n=Iu(i.slice(s).join("/")),e.push([a.code,Au(a.code,n)]),r.push([a.code,n]);break}let c=Au(a.code,i[s]);e.push([a.code,c]),r.push([a.code,_u(a.code,c)])}return{string:Mp(r),bytes:Cu(e),tuples:e,stringTuples:r,path:n}}function Ru(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let s=ni.default.decode(t,i),o=ni.default.decode.bytes??0,a=se(s),c=xv(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 Fp("Invalid address Uint8Array: "+z(t,"base16"));e.push([s,u]);let l=_u(s,u);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:Mp(r),tuples:e,stringTuples:r,path:n}}function Mp(t){let e=[];return t.map(r=>{let n=se(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Iu(e.join("/"))}function Cu(t){return _e(t.map(e=>{let r=se(e[0]),n=Uint8Array.from(ni.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=_e([n,e[1]])),n}))}function xv(t,e){return t.size>0?t.size/8:t.size===0?0:ni.default.decode(e)+(ni.default.decode.bytes??0)}function Iu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Fp(t){return new Error("Error parsing address: "+t)}var wv=Symbol.for("nodejs.util.inspect.custom"),Ev=[se("dns").code,se("dns4").code,se("dns6").code,se("dnsaddr").code],Bu=new Map,Up=Symbol.for("@multiformats/js-multiaddr/multiaddr");function un(t){return!!t?.[Up]}var Tu=class t{bytes;#e;#t;#r;#n;[Up]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Ru(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Op(e)}else if(un(e))r=Ru(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=se("tcp"),a=se("udp"),c=se("ip4"),u=se("ip6"),l=se("dns6"),f=se("ip6zone");for(let[p,d]of this.stringTuples())p===f.code&&(s=`%${d??""}`),Ev.includes(p)&&(r=o.name,i=443,n=`${d??""}${s}`,e=p===l.code?6:4),(p===o.code||p===a.code)&&(r=se(p).name,i=parseInt(d??"")),(p===c.code||p===u.code)&&(r=se(p).name,n=`${d??""}${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({},se(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>se(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(Cu(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===ri.p2p.code&&e.push([n,i]),n===ri["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?z(ve.decode(`z${n}`),"base58btc"):z(wt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return me(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Bu.get(r.name);if(n==null)throw new E(`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)}[wv](){return`Multiaddr(${this.#e})`}};function Be(t){return new Tu(t)}var Kp="libp2p-peer-record",Vp=Uint8Array.from([3,1]);var ji;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=Ve((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=>Ke(s,n.codec()),n.decode=s=>Ue(s,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=Ve((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=>Ke(n,t.codec()),t.decode=n=>Ue(n,t.codec())})(ji||(ji={}));var ln=class t{static createFromProtobuf=e=>{let r=ji.decode(e),n=Qn(r.peerId),i=(r.addresses??[]).map(o=>Be(o.multiaddr)),s=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:s})};static DOMAIN=Kp;static CODEC=Vp;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=ji.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||!pp(this.multiaddrs,e.multiaddrs))}};function vv(t){return t[Symbol.asyncIterator]!=null}function bv(t){if(vv(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 es=bv;var Jp=V(zp(),1);var rs=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Lu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},$p=t=>globalThis.DOMException===void 0?new Lu(t):new DOMException(t),Hp=t=>{let e=t.reason===void 0?$p("This operation was aborted."):t.reason;return e instanceof Error?e:$p(e)};function Du(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(Hp(c)),c.addEventListener("abort",()=>{a(Hp(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 rs(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 Nu(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 fn=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)},sr,ns=class{constructor(){sr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&fn(this,sr,"f")[this.size-1].priority>=r.priority){fn(this,sr,"f").push(n);return}let i=Nu(fn(this,sr,"f"),n,(s,o)=>o.priority-s.priority);fn(this,sr,"f").splice(i,0,n)}dequeue(){let e=fn(this,sr,"f").shift();return e?.run}filter(e){return fn(this,sr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return fn(this,sr,"f").length}};sr=new WeakMap;var ge=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)},Se,ss,os,Rr,Lo,as,Ro,Ct,is,at,Co,ct,cs,Ir,To,Gp,Yp,Xp,Wp,Qp,Bo,ku,Ou,Do,Zp,Po,No=class extends Error{},Tt=class extends Jp.default{constructor(e){var r,n,i,s;if(super(),Se.add(this),ss.set(this,void 0),os.set(this,void 0),Rr.set(this,0),Lo.set(this,void 0),as.set(this,void 0),Ro.set(this,0),Ct.set(this,void 0),is.set(this,void 0),at.set(this,void 0),Co.set(this,void 0),ct.set(this,0),cs.set(this,void 0),Ir.set(this,void 0),To.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:ns,...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})`);ge(this,ss,e.carryoverConcurrencyCount,"f"),ge(this,os,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),ge(this,Lo,e.intervalCap,"f"),ge(this,as,e.interval,"f"),ge(this,at,new e.queueClass,"f"),ge(this,Co,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,ge(this,To,e.throwOnTimeout===!0,"f"),ge(this,Ir,e.autoStart===!1,"f")}get concurrency(){return k(this,cs,"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})`);ge(this,cs,e,"f"),k(this,Se,"m",Do).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,To,"f"),...r},new Promise((n,i)=>{k(this,at,"f").enqueue(async()=>{var s,o,a;ge(this,ct,(o=k(this,ct,"f"),o++,o),"f"),ge(this,Rr,(a=k(this,Rr,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new No("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=Du(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Se,"m",Zp).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof rs&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Se,"m",Xp).call(this)}},r),this.emit("add"),k(this,Se,"m",Bo).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,Ir,"f")?(ge(this,Ir,!1,"f"),k(this,Se,"m",Do).call(this),this):this}pause(){ge(this,Ir,!0,"f")}clear(){ge(this,at,new(k(this,Co,"f")),"f")}async onEmpty(){k(this,at,"f").size!==0&&await k(this,Se,"m",Po).call(this,"empty")}async onSizeLessThan(e){k(this,at,"f").size<e||await k(this,Se,"m",Po).call(this,"next",()=>k(this,at,"f").size<e)}async onIdle(){k(this,ct,"f")===0&&k(this,at,"f").size===0||await k(this,Se,"m",Po).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,ct,"f")}get isPaused(){return k(this,Ir,"f")}};ss=new WeakMap,os=new WeakMap,Rr=new WeakMap,Lo=new WeakMap,as=new WeakMap,Ro=new WeakMap,Ct=new WeakMap,is=new WeakMap,at=new WeakMap,Co=new WeakMap,ct=new WeakMap,cs=new WeakMap,Ir=new WeakMap,To=new WeakMap,Se=new WeakSet,Gp=function(){return k(this,os,"f")||k(this,Rr,"f")<k(this,Lo,"f")},Yp=function(){return k(this,ct,"f")<k(this,cs,"f")},Xp=function(){var e;ge(this,ct,(e=k(this,ct,"f"),e--,e),"f"),k(this,Se,"m",Bo).call(this),this.emit("next")},Wp=function(){k(this,Se,"m",Ou).call(this),k(this,Se,"m",ku).call(this),ge(this,is,void 0,"f")},Qp=function(){let e=Date.now();if(k(this,Ct,"f")===void 0){let r=k(this,Ro,"f")-e;if(r<0)ge(this,Rr,k(this,ss,"f")?k(this,ct,"f"):0,"f");else return k(this,is,"f")===void 0&&ge(this,is,setTimeout(()=>{k(this,Se,"m",Wp).call(this)},r),"f"),!0}return!1},Bo=function(){if(k(this,at,"f").size===0)return k(this,Ct,"f")&&clearInterval(k(this,Ct,"f")),ge(this,Ct,void 0,"f"),this.emit("empty"),k(this,ct,"f")===0&&this.emit("idle"),!1;if(!k(this,Ir,"f")){let e=!k(this,Se,"a",Qp);if(k(this,Se,"a",Gp)&&k(this,Se,"a",Yp)){let r=k(this,at,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Se,"m",ku).call(this),!0):!1}}return!1},ku=function(){k(this,os,"f")||k(this,Ct,"f")!==void 0||(ge(this,Ct,setInterval(()=>{k(this,Se,"m",Ou).call(this)},k(this,as,"f")),"f"),ge(this,Ro,Date.now()+k(this,as,"f"),"f"))},Ou=function(){k(this,Rr,"f")===0&&k(this,ct,"f")===0&&k(this,Ct,"f")&&(clearInterval(k(this,Ct,"f")),ge(this,Ct,void 0,"f")),ge(this,Rr,k(this,ss,"f")?k(this,ct,"f"):0,"f"),k(this,Se,"m",Do).call(this)},Do=function(){for(;k(this,Se,"m",Bo).call(this););},Zp=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new No("The task was aborted."))},{once:!0})})},Po=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var Mu=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Fu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},jp=t=>globalThis.DOMException===void 0?new Fu(t):new DOMException(t),em=t=>{let e=t.reason===void 0?jp("This operation was aborted."):t.reason;return e instanceof Error?e:jp(e)};function Uu(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:h}=e;h.aborted&&l(em(h)),h.addEventListener("abort",()=>{l(em(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new Mu;o=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){l(h)}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(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}var Ku="lock:worker:request-read",Vu="lock:worker:release-read",qu="lock:master:grant-read",zu="lock:worker:request-write",$u="lock:worker:release-write",Hu="lock:master:grant-write";var Cr={},ii=t=>{t.addEventListener("message",e=>{ii.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{ii.dispatchEvent("message",t,e)})};ii.addEventListener=(t,e)=>{Cr[t]==null&&(Cr[t]=[]),Cr[t].push(e)};ii.removeEventListener=(t,e)=>{Cr[t]!=null&&(Cr[t]=Cr[t].filter(r=>r===e))};ii.dispatchEvent=function(t,e,r){Cr[t]!=null&&Cr[t].forEach(n=>n(e,r))};var Gu=ii;var tm=(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)}))}}))},rm=(t,e,r,n)=>async()=>{let i=go();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)})},Sv={singleProcess:!1},nm=t=>{if(t=Object.assign({},Sv,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Gu.addEventListener("message",tm(r,"requestReadLock",Ku,Vu,qu)),Gu.addEventListener("message",tm(r,"requestWriteLock",zu,$u,Hu)),r}return{isWorker:!0,readLock:r=>rm(r,Ku,qu,Vu),writeLock:r=>rm(r,zu,Hu,$u)}};var hn={},Tr;async function Yu(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await Uu((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var Iv=(t,e)=>{if(Tr.isWorker===!0)return{readLock:Tr.readLock(t,e),writeLock:Tr.writeLock(t,e)};let r=new Tt({concurrency:1}),n;return{async readLock(){if(n!=null)return await Yu(n,e);n=new Tt({concurrency:e.concurrency,autoStart:!1});let i=n,s=Yu(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await Yu(r,e)}}},Rv={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Wu(t){let e=Object.assign({},Rv,t);return Tr==null&&(Tr=nm(e),Tr.isWorker!==!0&&(Tr.addEventListener("requestReadLock",r=>{hn[r.data.name]!=null&&hn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Tr.addEventListener("requestWriteLock",async r=>{hn[r.data.name]!=null&&hn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),hn[e.name]==null&&(hn[e.name]=Iv(e.name,e)),hn[e.name]}var qe={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var si;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=Ve((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=>Ke(o,i.codec()),i.decode=o=>Ue(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=Ve((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),Oo.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=Oo.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>Ke(o,i.codec()),i.decode=o=>Ue(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=Ve((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),ko.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(ko.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=>Ke(i,t.codec()),t.decode=i=>Ue(i,t.codec())})(si||(si={}));var ko;(function(t){let e;t.codec=()=>(e==null&&(e=Ve((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=>Ke(r,t.codec()),t.decode=r=>Ue(r,t.codec())})(ko||(ko={}));var Oo;(function(t){let e;t.codec=()=>(e==null&&(e=Ve((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=>Ke(r,t.codec()),t.decode=r=>Ue(r,t.codec())})(Oo||(Oo={}));function oi(t,e){let r=si.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=Kd({...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:Be(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var Qu="/peers/";function ai(t){if(!yo(t)||t.type==null)throw new E("Invalid PeerId",qe.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new $t(`${Qu}${e}`)}async function im(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Be(i.multiaddr)),!un(i.multiaddr))throw new E("Multiaddr was invalid",qe.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function Fo(t,e,r,n){if(e==null)throw new E("Invalid PeerData",qe.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!me(e.publicKey,t.publicKey))throw new E("publicKey bytes do not match peer id publicKey bytes",qe.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new E("peer id did not match existing peer id",qe.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Mo(f,{validate:sm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Mo(f,{validate:om,map:am})}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[h,p]of f)p==null?a.delete(h):a.set(h,p);a=Mo([...a.entries()],{validate:sm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[p,d]of f)d==null?h.delete(p):h.set(p,d);c=Mo([...h.entries()],{validate:om,map:am})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await im(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function Mo(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 sm(t,e){if(typeof t!="string")throw new E("Metadata key must be a string",qe.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new E("Metadata value must be a Uint8Array",qe.ERR_INVALID_PARAMETERS)}function om(t,e){if(typeof t!="string")throw new E("Tag name must be a string",qe.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new E("Tag value must be an integer",qe.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new E("Tag value must be between 0-100",qe.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new E("Tag ttl must be an integer",qe.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new E("Tag ttl must be between greater than 0",qe.ERR_INVALID_PARAMETERS)}}function am(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 Uo(t,e,r){let n=t.toString().split("/")[2],i=rt.decode(n),s=Qn(i),o=r.get(s);if(o!=null)return o;let a=oi(s,e);return r.set(s,a),a}function Cv(t,e){return t==null?{}:{prefix:Qu,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(Uo(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(Uo(n.key,n.value,e),Uo(i.key,i.value,e)))}}var Ko=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Wu({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(ai(e))}async delete(e){if(this.peerId.equals(e))throw new E("Cannot delete self peer",qe.ERR_INVALID_PARAMETERS);await this.datastore.delete(ai(e))}async load(e){let r=await this.datastore.get(ai(e));return oi(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await Fo(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 Fo(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 Fo(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,s,n,i)}async*all(e){let r=new It;for await(let{key:n,value:i}of this.datastore.query(Cv(e??{},r))){let s=Uo(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#e(e){try{let r=await this.datastore.get(ai(e)),n=oi(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=si.encode(r);return n!=null&&me(s,n)?{peer:oi(e,s),previous:i,updated:!1}:(await this.datastore.put(ai(e),s),{peer:oi(e,s),previous:i,updated:!0})}};var ae=G("libp2p:peer-store"),Vo=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new Ko(e,r)}async forEach(e,r){ae.trace("forEach await read lock");let n=await this.store.lock.readLock();ae.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{ae.trace("forEach release read lock"),n()}}async all(e){ae.trace("all await read lock");let r=await this.store.lock.readLock();ae.trace("all got read lock");try{return await es(this.store.all(e))}finally{ae.trace("all release read lock"),r()}}async delete(e){ae.trace("delete await write lock");let r=await this.store.lock.writeLock();ae.trace("delete got write lock");try{await this.store.delete(e)}finally{ae.trace("delete release write lock"),r()}}async has(e){ae.trace("has await read lock");let r=await this.store.lock.readLock();ae.trace("has got read lock");try{return await this.store.has(e)}finally{ae.trace("has release read lock"),r()}}async get(e){ae.trace("get await read lock");let r=await this.store.lock.readLock();ae.trace("get got read lock");try{return await this.store.load(e)}finally{ae.trace("get release read lock"),r()}}async save(e,r){ae.trace("save await write lock");let n=await this.store.lock.writeLock();ae.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{ae.trace("save release write lock"),n()}}async patch(e,r){ae.trace("patch await write lock");let n=await this.store.lock.writeLock();ae.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{ae.trace("patch release write lock"),n()}}async merge(e,r){ae.trace("merge await write lock");let n=await this.store.lock.writeLock();ae.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{ae.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await jn.openAndCertify(e,ln.DOMAIN);if(r?.equals(n.peerId)===!1)return ae("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 jn.createFromProtobuf(s.peerRecordEnvelope),a=ln.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return ae("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 Tv(t){return t[Symbol.asyncIterator]!=null}function Bv(t){if(Tv(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Xu=Bv;function Pv(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 qo=Pv;function Lv(t){return t[Symbol.asyncIterator]!=null}function Dv(t,e){if(Lv(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=qo(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 Bt=Dv;function Nv(t){return t[Symbol.asyncIterator]!=null}function kv(t,e){return Nv(t)?async function*(){yield*(await es(t)).sort(e)}():function*(){yield*es(t).sort(e)}()}var Zu=kv;function Ov(t){return t[Symbol.asyncIterator]!=null}function Mv(t,e){return Ov(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 Ju=Mv;var zo=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 Xu(this.putMany(e,n)),e=[],await Xu(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=Bt(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Bt(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Zu(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=Bt(n,()=>i++>=s)}return e.limit!=null&&(n=Ju(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Bt(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Bt(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Zu(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=Bt(n,()=>s++>=i)}return e.limit!=null&&(n=Ju(n,e.limit)),n}};var lm=V(ju(),1);function fm(t){return t=t??new Error("Not Found"),(0,lm.default)(t,"ERR_NOT_FOUND")}var $o=class extends zo{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 fm();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 $t(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new $t(e)}};function hm(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var Kv=G("libp2p:address-manager"),Vv=t=>t;function el(t,e){let r=t.getPeerId();return r!=null&&te(r).equals(e)&&(t=t.decapsulate(Be(`/p2p/${e.toString()}`))),t}var Ho=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??Vv,this._updatePeerStoreAddresses=hm(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])=>Be(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=>{Kv.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Be(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Be(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Be(e))}addObservedAddr(e){e=el(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=el(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=el(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=>Be(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function dm(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var tl=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=>dm(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")}},qv=["metrics","connectionProtector"],zv=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function pm(t={}){let e=new tl(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!zv.includes(i)){let o=e.components[i];if(o==null&&!qv.includes(i))throw new E(`${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 vm=V(mm(),1);var ym="[a-fA-F\\d:]",Br=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${ym})|(?<=${ym})(?=\\s|$))`:"",Pt="(?: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}",Re="[a-fA-F\\d]{1,4}",Go=`
|
|
35
|
+
expire = ${s}
|
|
36
|
+
RETURNING points, expire;`,values:[e,r,o,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
|
|
37
|
+
SELECT points, expire FROM ${this.tableName} 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.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Iy.exports=Pl});var Cy=O(()=>{});var By=O(($6,Ty)=>{Ty.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 Py=O((H6,Ly)=>{var O_=By(),Dl=vt();Ly.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 Dl(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 O_(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 Dl(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 Dl(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 kl=O((G6,Ny)=>{var M_=So(),U_=Py(),Dy=vt(),Nl=class extends M_{constructor(e={}){super(e),this._memoryStorage=new U_}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(s,c.consumedPoints,this.blockDuration)),o(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new Dy(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 Dy(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)))}};Ny.exports=Nl});var qy=O((Y6,Fy)=>{var ky=Cy(),K_=Vi(),F_=So(),My=kl(),q_=vt(),Tt="rate_limiter_flexible",Li=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:Tt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},Uy=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Uy.call(this,t)},30)},Ti=function(t,e,r,n,i){let o={channel:Tt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):Uy.call(this,o)},Ky=function(t,e){if(!e||e.channel!==Tt||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)})},V_=function(t){if(!t||t.channel!==Tt||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 q_(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]}},$_=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Bi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=K_.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},Ol=class{constructor(){if(Li)return Li;this._rateLimiters={},ky.setMaxListeners(0),ky.on("message",(e,r)=>{r&&r.channel===Tt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new My(r.opts)),e.send({channel:Tt,type:"init",keyPrefix:r.opts.keyPrefix})):Ky.call(this,e,r)}),Li=this}},Ml=class{constructor(e){if(Li)return Li;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===Tt&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new My(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Tt,channel:Tt,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=Tt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};Ky.call(this,s,o)}})}),Li=this}},Ul=class extends F_{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===Tt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:V_.call(this,r)}),process.send({channel:Tt,type:"init",opts:$_.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Ti.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Ti.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Ti.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Ti.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Bi.call(this,n,i);Ti.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Bi.call(this,n,i);Ti.call(this,"delete",o,e,r)})}};Fy.exports={RateLimiterClusterMaster:Ol,RateLimiterClusterMasterPM2:Ml,RateLimiterCluster:Ul}});var $y=O((W6,Vy)=>{var z_=Ci(),H_=vt(),Kl=class extends z_{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new H_;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,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};s(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,p)=>{if(h||!p)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let d=Object.assign({},o);d.attemptNumber=d.attemptNumber?d.attemptNumber+1:1,this._upsert(e,r,n,i,d).then(m=>s(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 d={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(d)})}):this.client.get(`${e}_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};s(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(o,s)=>{s?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:s,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,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};Vy.exports=Kl});var Gy=O((X6,Hy)=>{var zy=vt();Hy.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 zy(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new zy(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 Wy=O((j6,Yy)=>{var G_=So();Yy.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 G_))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<s.length;u++)c&&s[u].rejected===!0?a[this._limiters[u].keyPrefix]=s[u].rej:c||(a[this._limiters[u].keyPrefix]=s[u]);c?i(a):n(a)})})}}});var Xy=O((e5,Qy)=>{Qy.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 eg=O((r5,Jy)=>{var Zy=Xy(),jy=4294967295,Fl="limiter";Jy.exports=class{constructor(e,r={maxQueueSize:jy}){this._queueLimiters={KEY_DEFAULT:new da(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Fl){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Fl){return this._queueLimiters[r]||(this._queueLimiters[r]=new da(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var da=class{constructor(e,r={maxQueueSize:jy,key:Fl}){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 Zy(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),o.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new Zy(`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 rg=O((i5,tg)=>{var ql=vt();tg.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new ql(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 ql?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof ql?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var ig=O((o5,ng)=>{var Y_=wy(),W_=_y(),Q_=Sy(),X_=Ry(),{RateLimiterClusterMaster:Z_,RateLimiterClusterMasterPM2:j_,RateLimiterCluster:J_}=qy(),eA=kl(),tA=$y(),rA=Gy(),nA=Wy(),iA=eg(),oA=rg(),sA=vt();ng.exports={RateLimiterRedis:Y_,RateLimiterMongo:W_,RateLimiterMySQL:Q_,RateLimiterPostgres:X_,RateLimiterMemory:eA,RateLimiterMemcache:tA,RateLimiterClusterMaster:Z_,RateLimiterClusterMasterPM2:j_,RateLimiterCluster:J_,RLWrapperBlackAndWhite:rA,RateLimiterUnion:nA,RateLimiterQueue:iA,BurstyRateLimiter:oA,RateLimiterRes:sA}});var KA={};He(KA,{createLibp2p:()=>UA});var vg=J($n(),1);var M8=J(qi(),1),U8=J(H0(),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"},E=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ts=J(ye(),1);function cn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var uc={};He(uc,{identity:()=>b2});function p2(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),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 w=(x-g)*l+1>>>0,C=new Uint8Array(w);g!==x;){for(var _=d[g],A=0,P=w-1;(_!==0||A<y)&&P!==-1;P--,A++)_+=256*C[P]>>>0,C[P]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");y=A,g++}for(var D=w-y;D!==w&&C[D]===0;)D++;for(var W=c.repeat(m);D<w;++D)W+=t.charAt(C[D]);return W}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,w=new Uint8Array(x);d[m];){var C=r[d.charCodeAt(m)];if(C===255)return;for(var _=0,A=x-1;(C!==0||_<g)&&A!==-1;A--,_++)C+=a*w[A]>>>0,w[A]=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&&w[P]===0;)P++;for(var D=new Uint8Array(y+(x-P)),W=y;P!==x;)D[W++]=w[P++];return D}}}function p(d){var m=h(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:p}}var m2=p2,y2=m2,G0=y2;var yS=new Uint8Array(0);var Y0=(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},pr=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 W0=t=>new TextEncoder().encode(t),Q0=t=>new TextDecoder().decode(t);var oc=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")}},sc=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 Z0(this,e)}},ac=class{constructor(e){this.decoders=e}or(e){return Z0(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`)}},Z0=(t,e)=>new ac({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),cc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new oc(e,r,n),this.decoder=new sc(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 cc(t,e,r,n),Dr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=G0(r,e);return Qn({prefix:t,name:e,encode:n,decode:o=>pr(i(o))})},g2=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let l=0;l<o;++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,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},x2=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ne=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Qn({prefix:e,name:t,encode(i){return x2(i,n,r)},decode(i){return g2(i,n,r,t)}});var b2=Qn({prefix:"\0",name:"identity",encode:t=>Q0(t),decode:t=>W0(t)});var lc={};He(lc,{base2:()=>w2});var w2=Ne({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var fc={};He(fc,{base8:()=>E2});var E2=Ne({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var hc={};He(hc,{base10:()=>v2});var v2=Dr({prefix:"9",name:"base10",alphabet:"0123456789"});var dc={};He(dc,{base16:()=>_2,base16upper:()=>A2});var _2=Ne({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),A2=Ne({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var pc={};He(pc,{base32:()=>mt,base32hex:()=>C2,base32hexpad:()=>B2,base32hexpadupper:()=>L2,base32hexupper:()=>T2,base32pad:()=>I2,base32padupper:()=>R2,base32upper:()=>S2,base32z:()=>P2});var mt=Ne({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),S2=Ne({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),I2=Ne({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),R2=Ne({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),C2=Ne({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),T2=Ne({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),B2=Ne({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),L2=Ne({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),P2=Ne({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var mc={};He(mc,{base36:()=>D2,base36upper:()=>N2});var D2=Dr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),N2=Dr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var yc={};He(yc,{base58btc:()=>Oe,base58flickr:()=>k2});var Oe=Dr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),k2=Dr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var gc={};He(gc,{base64:()=>un,base64pad:()=>O2,base64url:()=>M2,base64urlpad:()=>U2});var un=Ne({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),O2=Ne({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),M2=Ne({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),U2=Ne({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var xc={};He(xc,{base256emoji:()=>$2});var j0=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}"),K2=j0.reduce((t,e,r)=>(t[r]=e,t),[]),F2=j0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function q2(t){return t.reduce((e,r)=>(e+=K2[r],e),"")}function V2(t){let e=[];for(let r of t){let n=F2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var $2=Qn({prefix:"\u{1F680}",name:"base256emoji",encode:q2,decode:V2});var vc={};He(vc,{sha256:()=>et,sha512:()=>cb});var z2=th,J0=128,H2=127,G2=~H2,Y2=Math.pow(2,31);function th(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Y2;)e[r++]=t&255|J0,t/=128;for(;t&G2;)e[r++]=t&255|J0,t>>>=7;return e[r]=t|0,th.bytes=r-n+1,e}var W2=bc,Q2=128,eh=127;function bc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw bc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&eh)<<i:(s&eh)*Math.pow(2,i),i+=7}while(s>=Q2);return bc.bytes=o-n,r}var X2=Math.pow(2,7),Z2=Math.pow(2,14),j2=Math.pow(2,21),J2=Math.pow(2,28),eb=Math.pow(2,35),tb=Math.pow(2,42),rb=Math.pow(2,49),nb=Math.pow(2,56),ib=Math.pow(2,63),ob=function(t){return t<X2?1:t<Z2?2:t<j2?3:t<J2?4:t<eb?5:t<tb?6:t<rb?7:t<nb?8:t<ib?9:10},sb={encode:z2,decode:W2,encodingLength:ob},ab=sb,Hi=ab;var Gi=(t,e=0)=>[Hi.decode(t,e),Hi.decode.bytes],Xn=(t,e,r=0)=>(Hi.encode(t,e,r),e),Zn=t=>Hi.encodingLength(t);var Jt=(t,e)=>{let r=e.byteLength,n=Zn(t),i=n+Zn(r),o=new Uint8Array(i+r);return Xn(t,o,0),Xn(r,o,n),o.set(e,i),new jn(t,r,e,o)},ln=t=>{let e=pr(t),[r,n]=Gi(e),[i,o]=Gi(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new jn(r,i,s,e)},rh=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Y0(t.bytes,r.bytes)}},jn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Ec=({name:t,code:e,encode:r})=>new wc(t,e,r),wc=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 ih=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),et=Ec({name:"sha2-256",code:18,encode:ih("SHA-256")}),cb=Ec({name:"sha2-512",code:19,encode:ih("SHA-512")});var _c={};He(_c,{identity:()=>Nr});var oh=0,ub="identity",sh=pr,lb=t=>Jt(oh,sh(t)),Nr={code:oh,name:ub,encode:sh,digest:lb};var MS=new TextEncoder,US=new TextDecoder;var ah=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return pb(r,Ac(t),e||Oe.encoder);default:return mb(r,Ac(t),e||mt.encoder)}};var ch=new WeakMap,Ac=t=>{let e=ch.get(t);if(e==null){let r=new Map;return ch.set(t,r),r}return e},Pt=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Yi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==yb)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&&rh(e.multihash,n.multihash)}toString(e){return ah(this,e)}toJSON(){return{"/":ah(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||uh(n,i,o.bytes))}else if(r[gb]===!0){let{version:n,multihash:i,code:o}=r,s=ln(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Yi)throw new Error(`Version 0 CID must use dag-pb (code: ${Yi}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=uh(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Yi,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=pr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new jn(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=Gi(e.subarray(r));return r+=h,f},i=n(),o=Yi;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=db(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ac(o).set(n,e),o}},db=(t,e)=>{switch(t[0]){case"Q":{let r=e||Oe;return[Oe.prefix,r.decode(`${Oe.prefix}${t}`)]}case Oe.prefix:{let r=e||Oe;return[Oe.prefix,r.decode(t)]}case mt.prefix:{let r=e||mt;return[mt.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)]}}},pb=(t,e,r)=>{let{prefix:n}=r;if(n!==Oe.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},mb=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Yi=112,yb=18,uh=(t,e,r)=>{let n=Zn(t),i=n+Zn(e),o=new Uint8Array(i+r.byteLength);return Xn(t,o,0),Xn(e,o,n),o.set(r,i),o},gb=Symbol.for("@ipld/js-cid/CID");var kr={...uc,...lc,...fc,...hc,...dc,...pc,...mc,...yc,...gc,...xc},WS={...vc,..._c};function mr(t=0){return globalThis.Buffer?.alloc!=null?cn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Dt(t=0){return globalThis.Buffer?.allocUnsafe!=null?cn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function fh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var lh=fh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Sc=fh("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=Dt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),xb={utf8:lh,"utf-8":lh,hex:kr.base16,latin1:Sc,ascii:Sc,binary:Sc,...kr},is=xb;function Y(t,e="utf8"){let r=is[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 au={};He(au,{Ed25519PrivateKey:()=>xn,Ed25519PublicKey:()=>Ji,generateKeyPair:()=>Kw,generateKeyPairFromSeed:()=>Id,unmarshalEd25519PrivateKey:()=>Mw,unmarshalEd25519PublicKey:()=>Uw});function Le(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 Ic(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function bb(t){if(typeof t!="boolean")throw new Error(`Expected boolean, not ${t}`)}function hh(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 wb(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ic(t.outputLen),Ic(t.blockLen)}function Eb(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 vb(t,e){hh(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var _b={number:Ic,bool:bb,bytes:hh,hash:wb,exists:Eb,output:vb},yr=_b;var os=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var dh=t=>t instanceof Uint8Array;var ss=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Nt=(t,e)=>t<<32-e|t>>>e,Ab=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Ab)throw new Error("Non little-endian hardware is not supported");var cI=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Rc(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Wi(t){if(typeof t=="string"&&(t=Rc(t)),!dh(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function as(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!dh(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var Jn=class{clone(){return this._cloneInto()}};function Or(t){let e=n=>t().update(Wi(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function hn(t=32){if(os&&typeof os.getRandomValues=="function")return os.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function Sb(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}var ei=class extends Jn{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=ss(this.buffer)}update(e){yr.exists(this);let{view:r,buffer:n,blockLen:i}=this;e=Wi(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=ss(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){yr.exists(this),yr.output(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let f=s;f<i;f++)r[f]=0;Sb(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=ss(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],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var cs=BigInt(4294967295),Cc=BigInt(32);function ph(t,e=!1){return e?{h:Number(t&cs),l:Number(t>>Cc&cs)}:{h:Number(t>>Cc&cs)|0,l:Number(t&cs)|0}}function Ib(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:o,l:s}=ph(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var Rb=(t,e)=>BigInt(t>>>0)<<Cc|BigInt(e>>>0),Cb=(t,e,r)=>t>>>r,Tb=(t,e,r)=>t<<32-r|e>>>r,Bb=(t,e,r)=>t>>>r|e<<32-r,Lb=(t,e,r)=>t<<32-r|e>>>r,Pb=(t,e,r)=>t<<64-r|e>>>r-32,Db=(t,e,r)=>t>>>r-32|e<<64-r,Nb=(t,e)=>e,kb=(t,e)=>t,Ob=(t,e,r)=>t<<r|e>>>32-r,Mb=(t,e,r)=>e<<r|t>>>32-r,Ub=(t,e,r)=>e<<r-32|t>>>64-r,Kb=(t,e,r)=>t<<r-32|e>>>64-r;function Fb(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var qb=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),Vb=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,$b=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),zb=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,Hb=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Gb=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0,Yb={fromBig:ph,split:Ib,toBig:Rb,shrSH:Cb,shrSL:Tb,rotrSH:Bb,rotrSL:Lb,rotrBH:Pb,rotrBL:Db,rotr32H:Nb,rotr32L:kb,rotlSH:Ob,rotlSL:Mb,rotlBH:Ub,rotlBL:Kb,add:Fb,add3L:qb,add3H:Vb,add4L:$b,add4H:zb,add5H:Gb,add5L:Hb},j=Yb;var[Wb,Qb]=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))),Mr=new Uint32Array(80),Ur=new Uint32Array(80),ti=class extends ei{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:h,Gh:p,Gl:d,Hh:m,Hl:y}=this;return[e,r,n,i,o,s,a,c,u,l,f,h,p,d,m,y]}set(e,r,n,i,o,s,a,c,u,l,f,h,p,d,m,y){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=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(e,r){for(let w=0;w<16;w++,r+=4)Mr[w]=e.getUint32(r),Ur[w]=e.getUint32(r+=4);for(let w=16;w<80;w++){let C=Mr[w-15]|0,_=Ur[w-15]|0,A=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=Mr[w-2]|0,W=Ur[w-2]|0,Q=j.rotrSH(D,W,19)^j.rotrBH(D,W,61)^j.shrSH(D,W,6),H=j.rotrSL(D,W,19)^j.rotrBL(D,W,61)^j.shrSL(D,W,6),ne=j.add4L(P,H,Ur[w-7],Ur[w-16]),ge=j.add4H(ne,A,Q,Mr[w-7],Mr[w-16]);Mr[w]=ge|0,Ur[w]=ne|0}let{Ah:n,Al:i,Bh:o,Bl:s,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 w=0;w<80;w++){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),A=f&p^~f&m,P=h&d^~h&y,D=j.add5L(x,_,P,Qb[w],Ur[w]),W=j.add5H(D,g,C,A,Wb[w],Mr[w]),Q=D|0,H=j.rotrSH(n,i,28)^j.rotrBH(n,i,34)^j.rotrBH(n,i,39),ne=j.rotrSL(n,i,28)^j.rotrBL(n,i,34)^j.rotrBL(n,i,39),ge=n&o^n&a^o&a,Ze=i&s^i&c^s&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,W|0,Q|0),u=a|0,l=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let T=j.add3L(Q,ne,Ze);n=j.add3H(T,W,H,ge),i=T|0}({h:n,l:i}=j.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=j.add(this.Bh|0,this.Bl|0,o|0,s|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,o,s,a,c,u,l,f,h,p,d,m,y,g,x)}roundClean(){Mr.fill(0),Ur.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Tc=class extends ti{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}},Bc=class extends ti{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}},Lc=class extends ti{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}},Pc=Or(()=>new ti),gI=Or(()=>new Tc),xI=Or(()=>new Bc),bI=Or(()=>new Lc);var fs={};He(fs,{bitGet:()=>ew,bitLen:()=>Jb,bitMask:()=>Qi,bitSet:()=>tw,bytesToHex:()=>er,bytesToNumberBE:()=>kt,bytesToNumberLE:()=>tr,concatBytes:()=>Ot,createHmacDrbg:()=>kc,ensureBytes:()=>ve,equalBytes:()=>xh,hexToBytes:()=>dn,hexToNumber:()=>Nc,numberToBytesBE:()=>gr,numberToBytesLE:()=>Kr,numberToHexUnpadded:()=>gh,numberToVarBytesBE:()=>jb,utf8ToBytes:()=>bh,validateObject:()=>It});var yh=BigInt(0),us=BigInt(1),Xb=BigInt(2),ls=t=>t instanceof Uint8Array,Zb=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function er(t){if(!ls(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Zb[t[r]];return e}function gh(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Nc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function dn(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,o=t.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function kt(t){return Nc(er(t))}function tr(t){if(!ls(t))throw new Error("Uint8Array expected");return Nc(er(Uint8Array.from(t).reverse()))}function gr(t,e){return dn(t.toString(16).padStart(e*2,"0"))}function Kr(t,e){return gr(t,e).reverse()}function jb(t){return dn(gh(t))}function ve(t,e,r){let n;if(typeof e=="string")try{n=dn(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(ls(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 Ot(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!ls(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function xh(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 bh(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Jb(t){let e;for(e=0;t>yh;t>>=us,e+=1);return e}function ew(t,e){return t>>BigInt(e)&us}var tw=(t,e,r)=>t|(r?us:yh)<<BigInt(e),Qi=t=>(Xb<<BigInt(t-1))-us,Dc=t=>new Uint8Array(t),mh=t=>Uint8Array.from(t);function kc(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=Dc(t),i=Dc(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...f)=>r(i,n,...f),c=(f=Dc())=>{i=a(mh([0]),f),n=a(),f.length!==0&&(i=a(mh([1]),f),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,h=[];for(;f<e;){n=a();let p=n.slice();h.push(p),f+=n.length}return Ot(...h)};return(f,h)=>{s(),c(f);let p;for(;!(p=h(u()));)c();return s(),p}}var rw={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",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 It(t,e,r={}){let n=(i,o,s)=>{let a=rw[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var $e=BigInt(0),Re=BigInt(1),pn=BigInt(2),nw=BigInt(3),Oc=BigInt(4),wh=BigInt(5),Eh=BigInt(8),iw=BigInt(9),ow=BigInt(16);function de(t,e){let r=t%e;return r>=$e?r:e+r}function vh(t,e,r){if(r<=$e||e<$e)throw new Error("Expected power/modulo > 0");if(r===Re)return $e;let n=Re;for(;e>$e;)e&Re&&(n=n*t%r),t=t*t%r,e>>=Re;return n}function Ce(t,e,r){let n=t;for(;e-- >$e;)n*=n,n%=r;return n}function hs(t,e){if(t===$e||e<=$e)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=de(t,e),n=e,i=$e,o=Re,s=Re,a=$e;for(;r!==$e;){let u=n/r,l=n%r,f=i-s*u,h=o-a*u;n=r,r=l,i=s,o=a,s=f,a=h}if(n!==Re)throw new Error("invert: does not exist");return de(i,e)}function sw(t){let e=(t-Re)/pn,r,n,i;for(r=t-Re,n=0;r%pn===$e;r/=pn,n++);for(i=pn;i<t&&vh(i,e,t)!==t-Re;i++);if(n===1){let s=(t+Re)/Oc;return function(c,u){let l=c.pow(u,s);if(!c.eql(c.sqr(l),u))throw new Error("Cannot find square root");return l}}let o=(r+Re)/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,o),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,Re<<BigInt(u-p-1));l=a.sqr(d),f=a.mul(f,d),h=a.mul(h,l),u=p}return f}}function aw(t){if(t%Oc===nw){let e=(t+Re)/Oc;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%Eh===wh){let e=(t-wh)/Eh;return function(n,i){let o=n.mul(i,pn),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,pn),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%ow,sw(t)}var _h=(t,e)=>(de(t,e)&Re)===Re,cw=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Mc(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=cw.reduce((n,i)=>(n[i]="function",n),e);return It(t,r)}function uw(t,e,r){if(r<$e)throw new Error("Expected power > 0");if(r===$e)return t.ONE;if(r===Re)return e;let n=t.ONE,i=e;for(;r>$e;)r&Re&&(n=t.mul(n,i)),i=t.sqr(i),r>>=Re;return n}function lw(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function ds(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ps(t,e,r=!1,n={}){if(t<=$e)throw new Error(`Expected Fp ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=ds(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=aw(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:Qi(i),ZERO:$e,ONE:Re,create:c=>de(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&Re)===Re,neg:c=>de(-c,t),eql:(c,u)=>c===u,sqr:c=>de(c*c,t),add:(c,u)=>de(c+u,t),sub:(c,u)=>de(c-u,t),mul:(c,u)=>de(c*u,t),pow:(c,u)=>uw(a,c,u),div:(c,u)=>de(c*hs(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>hs(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>lw(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?Kr(c,o):gr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?tr(c):kt(c)}});return Object.freeze(a)}function Ah(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 Sh(t,e,r=!1){t=ve("privateHash",t);let n=t.length,i=ds(e).nByteLength+8;if(i<24||n<i||n>1024)throw new Error(`hashToPrivateScalar: expected ${i}-1024 bytes of input, got ${n}`);let o=r?tr(t):kt(t);return de(o,e-Re)+Re}var hw=BigInt(0),Uc=BigInt(1);function ms(t,e){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(e/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=t.ZERO,a=i;for(;o>hw;)o&Uc&&(s=s.add(a)),a=a.double(),o>>=Uc;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,l=u;for(let f=0;f<s;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,o,s){let{windows:a,windowSize:c}=n(i),u=t.ZERO,l=t.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(s&f);s>>=p,y>c&&(y-=h,s+=Uc);let g=m,x=m+Math.abs(y)-1,w=d%2!==0,C=y<0;y===0?l=l.add(r(w,o[g])):u=u.add(r(C,o[x]))}return{p:u,f:l}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function Xi(t){return Mc(t.Fp),It(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ds(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Mt=BigInt(0),yt=BigInt(1),ys=BigInt(2),dw=BigInt(8),pw={zip215:!0};function mw(t){let e=Xi(t);return It(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function gs(t){let e=mw(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=ys<<BigInt(a*8)-yt,l=r.create,f=e.uvRatio||((N,I)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(I))}}catch{return{isValid:!1,value:Mt}}}),h=e.adjustScalarBytes||(N=>N),p=e.domain||((N,I,K)=>{if(I.length||K)throw new Error("Contexts/pre-hash are not supported");return N}),d=N=>typeof N=="bigint"&&Mt<N,m=(N,I)=>d(N)&&d(I)&&N<I,y=N=>N===Mt||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===Mt?N:g(N,n)}let w=new Map;function C(N){if(!(N instanceof _))throw new Error("ExtendedPoint expected")}class _{constructor(I,K,V,G){if(this.ex=I,this.ey=K,this.ez=V,this.et=G,!y(I))throw new Error("x required");if(!y(K))throw new Error("y required");if(!y(V))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:K,y:V}=I||{};if(!y(K)||!y(V))throw new Error("invalid affine point");return new _(K,V,yt,l(K*V))}static normalizeZ(I){let K=r.invertBatch(I.map(V=>V.ez));return I.map((V,G)=>V.toAffine(K[G])).map(_.fromAffine)}_setWindowSize(I){this._WINDOW_SIZE=I,w.delete(this)}assertValidity(){let{a:I,d:K}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:V,ey:G,ez:te,et:oe}=this,me=l(V*V),se=l(G*G),fe=l(te*te),Fe=l(fe*fe),De=l(me*I),je=l(fe*l(De+se)),Je=l(Fe+l(K*l(me*se)));if(je!==Je)throw new Error("bad point: equation left != right (1)");let Ve=l(V*G),st=l(te*oe);if(Ve!==st)throw new Error("bad point: equation left != right (2)")}equals(I){C(I);let{ex:K,ey:V,ez:G}=this,{ex:te,ey:oe,ez:me}=I,se=l(K*me),fe=l(te*G),Fe=l(V*me),De=l(oe*G);return se===fe&&Fe===De}is0(){return this.equals(_.ZERO)}negate(){return new _(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:I}=e,{ex:K,ey:V,ez:G}=this,te=l(K*K),oe=l(V*V),me=l(ys*l(G*G)),se=l(I*te),fe=K+V,Fe=l(l(fe*fe)-te-oe),De=se+oe,je=De-me,Je=se-oe,Ve=l(Fe*je),st=l(De*Je),lr=l(Fe*Je),tn=l(je*De);return new _(Ve,st,tn,lr)}add(I){C(I);let{a:K,d:V}=e,{ex:G,ey:te,ez:oe,et:me}=this,{ex:se,ey:fe,ez:Fe,et:De}=I;if(K===BigInt(-1)){let df=l((te-G)*(fe+se)),pf=l((te+G)*(fe-se)),ka=l(pf-df);if(ka===Mt)return this.double();let mf=l(oe*ys*De),yf=l(me*ys*Fe),gf=yf+mf,xf=pf+df,bf=yf-mf,Cg=l(gf*ka),Tg=l(xf*bf),Bg=l(gf*bf),Lg=l(ka*xf);return new _(Cg,Tg,Lg,Bg)}let je=l(G*se),Je=l(te*fe),Ve=l(me*V*De),st=l(oe*Fe),lr=l((G+te)*(se+fe)-je-Je),tn=st-Ve,Mi=st+Ve,hf=l(Je-K*je),Ag=l(lr*tn),Sg=l(Mi*hf),Ig=l(lr*hf),Rg=l(tn*Mi);return new _(Ag,Sg,Rg,Ig)}subtract(I){return this.add(I.negate())}wNAF(I){return D.wNAFCached(this,w,I,_.normalizeZ)}multiply(I){let{p:K,f:V}=this.wNAF(g(I,n));return _.normalizeZ([K,V])[0]}multiplyUnsafe(I){let K=x(I);return K===Mt?P:this.equals(P)||K===yt?this:this.equals(A)?this.wNAF(K).p:D.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(I){let{ex:K,ey:V,ez:G}=this,te=this.is0();I==null&&(I=te?dw:r.inv(G));let oe=l(K*I),me=l(V*I),se=l(G*I);if(te)return{x:Mt,y:yt};if(se!==yt)throw new Error("invZ was invalid");return{x:oe,y:me}}clearCofactor(){let{h:I}=e;return I===yt?this:this.multiplyUnsafe(I)}static fromHex(I,K=!1){let{d:V,a:G}=e,te=r.BYTES;I=ve("pointHex",I,te);let oe=I.slice(),me=I[te-1];oe[te-1]=me&-129;let se=tr(oe);se===Mt||(K?g(se,u):g(se,r.ORDER));let fe=l(se*se),Fe=l(fe-yt),De=l(V*fe-G),{isValid:je,value:Je}=f(Fe,De);if(!je)throw new Error("Point.fromHex: invalid y coordinate");let Ve=(Je&yt)===yt,st=(me&128)!==0;if(!K&&Je===Mt&&st)throw new Error("Point.fromHex: x=0 and x_0=1");return st!==Ve&&(Je=l(-Je)),_.fromAffine({x:Je,y:se})}static fromPrivateKey(I){return H(I).point}toRawBytes(){let{x:I,y:K}=this.toAffine(),V=Kr(K,r.BYTES);return V[V.length-1]|=I&yt?128:0,V}toHex(){return er(this.toRawBytes())}}_.BASE=new _(e.Gx,e.Gy,yt,l(e.Gx*e.Gy)),_.ZERO=new _(Mt,yt,yt,Mt);let{BASE:A,ZERO:P}=_,D=ms(_,a*8);function W(N){return de(N,n)}function Q(N){return W(tr(N))}function H(N){let I=a;N=ve("private key",N,I);let K=ve("hashed private key",o(N),2*I),V=h(K.slice(0,I)),G=K.slice(I,2*I),te=Q(V),oe=A.multiply(te),me=oe.toRawBytes();return{head:V,prefix:G,scalar:te,point:oe,pointBytes:me}}function ne(N){return H(N).pointBytes}function ge(N=new Uint8Array,...I){let K=Ot(...I);return Q(o(p(K,ve("context",N),!!i)))}function Ze(N,I,K={}){N=ve("message",N),i&&(N=i(N));let{prefix:V,scalar:G,pointBytes:te}=H(I),oe=ge(K.context,V,N),me=A.multiply(oe).toRawBytes(),se=ge(K.context,me,te,N),fe=W(oe+se*G);x(fe);let Fe=Ot(me,Kr(fe,r.BYTES));return ve("result",Fe,a*2)}let T=pw;function k(N,I,K,V=T){let{context:G,zip215:te}=V,oe=r.BYTES;N=ve("signature",N,2*oe),I=ve("message",I),i&&(I=i(I));let me=tr(N.slice(oe,2*oe)),se,fe,Fe;try{se=_.fromHex(K,te),fe=_.fromHex(N.slice(0,oe),te),Fe=A.multiplyUnsafe(me)}catch{return!1}if(!te&&se.isSmallOrder())return!1;let De=ge(G,fe.toRawBytes(),se.toRawBytes(),I);return fe.add(se.multiplyUnsafe(De)).subtract(Fe).clearCofactor().equals(_.ZERO)}return A._setWindowSize(8),{CURVE:e,getPublicKey:ne,sign:Ze,verify:k,ExtendedPoint:_,utils:{getExtendedPublicKey:H,randomPrivateKey:()=>s(r.BYTES),precompute(N=8,I=_.BASE){return I._setWindowSize(N),I.multiply(BigInt(3)),I}}}}var LI=BigInt(0),PI=BigInt(1);var Fc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Ih=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),GI=BigInt(0),gw=BigInt(1),Kc=BigInt(2),xw=BigInt(5),Rh=BigInt(10),bw=BigInt(20),ww=BigInt(40),Ch=BigInt(80);function Ew(t){let e=Fc,n=t*t%e*t%e,i=Ce(n,Kc,e)*n%e,o=Ce(i,gw,e)*t%e,s=Ce(o,xw,e)*o%e,a=Ce(s,Rh,e)*s%e,c=Ce(a,bw,e)*a%e,u=Ce(c,ww,e)*c%e,l=Ce(u,Ch,e)*u%e,f=Ce(l,Ch,e)*u%e,h=Ce(f,Rh,e)*s%e;return{pow_p_5_8:Ce(h,Kc,e)*t%e,b2:n}}function vw(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function _w(t,e){let r=Fc,n=de(e*e*e,r),i=de(n*n*e,r),o=Ew(t*i).pow_p_5_8,s=de(t*n*o,r),a=de(e*s*s,r),c=s,u=de(s*Ih,r),l=a===t,f=a===de(-t,r),h=a===de(-t*Ih,r);return l&&(s=c),(f||h)&&(s=u),_h(s,r)&&(s=de(-s,r)),{isValid:l||f,value:s}}var xr=ps(Fc,void 0,!0),qc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:xr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Pc,randomBytes:hn,adjustScalarBytes:vw,uvRatio:_w},ri=gs(qc);function Th(t,e,r){if(e.length>255)throw new Error("Context is too big");return as(Rc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var YI=gs({...qc,domain:Th}),WI=gs({...qc,domain:Th,prehash:Pc});var Aw=(xr.ORDER+BigInt(3))/BigInt(8),QI=xr.pow(Kc,Aw),XI=xr.sqrt(xr.neg(xr.ONE)),ZI=(xr.ORDER-BigInt(5))/BigInt(8),jI=BigInt(486662);var JI=Ah(xr,xr.neg(BigInt(486664)));var eR=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),tR=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),rR=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),nR=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var iR=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var ni=32,br=64,xs=32;async function Bh(){let t=ri.utils.randomPrivateKey(),e=ri.getPublicKey(t);return{privateKey:Nh(t,e),publicKey:e}}async function Lh(t){if(t.length!==xs)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=ri.getPublicKey(e);return{privateKey:Nh(e,r),publicKey:r}}async function Ph(t,e){let r=t.subarray(0,xs);return ri.sign(e,r)}async function Dh(t,e,r){return ri.verify(e,r,t)}function Nh(t,e){let r=new Uint8Array(br);for(let n=0;n<xs;n++)r[n]=t[n],r[xs+n]=e[n];return r}function Me(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Dt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return cn(r)}var dt={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 Vc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function bs(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=dt.get();r*=8;async function c(f,h){let p=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:d};typeof h=="string"&&(h=Y(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",Vc,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,w,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Vc,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,w,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Me([p,m.iv,new Uint8Array(g)])}async function u(f,h){let p=f.subarray(0,o),d=f.subarray(o,o+n),m=f.subarray(o+n),y={name:e,iv:d};typeof h=="string"&&(h=Y(h));let g;if(h.length===0)try{let w={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,C,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Vc,{name:"AES-GCM"},!0,["decrypt"])}else{let w={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,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 ii(t,e){let n=await bs().encrypt(t,e);return un.encode(n)}var tu=J(Yc(),1),vd=J(pd(),1),_d=J(yn(),1),ru=J(eu(),1),Ad=J(Ed(),1);function Nw(){_d.default._configure(),tu.default._configure(vd.default),ru.default._configure(Ad.default)}Nw();var Sd=["uint64","int64","sint64","fixed64","sfixed64"];function kw(t){for(let e of Sd){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function nu(t){return kw(new tu.default(t))}function Ow(t){for(let e of Sd){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function iu(){return Ow(ru.default.create())}function tt(t,e){let r=nu(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function rt(t,e){let r=iu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var si;(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"})(si||(si={}));function As(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(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return As("enum",si.VARINT,r,n)}function nt(t,e){return As("message",si.LENGTH_DELIMITED,t,e)}var Te;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Te||(Te={}));var su;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(su||(su={}));(function(t){t.codec=()=>ou(su)})(Te||(Te={}));var ir;(function(t){let e;t.codec=()=>(e==null&&(e=nt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>rt(r,t.codec()),t.decode=r=>tt(r,t.codec())})(ir||(ir={}));var or;(function(t){let e;t.codec=()=>(e==null&&(e=nt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>rt(r,t.codec()),t.decode=r=>tt(r,t.codec())})(or||(or={}));var Ji=class{_key;constructor(e){this._key=ai(e,ni)}async verify(e,r){return Dh(this._key,r,e)}marshal(){return this._key}get bytes(){return ir.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await et.digest(this.bytes);return e}},xn=class{_key;_publicKey;constructor(e,r){this._key=ai(e,br),this._publicKey=ai(r,ni)}async sign(e){return Ph(this._key,e)}get public(){return new Ji(this._publicKey)}marshal(){return this._key}get bytes(){return or.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await et.digest(this.bytes);return e}async id(){let e=Nr.digest(this.public.bytes);return Oe.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ii(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Mw(t){if(t.length>br){t=ai(t,br+ni);let n=t.subarray(0,br),i=t.subarray(br,t.length);return new xn(n,i)}t=ai(t,br);let e=t.subarray(0,br),r=t.subarray(ni);return new xn(e,r)}function Uw(t){return t=ai(t,ni),new Ji(t)}async function Kw(){let{privateKey:t,publicKey:e}=await Bh();return new xn(t,e)}async function Id(t){let{privateKey:e,publicKey:r}=await Lh(t);return new xn(e,r)}function ai(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new E(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function ee(t,e="utf8"){let r=is[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 JR=J(ke(),1),e4=J(Jo(),1),Rd=J(ye(),1);function Ft(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=Me([new Uint8Array(e-r.length),r])}return ee(r,"base64url")}function gt(t){let e=Cd(t);return new Rd.default.jsbn.BigInteger(ee(e,"base16"),16)}function Cd(t,e){let r=Y(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Me([new Uint8Array(e-r.length),r])}return r}var Fw={"P-256":256,"P-384":384,"P-521":521},qw=Object.keys(Fw),f4=qw.join(" / ");async function Td(t,e){let r=un.decode(t);return bs().decrypt(r,e)}var hu={};He(hu,{MAX_KEY_SIZE:()=>no,RsaPrivateKey:()=>ci,RsaPublicKey:()=>ro,fromJwk:()=>Zw,generateKeyPair:()=>jw,unmarshalRsaPrivateKey:()=>Qw,unmarshalRsaPublicKey:()=>Xw});var to=J(ye(),1);var Q4=J(kd(),1);function wn(t){if(isNaN(t)||t<=0)throw new E("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return hn(t)}var L4=J(rs(),1),lu=J(ye(),1);function Od(t,e){return e.map(r=>gt(t[r]))}function Md(t){return lu.default.pki.setRsaPrivateKey(...Od(t,["n","e","d","p","q","dp","dq","qi"]))}function Ud(t){return lu.default.pki.setRsaPublicKey(...Od(t,["n","e"]))}var En={};He(En,{jwkToPkcs1:()=>zw,jwkToPkix:()=>Gw,pkcs1ToJwk:()=>$w,pkixToJwk:()=>Hw});var N4=J(qi(),1),k4=J(rs(),1);var wr=J(ye(),1);function $w(t){let e=wr.default.asn1.fromDer(ee(t,"ascii")),r=wr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Ft(r.n),e:Ft(r.e),d:Ft(r.d),p:Ft(r.p),q:Ft(r.q),dp:Ft(r.dP),dq:Ft(r.dQ),qi:Ft(r.qInv),alg:"RS256"}}function zw(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 E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=wr.default.pki.privateKeyToAsn1({n:gt(t.n),e:gt(t.e),d:gt(t.d),p:gt(t.p),q:gt(t.q),dP:gt(t.dp),dQ:gt(t.dq),qInv:gt(t.qi)});return Y(wr.default.asn1.toDer(e).getBytes(),"ascii")}function Hw(t){let e=wr.default.asn1.fromDer(ee(t,"ascii")),r=wr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Ft(r.n),e:Ft(r.e)}}function Gw(t){if(t.n==null||t.e==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=wr.default.pki.publicKeyToAsn1({n:gt(t.n),e:gt(t.e)});return Y(wr.default.asn1.toDer(e).getBytes(),"ascii")}async function Kd(t){let e=await dt.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 Vd(e);return{privateKey:r[0],publicKey:r[1]}}async function fu(t){let r=[await dt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Yw(t)],n=await Vd({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Fd(t,e){let r=await dt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await dt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function qd(t,e,r){let n=await dt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return dt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function Vd(t){if(t.privateKey==null||t.publicKey==null)throw new E("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([dt.get().subtle.exportKey("jwk",t.privateKey),dt.get().subtle.exportKey("jwk",t.publicKey)])}async function Yw(t){return dt.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 $d(t,e,r,n){let i=e?Ud(t):Md(t),o=ee(Uint8Array.from(r),"ascii"),s=n(o,i);return Y(s,"ascii")}function zd(t,e){return $d(t,!0,e,(r,n)=>n.encrypt(r))}function Hd(t,e){return $d(t,!1,e,(r,n)=>n.decrypt(r))}function Is(t){if(t.kty!=="RSA")throw new E("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new E("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Y(t.n,"base64url").length*8}var no=8192,ro=class{_key;constructor(e){this._key=e}async verify(e,r){return qd(this._key,r,e)}marshal(){return En.jwkToPkix(this._key)}get bytes(){return ir.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}encrypt(e){return zd(this._key,e)}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await et.digest(this.bytes);return e}},ci=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return wn(16)}async sign(e){return Fd(this._key,e)}get public(){if(this._publicKey==null)throw new E("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ro(this._publicKey)}decrypt(e){return Hd(this._key,e)}marshal(){return En.jwkToPkcs1(this._key)}get bytes(){return or.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await et.digest(this.bytes);return e}async id(){let e=await this.public.hash();return ee(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new to.default.util.ByteBuffer(this.marshal()),i=to.default.asn1.fromDer(n),o=to.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return to.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return ii(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Qw(t){let e=En.pkcs1ToJwk(t);if(Is(e)>no)throw new E("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await fu(e);return new ci(r.privateKey,r.publicKey)}function Xw(t){let e=En.pkixToJwk(t);if(Is(e)>no)throw new E("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ro(e)}async function Zw(t){if(Is(t)>no)throw new E("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await fu(t);return new ci(e.privateKey,e.publicKey)}async function jw(t){if(t>no)throw new E("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Kd(t);return new ci(e.privateKey,e.publicKey)}var xu={};He(xu,{Secp256k1PrivateKey:()=>oo,Secp256k1PublicKey:()=>io,generateKeyPair:()=>dE,unmarshalSecp256k1PrivateKey:()=>fE,unmarshalSecp256k1PublicKey:()=>hE});var Jw=(t,e,r)=>t&e^~t&r,eE=(t,e,r)=>t&e^t&r^e&r,tE=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]),Vr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),$r=new Uint32Array(64),Rs=class extends ei{constructor(){super(64,32,8,!1),this.A=Vr[0]|0,this.B=Vr[1]|0,this.C=Vr[2]|0,this.D=Vr[3]|0,this.E=Vr[4]|0,this.F=Vr[5]|0,this.G=Vr[6]|0,this.H=Vr[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let f=0;f<16;f++,r+=4)$r[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let h=$r[f-15],p=$r[f-2],d=Nt(h,7)^Nt(h,18)^h>>>3,m=Nt(p,17)^Nt(p,19)^p>>>10;$r[f]=m+$r[f-7]+d+$r[f-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let h=Nt(a,6)^Nt(a,11)^Nt(a,25),p=l+h+Jw(a,c,u)+tE[f]+$r[f]|0,m=(Nt(n,2)^Nt(n,13)^Nt(n,22))+eE(n,i,o)|0;l=u,u=c,c=a,a=s+p|0,s=o,o=i,i=n,n=p+m|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,i,o,s,a,c,u,l)}roundClean(){$r.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}},du=class extends Rs{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}},Gd=Or(()=>new Rs),e8=Or(()=>new du);function rE(t){let e=Xi(t);It(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:nE,hexToBytes:iE}=fs,vn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=vn;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:nE(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=vn,r=typeof t=="string"?iE(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:o}=vn._parseInt(r.subarray(2)),{d:s,l:a}=vn._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let l=u.toString(16);return l.length&1?`0${l}`:l},n=e(r(t.s)),i=e(r(t.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},Er=BigInt(0),Ct=BigInt(1),o8=BigInt(2),Yd=BigInt(3),s8=BigInt(4);function oE(t){let e=rE(t),{Fp:r}=e,n=e.toBytes||((d,m,y)=>{let g=m.toAffine();return Ot(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.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 o(d){let{a:m,b:y}=e,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(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&Er<d&&d<e.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:m,nByteLength:y,wrapPrivateKey:g,n:x}=e;if(m&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=er(d)),typeof d!="string"||!m.includes(d.length))throw new Error("Invalid key");d=d.padStart(y*2,"0")}let w;try{w=typeof d=="bigint"?d:kt(ve("private key",d,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof d}`)}return g&&(w=de(w,x)),a(w),w}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=w=>r.eql(w,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(ve("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)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=o(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:w,py:C,pz:_}=m,A=r.eql(r.mul(y,_),r.mul(w,x)),P=r.eql(r.mul(g,_),r.mul(C,x));return A&&P}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:y}=e,g=r.mul(y,Yd),{px:x,py:w,pz:C}=this,_=r.ZERO,A=r.ZERO,P=r.ZERO,D=r.mul(x,x),W=r.mul(w,w),Q=r.mul(C,C),H=r.mul(x,w);return H=r.add(H,H),P=r.mul(x,C),P=r.add(P,P),_=r.mul(m,P),A=r.mul(g,Q),A=r.add(_,A),_=r.sub(W,A),A=r.add(W,A),A=r.mul(_,A),_=r.mul(H,_),P=r.mul(g,P),Q=r.mul(m,Q),H=r.sub(D,Q),H=r.mul(m,H),H=r.add(H,P),P=r.add(D,D),D=r.add(P,D),D=r.add(D,Q),D=r.mul(D,H),A=r.add(A,D),Q=r.mul(w,C),Q=r.add(Q,Q),D=r.mul(Q,H),_=r.sub(_,D),P=r.mul(Q,W),P=r.add(P,P),P=r.add(P,P),new f(_,A,P)}add(m){l(m);let{px:y,py:g,pz:x}=this,{px:w,py:C,pz:_}=m,A=r.ZERO,P=r.ZERO,D=r.ZERO,W=e.a,Q=r.mul(e.b,Yd),H=r.mul(y,w),ne=r.mul(g,C),ge=r.mul(x,_),Ze=r.add(y,g),T=r.add(w,C);Ze=r.mul(Ze,T),T=r.add(H,ne),Ze=r.sub(Ze,T),T=r.add(y,x);let k=r.add(w,_);return T=r.mul(T,k),k=r.add(H,ge),T=r.sub(T,k),k=r.add(g,x),A=r.add(C,_),k=r.mul(k,A),A=r.add(ne,ge),k=r.sub(k,A),D=r.mul(W,T),A=r.mul(Q,ge),D=r.add(A,D),A=r.sub(ne,D),D=r.add(ne,D),P=r.mul(A,D),ne=r.add(H,H),ne=r.add(ne,H),ge=r.mul(W,ge),T=r.mul(Q,T),ne=r.add(ne,ge),ge=r.sub(H,ge),ge=r.mul(W,ge),T=r.add(T,ge),H=r.mul(ne,T),P=r.add(P,H),H=r.mul(k,T),A=r.mul(Ze,A),A=r.sub(A,H),H=r.mul(Ze,ne),D=r.mul(k,D),D=r.add(D,H),new f(A,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,w)=>x.toAffine(g[w])).map(f.fromAffine)})}multiplyUnsafe(m){let y=f.ZERO;if(m===Er)return y;if(a(m),m===Ct)return this;let{endo:g}=e;if(!g)return p.unsafeLadder(this,m);let{k1neg:x,k1:w,k2neg:C,k2:_}=g.splitScalar(m),A=y,P=y,D=this;for(;w>Er||_>Er;)w&Ct&&(A=A.add(D)),_&Ct&&(P=P.add(D)),D=D.double(),w>>=Ct,_>>=Ct;return x&&(A=A.negate()),C&&(P=P.negate()),P=new f(r.mul(P.px,g.beta),P.py,P.pz),A.add(P)}multiply(m){a(m);let y=m,g,x,{endo:w}=e;if(w){let{k1neg:C,k1:_,k2neg:A,k2:P}=w.splitScalar(y),{p:D,f:W}=this.wNAF(_),{p:Q,f:H}=this.wNAF(P);D=p.constTimeNegate(C,D),Q=p.constTimeNegate(A,Q),Q=new f(r.mul(Q.px,w.beta),Q.py,Q.pz),g=D.add(Q),x=W.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,w=(_,A)=>A===Er||A===Ct||!_.equals(x)?_.multiplyUnsafe(A):_.multiply(A),C=w(this,y).add(w(m,g));return C.is0()?void 0:C}toAffine(m){let{px:y,py:g,pz:x}=this,w=this.is0();m==null&&(m=w?r.ONE:r.inv(x));let C=r.mul(y,m),_=r.mul(g,m),A=r.mul(x,m);if(w)return{x:r.ZERO,y:r.ZERO};if(!r.eql(A,r.ONE))throw new Error("invZ was invalid");return{x:C,y:_}}isTorsionFree(){let{h:m,isTorsionFree:y}=e;if(m===Ct)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===Ct?this:y?y(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return er(this.toRawBytes(m))}}f.BASE=new f(e.Gx,e.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let h=e.nBitLength,p=ms(f,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function sE(t){let e=Xi(t);return It(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Wd(t){let e=sE(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(T){return Er<T&&T<r.ORDER}function a(T){return de(T,n)}function c(T){return hs(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:h}=oE({...e,toBytes(T,k,L){let N=k.toAffine(),I=r.toBytes(N.x),K=Ot;return L?K(Uint8Array.from([k.hasEvenY()?2:3]),I):K(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=kt(N);if(!s(I))throw new Error("Point is not on curve");let K=f(I),V=r.sqrt(K),G=(V&Ct)===Ct;return(L&1)===1!==G&&(V=r.neg(V)),{x:I,y:V}}else if(k===o&&L===4){let I=r.fromBytes(N.subarray(0,r.BYTES)),K=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:I,y:K}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),p=T=>er(gr(T,e.nByteLength));function d(T){let k=n>>Ct;return T>k}function m(T){return d(T)?a(-T):T}let y=(T,k,L)=>kt(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=ve("compactSignature",k,L*2),new g(y(k,0,L),y(k,L,2*L))}static fromDER(k){let{r:L,s:N}=vn.toSig(ve("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,K=P(ve("msgHash",k));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");let V=I===2||I===3?L+e.n:L;if(V>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let G=I&1?"03":"02",te=u.fromHex(G+p(V)),oe=c(V),me=a(-K*oe),se=a(N*oe),fe=u.BASE.multiplyAndAddUnsafe(te,me,se);if(!fe)throw new Error("point at infinify");return fe.assertValidity(),fe}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return dn(this.toDERHex())}toDERHex(){return vn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return dn(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=e.randomBytes(r.BYTES+8),k=Sh(T,n);return gr(k,e.nByteLength)},precompute(T=8,k=u.BASE){return k._setWindowSize(T),k.multiply(BigInt(3)),k}};function w(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===o:L?N===2*i||N===2*o: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 A=e.bits2int||function(T){let k=kt(T),L=T.length*8-e.nBitLength;return L>0?k>>BigInt(L):k},P=e.bits2int_modN||function(T){return a(A(T))},D=Qi(e.nBitLength);function W(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(Er<=T&&T<D))throw new Error(`bigint expected < 2^${e.nBitLength}`);return gr(T,e.nByteLength)}function Q(T,k,L=H){if(["recovered","canonical"].some(De=>De in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:I}=e,{lowS:K,prehash:V,extraEntropy:G}=L;K==null&&(K=!0),T=ve("msgHash",T),V&&(T=ve("prehashed msgHash",N(T)));let te=P(T),oe=l(k),me=[W(oe),W(te)];if(G!=null){let De=G===!0?I(r.BYTES):G;me.push(ve("extraEntropy",De,r.BYTES))}let se=Ot(...me),fe=te;function Fe(De){let je=A(De);if(!h(je))return;let Je=c(je),Ve=u.BASE.multiply(je).toAffine(),st=a(Ve.x);if(st===Er)return;let lr=a(Je*a(fe+st*oe));if(lr===Er)return;let tn=(Ve.x===st?0:2)|Number(Ve.y&Ct),Mi=lr;return K&&d(lr)&&(Mi=m(lr),tn^=1),new g(st,Mi,tn)}return{seed:se,k2sig:Fe}}let H={lowS:e.lowS,prehash:!1},ne={lowS:e.lowS,prehash:!1};function ge(T,k,L=H){let{seed:N,k2sig:I}=Q(T,k,L),K=e;return kc(K.hash.outputLen,K.nByteLength,K.hmac)(N,I)}u.BASE._setWindowSize(8);function Ze(T,k,L,N=ne){let I=T;if(k=ve("msgHash",k),L=ve("publicKey",L),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:V}=N,G,te;try{if(typeof I=="string"||I instanceof Uint8Array)try{G=g.fromDER(I)}catch(Ve){if(!(Ve instanceof vn.Err))throw Ve;G=g.fromCompact(I)}else if(typeof I=="object"&&typeof I.r=="bigint"&&typeof I.s=="bigint"){let{r:Ve,s:st}=I;G=new g(Ve,st)}else throw new Error("PARSE");te=u.fromHex(L)}catch(Ve){if(Ve.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&G.hasHighS())return!1;V&&(k=e.hash(k));let{r:oe,s:me}=G,se=P(k),fe=c(me),Fe=a(se*fe),De=a(oe*fe),je=u.BASE.multiplyAndAddUnsafe(te,Fe,De)?.toAffine();return je?a(je.x)===oe:!1}return{CURVE:e,getPublicKey:w,getSharedSecret:_,sign:ge,verify:Ze,ProjectivePoint:u,Signature:g,utils:x}}var Cs=class extends Jn{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,yr.hash(e);let n=Wi(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return yr.exists(this),this.iHash.update(e),this}digestInto(e){yr.exists(this),yr.bytes(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},pu=(t,e,r)=>new Cs(t,e).update(r).digest();pu.create=(t,e)=>new Cs(t,e);function aE(t){return{hash:t,hmac:(e,...r)=>pu(t,e,as(...r)),randomBytes:hn}}function Qd(t,e){let r=n=>Wd({...t,...aE(n)});return Object.freeze({...r(e),create:r})}var jd=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Xd=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),cE=BigInt(1),mu=BigInt(2),Zd=(t,e)=>(t+e/mu)/e;function uE(t){let e=jd,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,f=Ce(l,r,e)*l%e,h=Ce(f,r,e)*l%e,p=Ce(h,mu,e)*u%e,d=Ce(p,i,e)*p%e,m=Ce(d,o,e)*d%e,y=Ce(m,a,e)*m%e,g=Ce(y,c,e)*y%e,x=Ce(g,a,e)*m%e,w=Ce(x,r,e)*l%e,C=Ce(w,s,e)*d%e,_=Ce(C,n,e)*u%e,A=Ce(_,mu,e);if(!yu.eql(yu.sqr(A),t))throw new Error("Cannot find square root");return A}var yu=ps(jd,void 0,void 0,{sqrt:uE}),vr=Qd({a:BigInt(0),b:BigInt(7),Fp:yu,n:Xd,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=Xd,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-cE*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Zd(o*t,e),c=Zd(-n*t,e),u=de(t-a*r-c*i,e),l=de(-a*n-c*o,e),f=u>s,h=l>s;if(f&&(u=e-u),h&&(l=e-l),u>s||l>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}}},Gd),A8=BigInt(0);var S8=vr.ProjectivePoint;function Jd(){return vr.utils.randomPrivateKey()}async function ep(t,e){let{digest:r}=await et.digest(e);try{return vr.sign(r,t).toDERRawBytes()}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}async function tp(t,e,r){try{let{digest:n}=await et.digest(r);return vr.verify(e,n,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}function rp(t){return vr.ProjectivePoint.fromHex(t).toRawBytes(!0)}function np(t){try{vr.getPublicKey(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}function gu(t){try{vr.ProjectivePoint.fromHex(t)}catch(e){throw new E(String(e),"ERR_INVALID_PUBLIC_KEY")}}function ip(t){try{return vr.getPublicKey(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}var io=class{_key;constructor(e){gu(e),this._key=e}async verify(e,r){return tp(this._key,r,e)}marshal(){return rp(this._key)}get bytes(){return ir.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await et.digest(this.bytes);return e}},oo=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??ip(e),np(this._key),gu(this._publicKey)}async sign(e){return ep(this._key,e)}get public(){return new io(this._publicKey)}marshal(){return this._key}get bytes(){return or.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await et.digest(this.bytes);return e}async id(){let e=await this.public.hash();return ee(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ii(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function fE(t){return new oo(t)}function hE(t){return new io(t)}async function dE(){let t=Jd();return new oo(t)}var _r={rsa:hu,ed25519:au,secp256k1:xu};function bu(t){let e=Object.keys(_r).join(" / ");return new E(`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 _r[t];throw bu(t)}async function Bs(t,e){return wu(t).generateKeyPair(e??2048)}function so(t){let e=ir.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return _r.rsa.unmarshalRsaPublicKey(r);case Te.Ed25519:return _r.ed25519.unmarshalEd25519PublicKey(r);case Te.Secp256k1:return _r.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw bu(e.Type??"RSA")}}function op(t,e){return e=(e??"rsa").toLowerCase(),wu(e),t.bytes}async function ui(t){let e=or.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return _r.rsa.unmarshalRsaPrivateKey(r);case Te.Ed25519:return _r.ed25519.unmarshalEd25519PrivateKey(r);case Te.Secp256k1:return _r.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw bu(e.Type??"RSA")}}function sp(t,e){return e=(e??"rsa").toLowerCase(),wu(e),t.bytes}async function ao(t,e){try{let i=await Td(t,e);return await ui(i)}catch{}let r=Ts.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new E("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ts.default.asn1.toDer(Ts.default.pki.privateKeyToAsn1(r));return n=Y(n.getBytes(),"ascii"),_r.rsa.unmarshalRsaPrivateKey(n)}var Eu=Symbol.for("@libp2p/content-routing");var co=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new _u(e,r))}},vu=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},_u=globalThis.CustomEvent??vu;var Au=Symbol.for("@libp2p/peer-discovery");var Su=Symbol.for("@libp2p/peer-routing");var X8=J(Ho(),1),mE=J(ye(),1);var cp=J(Qa(),1),up=J(ke(),1),ap={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function uo(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(ap).join(" / ");throw new E(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=ap[i],s=(0,cp.default)(t,e,r,n,o);return up.default.encode64(s,null)}var bt=J(Ru(),1);bt.default.formatters.b=t=>t==null?"undefined":Oe.baseEncode(t);bt.default.formatters.t=t=>t==null?"undefined":mt.baseEncode(t);bt.default.formatters.m=t=>t==null?"undefined":un.baseEncode(t);bt.default.formatters.p=t=>t==null?"undefined":t.toString();bt.default.formatters.c=t=>t==null?"undefined":t.toString();bt.default.formatters.k=t=>t==null?"undefined":t.toString();bt.default.formatters.a=t=>t==null?"undefined":t.toString();function BE(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 ie(t){let e=BE(`${t}:trace`);return bt.default.enabled(`${t}:trace`)&&bt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,bt.default)(`${t}:trace`)),Object.assign((0,bt.default)(t),{error:(0,bt.default)(`${t}:error`),trace:e})}var Cu=Symbol.for("@libp2p/peer-id");function Ds(t){return t!=null&&!!t[Cu]}var LE=Symbol.for("nodejs.util.inspect.custom"),dp=Object.values(kr).map(t=>t.decoder).reduce((t,e)=>t.or(e),kr.identity.decoder),pp=114,Tu=36,Bu=37,lo=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Cu]=!0;toString(){return this.string==null&&(this.string=Oe.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Pt.createV1(pp,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Le(this.multihash.bytes,e);if(typeof e=="string")return pe(e).equals(this);if(e?.multihash?.bytes!=null)return Le(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[LE](){return`PeerId(${this.toString()})`}},An=class extends lo{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Sn=class extends lo{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},In=class extends lo{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function mp(t){if(t.type==="RSA")return new An(t);if(t.type==="Ed25519")return new Sn(t);if(t.type==="secp256k1")return new In(t);throw new E("Not a PeerId","ERR_INVALID_PARAMETERS")}function pe(t,e){if(e=e??dp,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=ln(Oe.decode(`z${t}`));return t.startsWith("12D")?new Sn({multihash:r}):t.startsWith("16U")?new In({multihash:r}):new An({multihash:r})}return di(dp.decode(t))}function di(t){try{let e=ln(t);if(e.code===Nr.code){if(e.digest.length===Tu)return new Sn({multihash:e});if(e.digest.length===Bu)return new In({multihash:e})}if(e.code===et.code)return new An({multihash:e})}catch{return PE(Pt.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function PE(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==pp)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===et.code)return new An({multihash:t.multihash});if(e.code===Nr.code){if(e.digest.length===Tu)return new Sn({multihash:t.multihash});if(e.digest.length===Bu)return new In({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function pi(t,e){return t.length===Tu?new Sn({multihash:Jt(Nr.code,t),privateKey:e}):t.length===Bu?new In({multihash:Jt(Nr.code,t),privateKey:e}):new An({multihash:await et.digest(t),publicKey:t,privateKey:e})}var Ns=(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 Ar="/",yp=new TextEncoder().encode(Ar),ks=yp[0],sr=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=Y(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]!==ks)throw new Error("Invalid key")}toString(e="utf8"){return ee(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(Ar))}static random(){return new t(Ns().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=yp),this._buf[0]!==ks){let e=new Uint8Array(this._buf.byteLength+1);e.fill(ks,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===ks;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Ar).slice(1)}type(){return DE(this.baseNamespace())}name(){return NE(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Ar)||(e+=Ar),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(Ar):new t(e.slice(0,-1).join(Ar))}child(e){return this.toString()===Ar?e:e.toString()===Ar?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(),...kE(e.map(r=>r.namespaces()))])}};function DE(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function NE(t){let e=t.split(":");return e[e.length-1]}function kE(t){return[].concat(...t)}var Sp=J(Ap(),1),zr=Sp.default;var kp=J(Np(),1);var ce;(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"})(ce||(ce={}));var Us=ie("libp2p:keychain"),JE="/pkcs8/",Op="/info/",Rn=new WeakMap,Cn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Pu={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Sr(t){return t==null||typeof t!="string"?!1:t===(0,kp.default)(t.trim())&&t.length>0}async function be(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function ar(t){return new sr(JE+t)}function Hr(t){return new sr(Op+t)}var Tn=class{components;init;constructor(e,r){if(this.components=e,this.init=zr(Pu,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<Cn.minKeyLength)throw new Error(`dek.keyLength must be least ${Cn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Cn.minSaltLength)throw new Error(`dek.saltLength must be least ${Cn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Cn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Cn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?uo(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Rn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},Pu),r=Math.ceil(Cn.minSaltLength/3)*3;return e.dek.salt=ee(wn(r),"base64"),e}static get options(){return Pu}async createKey(e,r,n=2048){if(!Sr(e)||e==="self")throw await be(),new E("Invalid key name",ce.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await be(),new E("Invalid key type",ce.ERR_INVALID_KEY_TYPE);let i=ar(e);if(await this.components.datastore.has(i))throw await be(),new E("Key name already exists",ce.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await be(),new E("Invalid RSA key size",ce.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await Bs(r,n),c=await a.id(),u=Rn.get(this);if(u==null)throw new E("dek missing",ce.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);s={name:e,id:c};let h=this.components.datastore.batch();h.put(i,Y(f)),h.put(Hr(e),Y(JSON.stringify(s))),await h.commit()}catch(a){throw await be(),a}return s}async listKeys(){let e={prefix:Op},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(ee(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new E(`Key with id '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND);return n}catch(r){throw await be(),r}}async findKeyByName(e){if(!Sr(e))throw await be(),new E(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=Hr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(ee(n))}catch(n){throw await be(),Us.error(n),new E(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!Sr(e)||e==="self")throw await be(),new E(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=ar(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Hr(e)),await i.commit(),n}async renameKey(e,r){if(!Sr(e)||e==="self")throw await be(),new E(`Invalid old key name '${e}'`,ce.ERR_OLD_KEY_NAME_INVALID);if(!Sr(r)||r==="self")throw await be(),new E(`Invalid new key name '${r}'`,ce.ERR_NEW_KEY_NAME_INVALID);let n=ar(e),i=ar(r),o=Hr(e),s=Hr(r);if(await this.components.datastore.has(i))throw await be(),new E(`Key '${r}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse(ee(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,Y(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await be(),c}}async exportKey(e,r){if(!Sr(e))throw await be(),new E(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw await be(),new E("Password is required",ce.ERR_PASSWORD_REQUIRED);let n=ar(e);try{let i=await this.components.datastore.get(n),o=ee(i),s=Rn.get(this);if(s==null)throw new E("dek missing",ce.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await ao(o,a)).export(r)}catch(i){throw await be(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await ao(n,r);return pi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!Sr(e)||e==="self")throw await be(),new E(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw await be(),new E("PEM encoded key is required",ce.ERR_PEM_REQUIRED);let i=ar(e);if(await this.components.datastore.has(i))throw await be(),new E(`Key '${e}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);let s;try{s=await ao(r,n)}catch{throw await be(),new E("Cannot read the key, most likely the password is wrong",ce.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=Rn.get(this);if(l==null)throw new E("dek missing",ce.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await be(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,Y(r)),u.put(Hr(e),Y(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!Sr(e))throw new E(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw new E("PeerId is required",ce.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new E("PeerId.privKey is required",ce.ERR_MISSING_PRIVATE_KEY);let n=await ui(r.privateKey),i=ar(e);if(await this.components.datastore.has(i))throw await be(),new E(`Key '${e}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);let s=Rn.get(this);if(s==null)throw new E("dek missing",ce.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,Y(c)),l.put(Hr(e),Y(JSON.stringify(u))),await l.commit(),u}catch(n){throw await be(),n}}async getPrivateKey(e){if(!Sr(e))throw await be(),new E(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);try{let r=ar(e),n=await this.components.datastore.get(r);return ee(n)}catch(r){throw await be(),Us.error(r),new E(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await be(),new E(`Invalid old pass type '${typeof e}'`,ce.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await be(),new E(`Invalid new pass type '${typeof r}'`,ce.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await be(),new E(`Invalid pass length ${r.length}`,ce.ERR_INVALID_PASS_LENGTH);Us("recreating keychain");let n=Rn.get(this);if(n==null)throw new E("dek missing",ce.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?uo(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Rn.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(ar(a.name)),u=ee(c),l=await ao(u,i),f=o.toString(),h=await l.export(f),p=this.components.datastore.batch(),d={name:a.name,id:a.id};p.put(ar(a.name),Y(h)),p.put(Hr(a.name),Y(JSON.stringify(d))),await p.commit()}Us("keychain reconstructed")}};function Ir(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 Ir(this.map.entries(),e=>[pe(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,pe(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 Ir(this.map.keys(),e=>pe(e))}values(){return this.map.values()}get size(){return this.map.size}};var Bn=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 Ir(this.set.entries(),e=>{let r=pe(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=pe(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Ir(this.set.values(),e=>pe(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 Du=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Ir(this.list.entries(),e=>pe(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Ir(this.list.entries(),e=>[e[0],pe(e[1])])}every(e){return this.list.every((r,n)=>e(pe(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let o=pe(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(pe(n),i,this));if(r!=null)return pe(r)}findIndex(e){return this.list.findIndex((r,n)=>e(pe(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(pe(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 pe(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return pe(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 Nu;(function(t){let e;t.codec=()=>(e==null&&(e=nt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>rt(r,t.codec()),t.decode=r=>tt(r,t.codec())})(Nu||(Nu={}));var Mp=async()=>{let t=await Bs("Ed25519"),e=await ev(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function ev(t){return pi(op(t.public),sp(t))}function Ks(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var Up=4294967296,fo=class t{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)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)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new t(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new t(r,n)}toBytes(e,r=0){let n=Ks(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new t;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>Up&&(i=0,++n>Up&&(n=0))),new t(n,i)}static fromNumber(e){if(e===0)return new t;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(i,n)}static fromBytes(e,r=0){let n=Ks(e),i=new t,o=0;if(e.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;o<5;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var tv=Math.pow(2,7),rv=Math.pow(2,14),nv=Math.pow(2,21),iv=Math.pow(2,28),ov=Math.pow(2,35),sv=Math.pow(2,42),av=Math.pow(2,49),cv=Math.pow(2,56),uv=Math.pow(2,63),Vt={encodingLength(t){return t<tv?1:t<rv?2:t<nv?3:t<iv?4:t<ov?5:t<sv?6:t<av?7:t<cv?8:t<uv?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=Dt(Vt.encodingLength(t))),fo.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return fo.fromBytes(t,e).toNumber(!0)}};var Fp=Symbol.for("@achingbrain/uint8arraylist");function Kp(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 Fs(t){return!!t?.[Fp]}var Xe=class t{constructor(...e){Object.defineProperty(this,Fp,{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(Fs(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(Fs(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=Kp(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Kp(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(Fs(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 Me(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Me(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new t;return o.length=i,o.bufs=n,o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(s);break}let f=e-a;n.push(s.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Fs(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,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(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Dt(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=mr(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=mr(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=mr(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=Dt(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=mr(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=mr(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=mr(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=mr(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=mr(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(!Le(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var qp={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var ho;(function(t){let e;t.codec=()=>(e==null&&(e=nt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>rt(r,t.codec()),t.decode=r=>tt(r,t.codec())})(ho||(ho={}));var gi=class t{static createFromProtobuf=async e=>{let r=ho.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,o=e.marshal(),s=Vp(n,i,o),c=await(await ui(r.privateKey)).sign(s.subarray());return new t({peerId:r,payloadType:i,payload:o,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new E("envelope signature is not valid for the given domain",qp.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=ho.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Le(this.marshal(),e.marshal())}async validate(e){let r=Vp(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return so(this.peerId.publicKey).verify(r.subarray(),this.signature)}},Vp=(t,e,r)=>{let n=Y(t),i=Vt.encode(n.byteLength),o=Vt.encode(e.length),s=Vt.encode(r.length);return new Xe(i,n,o,e,s,r)};function $p(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 Ei=J(Mu(),1);var qs=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=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,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(o*=e,o+=l,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Jp=45,_v=15,xi=new qs;function Uu(t){if(!(t.length>_v))return xi.new(t).parseWith(()=>xi.readIPv4Addr())}function Ku(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Jp))return xi.new(t).parseWith(()=>xi.readIPv6Addr())}function Vs(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Jp))return xi.new(t).parseWith(()=>xi.readIPAddr())}var Z3=parseInt("0xFFFF",16),j3=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var cr=J(Mu(),1);function rm(t){return!!Uu(t)}function nm(t){return!!Ku(t)}function bi(t){return!!Vs(t)}var im=rm,Cv=nm,Fu=function(t){let e=0;if(t=t.toString().trim(),im(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(Cv(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=im(r[n]),s;o&&(s=Fu(r[n]),r[n]=ee(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,ee(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},om=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var wi={},qu={},Bv=[[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"]];Bv.forEach(t=>{let e=Lv(...t);qu[e.code]=e,wi[e.name]=e});function Lv(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function we(t){if(typeof t=="number"){if(qu[t]!=null)return qu[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(wi[t]!=null)return wi[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var kT=we("ip4"),OT=we("ip6"),MT=we("ipcidr");function $u(t,e){switch(we(t).code){case 4:case 41:return Dv(e);case 42:return cm(e);case 6:case 273:case 33:case 132:return lm(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return cm(e);case 421:return Mv(e);case 444:return um(e);case 445:return um(e);case 466:return Ov(e);default:return ee(e,"base16")}}function zu(t,e){switch(we(t).code){case 4:return sm(e);case 41:return sm(e);case 42:return am(e);case 6:case 273:case 33:case 132:return Hu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return am(e);case 421:return Nv(e);case 444:return Uv(e);case 445:return Kv(e);case 466:return kv(e);default:return Y(e,"base16")}}var Vu=Object.values(kr).map(t=>t.decoder),Pv=function(){let t=Vu[0].or(Vu[1]);return Vu.slice(2).forEach(e=>t=t.or(e)),t}();function sm(t){if(!bi(t))throw new Error("invalid ip address");return Fu(t)}function Dv(t){let e=om(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!bi(e))throw new Error("invalid ip address");return e}function Hu(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function lm(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function am(t){let e=Y(t),r=Uint8Array.from(cr.default.encode(e.length));return Me([r,e],r.length+e.length)}function cm(t){let e=cr.default.decode(t);if(t=t.slice(cr.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return ee(t)}function Nv(t){let e;t[0]==="Q"||t[0]==="1"?e=ln(Oe.decode(`z${t}`)).bytes:e=Pt.parse(t).multihash.bytes;let r=Uint8Array.from(cr.default.encode(e.length));return Me([r,e],r.length+e.length)}function kv(t){let e=Pv.decode(t),r=Uint8Array.from(cr.default.encode(e.length));return Me([r,e],r.length+e.length)}function Ov(t){let e=cr.default.decode(t),r=t.slice(cr.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+ee(r,"base64url")}function Mv(t){let e=cr.default.decode(t),r=t.slice(cr.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return ee(r,"base58btc")}function Uv(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=mt.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=Hu(n);return Me([r,i],r.length+i.length)}function Kv(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=mt.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=Hu(n);return Me([r,i],r.length+i.length)}function um(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=ee(e,"base32"),i=lm(r);return`${n}:${i}`}function fm(t){t=Gu(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=we(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw dm("invalid address: "+t);if(a.path===!0){n=Gu(i.slice(o).join("/")),e.push([a.code,zu(a.code,n)]),r.push([a.code,n]);break}let c=zu(a.code,i[o]);e.push([a.code,c]),r.push([a.code,$u(a.code,c)])}return{string:hm(r),bytes:Wu(e),tuples:e,stringTuples:r,path:n}}function Yu(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=Ei.default.decode(t,i),s=Ei.default.decode.bytes??0,a=we(o),c=Fv(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let u=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw dm("Invalid address Uint8Array: "+ee(t,"base16"));e.push([o,u]);let l=$u(o,u);if(r.push([o,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:hm(r),tuples:e,stringTuples:r,path:n}}function hm(t){let e=[];return t.map(r=>{let n=we(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Gu(e.join("/"))}function Wu(t){return Me(t.map(e=>{let r=we(e[0]),n=Uint8Array.from(Ei.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Me([n,e[1]])),n}))}function Fv(t,e){return t.size>0?t.size/8:t.size===0?0:Ei.default.decode(e)+(Ei.default.decode.bytes??0)}function Gu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function dm(t){return new Error("Error parsing address: "+t)}var qv=Symbol.for("nodejs.util.inspect.custom"),Vv=[we("dns").code,we("dns4").code,we("dns6").code,we("dnsaddr").code],Xu=new Map,pm=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Ln(t){return!!t?.[pm]}var Qu=class t{bytes;#e;#t;#r;#n;[pm]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Yu(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=fm(e)}else if(Ln(e))r=Yu(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,o="",s=we("tcp"),a=we("udp"),c=we("ip4"),u=we("ip6"),l=we("dns6"),f=we("ip6zone");for(let[p,d]of this.stringTuples())p===f.code&&(o=`%${d??""}`),Vv.includes(p)&&(r=s.name,i=443,n=`${d??""}${o}`,e=p===l.code?6:4),(p===s.code||p===a.code)&&(r=we(p).name,i=parseInt(d??"")),(p===c.code||p===u.code)&&(r=we(p).name,n=`${d??""}${o}`,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({},we(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>we(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(Wu(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===wi.p2p.code&&e.push([n,i]),n===wi["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?ee(Oe.decode(`z${n}`),"base58btc"):ee(Pt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return Le(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Xu.get(r.name);if(n==null)throw new E(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[qv](){return`Multiaddr(${this.#e})`}};function ze(t){return new Qu(t)}var mm="libp2p-peer-record",ym=Uint8Array.from([3,1]);var po;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=nt((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let u=o.uint32();switch(u>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(u&7);break}}return a})),i),n.encode=o=>rt(o,n.codec()),n.decode=o=>tt(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=nt((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>rt(n,t.codec()),t.decode=n=>tt(n,t.codec())})(po||(po={}));var Pn=class t{static createFromProtobuf=e=>{let r=po.decode(e),n=di(r.peerId),i=(r.addresses??[]).map(s=>ze(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=mm;static CODEC=ym;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=po.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||!$p(this.multiaddrs,e.multiaddrs))}};function $v(t){return t[Symbol.asyncIterator]!=null}function zv(t){if($v(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 mo=zv;var Rm=J(xm(),1);var go=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},ju=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},bm=t=>globalThis.DOMException===void 0?new ju(t):new DOMException(t),wm=t=>{let e=t.reason===void 0?bm("This operation was aborted."):t.reason;return e instanceof Error?e:bm(e)};function Ju(t,e,r,n){let i,o=new Promise((s,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){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(wm(c)),c.addEventListener("abort",()=>{a(wm(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new go(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function el(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Dn=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)},Rr,xo=class{constructor(){Rr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Dn(this,Rr,"f")[this.size-1].priority>=r.priority){Dn(this,Rr,"f").push(n);return}let i=el(Dn(this,Rr,"f"),n,(o,s)=>s.priority-o.priority);Dn(this,Rr,"f").splice(i,0,n)}dequeue(){let e=Dn(this,Rr,"f").shift();return e?.run}filter(e){return Dn(this,Rr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Dn(this,Rr,"f").length}};Rr=new WeakMap;var Pe=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},q=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)},Ke,wo,Eo,Yr,Qs,vo,zs,$t,bo,wt,Hs,Et,_o,Gr,Gs,Em,vm,Sm,_m,Am,Ys,tl,rl,Xs,Im,Ws,Zs=class extends Error{},zt=class extends Rm.default{constructor(e){var r,n,i,o;if(super(),Ke.add(this),wo.set(this,void 0),Eo.set(this,void 0),Yr.set(this,0),Qs.set(this,void 0),vo.set(this,void 0),zs.set(this,0),$t.set(this,void 0),bo.set(this,void 0),wt.set(this,void 0),Hs.set(this,void 0),Et.set(this,0),_o.set(this,void 0),Gr.set(this,void 0),Gs.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:xo,...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 \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);Pe(this,wo,e.carryoverConcurrencyCount,"f"),Pe(this,Eo,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Pe(this,Qs,e.intervalCap,"f"),Pe(this,vo,e.interval,"f"),Pe(this,wt,new e.queueClass,"f"),Pe(this,Hs,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Pe(this,Gs,e.throwOnTimeout===!0,"f"),Pe(this,Gr,e.autoStart===!1,"f")}get concurrency(){return q(this,_o,"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})`);Pe(this,_o,e,"f"),q(this,Ke,"m",Xs).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:q(this,Gs,"f"),...r},new Promise((n,i)=>{q(this,wt,"f").enqueue(async()=>{var o,s,a;Pe(this,Et,(s=q(this,Et,"f"),s++,s),"f"),Pe(this,Yr,(a=q(this,Yr,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Zs("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=Ju(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,q(this,Ke,"m",Im).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof go&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{q(this,Ke,"m",Sm).call(this)}},r),this.emit("add"),q(this,Ke,"m",Ys).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return q(this,Gr,"f")?(Pe(this,Gr,!1,"f"),q(this,Ke,"m",Xs).call(this),this):this}pause(){Pe(this,Gr,!0,"f")}clear(){Pe(this,wt,new(q(this,Hs,"f")),"f")}async onEmpty(){q(this,wt,"f").size!==0&&await q(this,Ke,"m",Ws).call(this,"empty")}async onSizeLessThan(e){q(this,wt,"f").size<e||await q(this,Ke,"m",Ws).call(this,"next",()=>q(this,wt,"f").size<e)}async onIdle(){q(this,Et,"f")===0&&q(this,wt,"f").size===0||await q(this,Ke,"m",Ws).call(this,"idle")}get size(){return q(this,wt,"f").size}sizeBy(e){return q(this,wt,"f").filter(e).length}get pending(){return q(this,Et,"f")}get isPaused(){return q(this,Gr,"f")}};wo=new WeakMap,Eo=new WeakMap,Yr=new WeakMap,Qs=new WeakMap,vo=new WeakMap,zs=new WeakMap,$t=new WeakMap,bo=new WeakMap,wt=new WeakMap,Hs=new WeakMap,Et=new WeakMap,_o=new WeakMap,Gr=new WeakMap,Gs=new WeakMap,Ke=new WeakSet,Em=function(){return q(this,Eo,"f")||q(this,Yr,"f")<q(this,Qs,"f")},vm=function(){return q(this,Et,"f")<q(this,_o,"f")},Sm=function(){var e;Pe(this,Et,(e=q(this,Et,"f"),e--,e),"f"),q(this,Ke,"m",Ys).call(this),this.emit("next")},_m=function(){q(this,Ke,"m",rl).call(this),q(this,Ke,"m",tl).call(this),Pe(this,bo,void 0,"f")},Am=function(){let e=Date.now();if(q(this,$t,"f")===void 0){let r=q(this,zs,"f")-e;if(r<0)Pe(this,Yr,q(this,wo,"f")?q(this,Et,"f"):0,"f");else return q(this,bo,"f")===void 0&&Pe(this,bo,setTimeout(()=>{q(this,Ke,"m",_m).call(this)},r),"f"),!0}return!1},Ys=function(){if(q(this,wt,"f").size===0)return q(this,$t,"f")&&clearInterval(q(this,$t,"f")),Pe(this,$t,void 0,"f"),this.emit("empty"),q(this,Et,"f")===0&&this.emit("idle"),!1;if(!q(this,Gr,"f")){let e=!q(this,Ke,"a",Am);if(q(this,Ke,"a",Em)&&q(this,Ke,"a",vm)){let r=q(this,wt,"f").dequeue();return r?(this.emit("active"),r(),e&&q(this,Ke,"m",tl).call(this),!0):!1}}return!1},tl=function(){q(this,Eo,"f")||q(this,$t,"f")!==void 0||(Pe(this,$t,setInterval(()=>{q(this,Ke,"m",rl).call(this)},q(this,vo,"f")),"f"),Pe(this,zs,Date.now()+q(this,vo,"f"),"f"))},rl=function(){q(this,Yr,"f")===0&&q(this,Et,"f")===0&&q(this,$t,"f")&&(clearInterval(q(this,$t,"f")),Pe(this,$t,void 0,"f")),Pe(this,Yr,q(this,wo,"f")?q(this,Et,"f"):0,"f"),q(this,Ke,"m",Xs).call(this)},Xs=function(){for(;q(this,Ke,"m",Ys).call(this););},Im=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Zs("The task was aborted."))},{once:!0})})},Ws=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var nl=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},il=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Cm=t=>globalThis.DOMException===void 0?new il(t):new DOMException(t),Tm=t=>{let e=t.reason===void 0?Cm("This operation was aborted."):t.reason;return e instanceof Error?e:Cm(e)};function ol(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,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:h}=e;h.aborted&&l(Tm(h)),h.addEventListener("abort",()=>{l(Tm(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new nl;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){l(h)}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(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var sl="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 Wr={},vi=t=>{t.addEventListener("message",e=>{vi.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{vi.dispatchEvent("message",t,e)})};vi.addEventListener=(t,e)=>{Wr[t]==null&&(Wr[t]=[]),Wr[t].push(e)};vi.removeEventListener=(t,e)=>{Wr[t]!=null&&(Wr[t]=Wr[t].filter(r=>r===e))};vi.dispatchEvent=function(t,e,r){Wr[t]!=null&&Wr[t].forEach(n=>n(e,r))};var hl=vi;var Bm=(t,e,r,n,i)=>(o,s)=>{if(s.data.type!==r)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=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&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},Lm=(t,e,r,n)=>async()=>{let i=Ns();return globalThis.postMessage({type:e,identifier:i,name:t}),await new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",s)})},Yv={singleProcess:!1},Pm=t=>{if(t=Object.assign({},Yv,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return hl.addEventListener("message",Bm(r,"requestReadLock",sl,al,cl)),hl.addEventListener("message",Bm(r,"requestWriteLock",ul,ll,fl)),r}return{isWorker:!0,readLock:r=>Lm(r,sl,cl,al),writeLock:r=>Lm(r,ul,fl,ll)}};var Nn={},Qr;async function dl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await ol((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var Wv=(t,e)=>{if(Qr.isWorker===!0)return{readLock:Qr.readLock(t,e),writeLock:Qr.writeLock(t,e)};let r=new zt({concurrency:1}),n;return{async readLock(){if(n!=null)return await dl(n,e);n=new zt({concurrency:e.concurrency,autoStart:!1});let i=n,o=dl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await dl(r,e)}}},Qv={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function pl(t){let e=Object.assign({},Qv,t);return Qr==null&&(Qr=Pm(e),Qr.isWorker!==!0&&(Qr.addEventListener("requestReadLock",r=>{Nn[r.data.name]!=null&&Nn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Qr.addEventListener("requestWriteLock",async r=>{Nn[r.data.name]!=null&&Nn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Nn[e.name]==null&&(Nn[e.name]=Wv(e.name,e)),Nn[e.name]}var it={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var _i;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=nt((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&s.value.byteLength>0&&(a.uint32(18),a.bytes(s.value)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=s.bytes();break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>rt(s,i.codec()),i.decode=s=>tt(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=nt((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&(a.uint32(18),Js.codec().encode(s.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:""},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=Js.codec().decode(s,s.uint32());break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>rt(s,i.codec()),i.decode=s=>tt(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=nt((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),js.codec().encode(a,o);if(i.protocols!=null)for(let a of i.protocols)o.uint32(18),o.string(a);if(i.publicKey!=null&&(o.uint32(34),o.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(o.uint32(42),o.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())o.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},o);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())o.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},o);s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.addresses.push(js.codec().decode(i,i.uint32()));break;case 2:s.protocols.push(i.string());break;case 4:s.publicKey=i.bytes();break;case 5:s.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());s.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());s.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return s})),n),t.encode=i=>rt(i,t.codec()),t.decode=i=>tt(i,t.codec())})(_i||(_i={}));var js;(function(t){let e;t.codec=()=>(e==null&&(e=nt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>rt(r,t.codec()),t.decode=r=>tt(r,t.codec())})(js||(js={}));var Js;(function(t){let e;t.codec=()=>(e==null&&(e=nt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>rt(r,t.codec()),t.decode=r=>tt(r,t.codec())})(Js||(Js={}));function Ai(t,e){let r=_i.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=mp({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[o,s]of r.tags.entries())s.expiry!=null&&s.expiry<i||n.set(o,s);return{...r,id:t,addresses:r.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:ze(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var ml="/peers/";function Si(t){if(!Ds(t)||t.type==null)throw new E("Invalid PeerId",it.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new sr(`${ml}${e}`)}async function Dm(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=ze(i.multiaddr)),!Ln(i.multiaddr))throw new E("Multiaddr was invalid",it.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let o=i.isCertified??!1,s=i.multiaddr.toString(),a=n.get(s);a!=null?i.isCertified=a.isCertified||o:n.set(s,{multiaddr:i.multiaddr,isCertified:o})}return[...n.values()].sort((i,o)=>i.multiaddr.toString().localeCompare(o.multiaddr.toString())).map(({isCertified:i,multiaddr:o})=>({isCertified:i,multiaddr:o.bytes}))}async function ta(t,e,r,n){if(e==null)throw new E("Invalid PeerData",it.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Le(e.publicKey,t.publicKey))throw new E("publicKey bytes do not match peer id publicKey bytes",it.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new E("peer id did not match existing peer id",it.ERR_INVALID_PARAMETERS);let o=i?.addresses??[],s=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(o=[],e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses)),e.protocols!=null&&(s=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=ea(f,{validate:Nm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=ea(f,{validate:km,map:Om})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses),e.protocols!=null&&(s=new Set([...s,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,p]of f)p==null?a.delete(h):a.set(h,p);a=ea([...a.entries()],{validate:Nm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[p,d]of f)d==null?h.delete(p):h.set(p,d);c=ea([...h.entries()],{validate:km,map:Om})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Dm(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function ea(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([o],[s])=>o.localeCompare(s)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function Nm(t,e){if(typeof t!="string")throw new E("Metadata key must be a string",it.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new E("Metadata value must be a Uint8Array",it.ERR_INVALID_PARAMETERS)}function km(t,e){if(typeof t!="string")throw new E("Tag name must be a string",it.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new E("Tag value must be an integer",it.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new E("Tag value must be between 0-100",it.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new E("Tag ttl must be an integer",it.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new E("Tag ttl must be between greater than 0",it.ERR_INVALID_PARAMETERS)}}function Om(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 ra(t,e,r){let n=t.toString().split("/")[2],i=mt.decode(n),o=di(i),s=r.get(o);if(s!=null)return s;let a=Ai(o,e);return r.set(o,a),a}function Xv(t,e){return t==null?{}:{prefix:ml,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(ra(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(ra(n.key,n.value,e),ra(i.key,i.value,e)))}}var na=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=pl({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Si(e))}async delete(e){if(this.peerId.equals(e))throw new E("Cannot delete self peer",it.ERR_INVALID_PARAMETERS);await this.datastore.delete(Si(e))}async load(e){let r=await this.datastore.get(Si(e));return Ai(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await ta(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,o,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await ta(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await ta(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async*all(e){let r=new qt;for await(let{key:n,value:i}of this.datastore.query(Xv(e??{},r))){let o=ra(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(Si(e)),n=Ai(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 o=_i.encode(r);return n!=null&&Le(o,n)?{peer:Ai(e,o),previous:i,updated:!1}:(await this.datastore.put(Si(e),o),{peer:Ai(e,o),previous:i,updated:!0})}};var _e=ie("libp2p:peer-store"),ia=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new na(e,r)}async forEach(e,r){_e.trace("forEach await read lock");let n=await this.store.lock.readLock();_e.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{_e.trace("forEach release read lock"),n()}}async all(e){_e.trace("all await read lock");let r=await this.store.lock.readLock();_e.trace("all got read lock");try{return await mo(this.store.all(e))}finally{_e.trace("all release read lock"),r()}}async delete(e){_e.trace("delete await write lock");let r=await this.store.lock.writeLock();_e.trace("delete got write lock");try{await this.store.delete(e)}finally{_e.trace("delete release write lock"),r()}}async has(e){_e.trace("has await read lock");let r=await this.store.lock.readLock();_e.trace("has got read lock");try{return await this.store.has(e)}finally{_e.trace("has release read lock"),r()}}async get(e){_e.trace("get await read lock");let r=await this.store.lock.readLock();_e.trace("get got read lock");try{return await this.store.load(e)}finally{_e.trace("get release read lock"),r()}}async save(e,r){_e.trace("save await write lock");let n=await this.store.lock.writeLock();_e.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{_e.trace("save release write lock"),n()}}async patch(e,r){_e.trace("patch await write lock");let n=await this.store.lock.writeLock();_e.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{_e.trace("patch release write lock"),n()}}async merge(e,r){_e.trace("merge await write lock");let n=await this.store.lock.writeLock();_e.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{_e.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await gi.openAndCertify(e,Pn.DOMAIN);if(r?.equals(n.peerId)===!1)return _e("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=Pn.createFromProtobuf(n.payload),o;try{o=await this.get(n.peerId)}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(o?.peerRecordEnvelope!=null){let s=await gi.createFromProtobuf(o.peerRecordEnvelope),a=Pn.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return _e("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(s=>({isCertified:!0,multiaddr:s}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function Zv(t){return t[Symbol.asyncIterator]!=null}function jv(t){if(Zv(t))return(async()=>{for await(let e of t);})();for(let e of t);}var yl=jv;function Jv(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 oa=Jv;function e_(t){return t[Symbol.asyncIterator]!=null}function t_(t,e){if(e_(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=oa(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){await o&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let s=e;return function*(){o===!0&&(yield n);for(let a of r)s(a)&&(yield a)}()}var Ht=t_;function r_(t){return t[Symbol.asyncIterator]!=null}function n_(t,e){return r_(t)?async function*(){yield*(await mo(t)).sort(e)}():function*(){yield*mo(t).sort(e)}()}var gl=n_;function i_(t){return t[Symbol.asyncIterator]!=null}function o_(t,e){return i_(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 xl=o_;var sa=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 yl(this.putMany(e,n)),e=[],await yl(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,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Ht(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>gl(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=Ht(n,()=>i++>=o)}return e.limit!=null&&(n=xl(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Ht(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Ht(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>gl(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=Ht(n,()=>o++>=i)}return e.limit!=null&&(n=xl(n,e.limit)),n}};var Km=J(bl(),1);function Fm(t){return t=t??new Error("Not Found"),(0,Km.default)(t,"ERR_NOT_FOUND")}var aa=class extends sa{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 Fm();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 sr(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new sr(e)}};function qm(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var c_=ie("libp2p:address-manager"),u_=t=>t;function wl(t,e){let r=t.getPeerId();return r!=null&&pe(r).equals(e)&&(t=t.decapsulate(ze(`/p2p/${e.toString()}`))),t}var ca=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??u_,this._updatePeerStoreAddresses=qm(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])=>ze(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=>{c_.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>ze(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>ze(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>ze(e))}addObservedAddr(e){e=wl(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=wl(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=wl(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=>ze(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function Vm(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var El=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=>Vm(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")}},l_=["metrics","connectionProtector"],f_=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function $m(t={}){let e=new El(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!f_.includes(i)){let s=e.components[i];if(s==null&&!l_.includes(i))throw new E(`${i} not set`,"ERR_SERVICE_MISSING");return s}return Reflect.get(n,i,o)},set(n,i,o){return typeof i=="string"?e.components[i]=o:Reflect.set(n,i,o),!0}})}var Xm=J(zm(),1);var Hm="[a-fA-F\\d:]",Xr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Hm})|(?<=${Hm})(?=\\s|$))`:"",Gt="(?: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}",qe="[a-fA-F\\d]{1,4}",ua=`
|
|
38
38
|
(?:
|
|
39
|
-
(?:${
|
|
40
|
-
(?:${
|
|
41
|
-
(?:${
|
|
42
|
-
(?:${
|
|
43
|
-
(?:${
|
|
44
|
-
(?:${
|
|
45
|
-
(?:${
|
|
46
|
-
(?::(?:(?::${
|
|
39
|
+
(?:${qe}:){7}(?:${qe}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
|
+
(?:${qe}:){6}(?:${Gt}|:${qe}|:)| // 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
|
+
(?:${qe}:){5}(?::${Gt}|(?::${qe}){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
|
+
(?:${qe}:){4}(?:(?::${qe}){0,1}:${Gt}|(?::${qe}){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
|
+
(?:${qe}:){3}(?:(?::${qe}){0,2}:${Gt}|(?::${qe}){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
|
+
(?:${qe}:){2}(?:(?::${qe}){0,3}:${Gt}|(?::${qe}){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
|
+
(?:${qe}:){1}(?:(?::${qe}){0,4}:${Gt}|(?::${qe}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
46
|
+
(?::(?:(?::${qe}){0,5}:${Gt}|(?::${qe}){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(),$v=new RegExp(`(?:^${Pt}$)|(?:^${Go}$)`),Hv=new RegExp(`^${Pt}$`),Gv=new RegExp(`^${Go}$`),rl=t=>t&&t.exact?$v:new RegExp(`(?:${Br(t)}${Pt}${Br(t)})|(?:${Br(t)}${Go}${Br(t)})`,"g");rl.v4=t=>t&&t.exact?Hv:new RegExp(`${Br(t)}${Pt}${Br(t)}`,"g");rl.v6=t=>t&&t.exact?Gv:new RegExp(`${Br(t)}${Go}${Br(t)}`,"g");var gm=rl;var bm=V(wm(),1),{isValid:Yv,parse:Wv}=bm.default,Qv=["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"],Xv=Qv.map(t=>new vm.Netmask(t));function Zv(t){for(let e of Xv)if(e.contains(t))return!0;return!1}function Em(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 _m=t=>{if(Yv(t)){let e=Wv(t);if(e.kind()==="ipv4")return Zv(e.toNormalizedString());if(e.kind()==="ipv6")return Em(t)}else if(ti(t)&&gm.v6().test(t))return Em(t)};var Wo=_m;function Am(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!Wo(`${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 r3=Symbol.for("@libp2p/transport");var Pr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Pr||(Pr={}));function nl(t){try{let{address:e}=t.nodeAddress();return!!Wo(e)}catch{return!0}}function ci(t,e){let r=nl(t.multiaddr),n=nl(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var sl=V(au(),1),ol=V(Rm(),1);var Cm=globalThis.fetch,Tm=globalThis.Headers,u3=globalThis.Request,l3=globalThis.Response;function Qo(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 dn(t,e){return`${e}_${t}`}var il=Object.assign((0,sl.default)("dns-over-http-resolver"),{error:(0,sl.default)("dns-over-http-resolver:error")}),al=class{constructor(e={}){this._cache=new ol.default({max:e?.maxCache??100}),this._TXTcache=new ol.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(dn(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(Qo(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(dn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),il.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(dn(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(Qo(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(dn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),il.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(dn(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(Qo(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(dn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),il.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()}},Pm=al;var Lm=Pm;var{code:rb}=se("dnsaddr");async function ui(t,e={}){let r=new Lm;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===rb)??[];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 Yt;(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"})(Yt||(Yt={}));var D;(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"})(D||(D={}));var nb={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:ui},addressSorter:ci},transportManager:{faultTolerance:Pr.FATAL_ALL}};function Dm(t){let e=Ar(nb,t);if(e.transports==null||e.transports.length<1)throw new E(Yt.ERR_TRANSPORTS_REQUIRED,D.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new E(Yt.ERR_PROTECTOR_REQUIRED,D.ERR_PROTECTOR_REQUIRED);return e}var Nm="keep-alive";var Dy=V(Ty(),1);var Ub=G("libp2p:get-peer");function Zo(t){if(yo(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:te(r),t.forEach(n=>{if(!un(n))throw Ub.error("multiaddr %s was invalid",n),new E("Invalid Multiaddr",D.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new E("Multiaddrs must all have the same peer id or have no peer id",D.ERR_INVALID_PARAMETERS)}else{let s=te(i);if(e==null||!e.equals(s))throw new E("Multiaddrs must all have the same peer id or have no peer id",D.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function Kb(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 bl=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new E("missing peer id",D.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=Kb(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}},Jo=class extends Tt{constructor(e={}){super({...e,queueClass:bl})}hasJob(e){return this.sizeBy({peerId:e})>0}};var ze=G("libp2p:connection-manager:auto-dial"),fs={minConnections:50,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},jo=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??fs.minConnections,this.autoDialPriority=r.autoDialPriority??fs.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??fs.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??fs.maxQueueLength,this.started=!1,this.running=!1,this.queue=new Jo({concurrency:r.autoDialConcurrency??fs.autoDialConcurrency}),this.queue.addListener("error",n=>{ze.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{ze.error(n)})})}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 cn(this.connectionManager.getDialQueue().map(c=>c.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[c=>c.addresses.length===0?(ze.trace("not autodialing %p because they have no addresses"),!1):e.has(c.id)?(ze.trace("not autodialing %p because they are already connected"),!1):n.has(c.id)?(ze.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(c.id)?(ze.trace("not autodialing %p because they are already being autodialed"),!1):!0]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new It;for(let c of s)o.has(c.id)||o.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=s.sort((c,u)=>{let l=o.get(c.id)??0,f=o.get(u.id)??0;return l>f?-1:l<f?1:0});ze("selected %d/%d peers to dial",a.length,i.length);for(let c of a)this.queue.add(async()=>{let u=this.connectionManager.getConnectionsMap().size;if(u>=this.minConnections){ze("got enough connections now %d/%d",u,this.minConnections),this.queue.clear();return}ze("connecting to a peerStore stored peer %p",c.id),await this.connectionManager.openConnection(c.id,{priority:this.autoDialPriority})},{peerId:c.id}).catch(u=>{ze.error("could not connect to peerStore stored peer",u)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(c=>{ze.error("error while autodialing",c)})},this.autoDialIntervalMs))}};var pi=G("libp2p:connection-manager:connection-pruner"),By={maxConnections:300,allow:[]},ea=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=>{pi.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(pi("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;pi("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new It;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"&&pi.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,h=c.timeline.open;return f<h?1:f>h?-1:0}),o=[];for(let a of s)if(pi("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){pi.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};var Bl=V(bn(),1);function mi(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 Dr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Cl=V(bn(),1);var Py=G("libp2p:connection-manager:utils");async function Tl(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await qb(t,e),o=(await Promise.all(n.map(async a=>Tl(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Py("resolved %s to",t,o.map(a=>a.toString())),o}async function qb(t,e){try{return t=Be(t.toString()),await t.resolve(e)}catch(r){return Py.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Ly(...t){let e=[];for(let n of t)if(n!=null){try{(0,Cl.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=mi(e);try{(0,Cl.setMaxListeners)?.(1/0,r)}catch{}return r}var He=G("libp2p:connection-manager:dial-queue"),hs={addressSorter:ci,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:ui}},ta=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??hs.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??hs.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??hs.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??hs.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,Bl.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??{}))Bu.set(n,i);this.queue=new Tt({concurrency:r.maxParallelDials??hs.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=>{He.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}=Zo(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 He("joining existing dial target for %p",n),o.clear(),c.promise;He("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:$b(),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(l=>{throw He.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),o.aborted?new E(l.message,D.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=mi([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,Bl.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new E("Tried to dial self",D.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new E("The dial request is blocked by gater.allowDialPeer",D.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){He("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),He("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==D.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await Tl(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=>!!this.transportManager.transportForMultiaddr(l.multiaddr)),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)&&(He("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),He("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new E("The dial request has no valid addresses",D.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new E("dial with more addresses than allowed",D.ERR_TOO_MANY_ADDRESSES);if(e!=null){let l=`/p2p/${e.toString()}`;a=a.map(f=>{let h=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:h!==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 E("The connection gater denied all addresses in the dial request",D.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Tt({concurrency:this.maxParallelDialsPerPeer});i.on("error",o=>{He.error("error dialling",o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new E("dialAction did not come with an AbortController",D.ERR_INVALID_PARAMETERS);let u=Ly(c.signal,r.signal);u.addEventListener("abort",()=>{He("dial to %a aborted",o)});let l=Dr();return await i.add(async()=>{if(u.aborted){He("dial to %a was aborted before reaching the head of the peer dial queue",o),l.reject(new Rn);return}await this.queue.add(async()=>{try{if(u.aborted){He("dial to %a was aborted before reaching the head of the dial queue",o),l.reject(new Rn);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){He("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{He.error("error closing superfluous connection",h)}),l.reject(new Rn);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),He("dial to %a succeeded",o),l.resolve(f)}catch(f){He.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 E("successful dial led to empty object returned from peer dial queue",D.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 $b(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var lt=G("libp2p:connection-manager"),Yb=50,pn={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},ra=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??pn.maxConnections;let n=r.minConnections??pn.minConnections;if(this.maxConnections<n)throw new E("Connection Manager maxConnections must be greater than minConnections",D.ERR_INVALID_PARAMETERS);this.connections=new It,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=>Be(i)),this.deny=(r.deny??[]).map(i=>Be(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??pn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new Dy.RateLimiterMemory({points:r.inboundConnectionThreshold??pn.inboundConnectionThreshold,duration:1}),this.autoDial=new jo({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??pn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??pn.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??pn.autoDialMaxQueueLength}),this.connectionPruner=new ea({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new ta({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??ci,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:ui}})}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,lt("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=>{lt.error(n)})}))}).catch(e=>{lt.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){lt.error(i)}})());lt("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),lt("stopped")}onConnect(e){this._onConnect(e).catch(r=>{lt.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 E("Not started",D.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=Zo(e);if(n!=null){lt("dial %p",n);let a=this.getConnections(n);if(a.length>0)return lt("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??Yb}),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 lt("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 lt("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 lt("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(lt("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var na=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}},yi=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new na(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 na(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 Nl=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 Wb(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 Wb(t,e){e=e??{};let r=e.onEnd,n=new yi,i,s,o,a=Dr(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((y,g)=>{s=w=>{s=null,n.push(w);try{y(t(n))}catch(b){g(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Dr()})}},u=y=>s!=null?s(y):(n.push(y),i),l=y=>(n=new yi,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})},h=y=>o?i:(o=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new yi,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 w,b;g!=null&&(w=new Promise((N,R)=>{b=()=>{R(new Nl)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,w])}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 Qb(t){return t[Symbol.asyncIterator]!=null}function Xb(...t){let e=[];for(let r of t)Qb(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 Nr=Xb;function yn(t,...e){if(t==null)throw new Error("Empty pipeline");if(kl(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&&kl(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++)kl(r[n])&&(r[n]=Jb(r[n]));return Zb(...r)}var Zb=(...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,kl=t=>t==null?!1:t.sink!=null&&t.source!=null,Jb=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 Nr(n,i())}return t.source};function jb(t){return t[Symbol.asyncIterator]!=null}function e_(t,e){if(jb(t))return async function*(){for await(let a of t)yield e(a)}();let r=qo(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=e_;async function*ds(t,e){yield*Oy(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function ia(t){let e=new Set;return Bt(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*sa(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new E(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var oa=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 E("No content routers available",D.ERR_NO_ROUTERS_AVAILABLE);yield*yn(Nr(...this.routers.map(n=>n.findProviders(e,r))),n=>ds(n,this.components.peerStore),n=>ia(n),n=>sa(n))}async provide(e,r={}){if(this.routers.length===0)throw new E("No content routers available",D.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 E(Yt.NOT_STARTED_YET,D.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 E(Yt.NOT_STARTED_YET,D.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function t_(t){return t[Symbol.asyncIterator]!=null}function r_(t){if(t_(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var aa=r_;var n_=G("libp2p:peer-routing"),ca=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new E("No peer routers available",D.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new E("Should not try to find self",D.ERR_FIND_SELF);let n=await yn(Nr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){n_.error(s)}}())),i=>Bt(i,Boolean),i=>ds(i,this.components.peerStore),async i=>aa(i));if(n!=null)return n;throw new E(Yt.NOT_FOUND,D.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new E("No peer routers available",D.ERR_NO_ROUTERS_AVAILABLE);yield*yn(Nr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>ds(n,this.components.peerStore),n=>ia(n),n=>sa(n))}};var Ol=G("libp2p:registrar"),Ml=32,Fl=64,ua=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 E(`No handler registered for protocol ${e}`,D.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 E(`Handler already registered for protocol ${e}`,D.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Ar.bind({ignoreUndefined:!0})({maxInboundStreams:Ml,maxOutboundStreams:Fl},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(r==null)throw new E("invalid topology",D.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!==D.ERR_NOT_FOUND&&Ol.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){Ol("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!==D.ERR_NOT_FOUND&&Ol.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 Ul=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 Ul({name:e,metrics:r}):n=new Map,n}var gn=G("libp2p:transports"),la=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??Pr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new E("Transport must have a valid tag",D.ERR_INVALID_KEY);if(this.transports.has(r))throw new E(`There is already a transport with the tag ${r}`,D.ERR_DUPLICATE_TRANSPORT);gn("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(gn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),gn("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 E(`No transport available for address ${String(e)}`,D.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=D.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 E("Not started",D.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){gn("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){gn("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!==Pr.NO_FATAL)throw new E(`Transport (${n}) could not listen on any available address`,D.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Pr.FATAL_ALL)throw new E(n,D.ERR_NO_VALID_ADDRESSES);gn(`libp2p in dial mode only: ${n}`)}}async remove(e){gn("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();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 zl=V(bn(),1);var or="/multistream/1.0.0";function Kl(t){let e=async function*(){let r=yield,n=new Oe;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Oe;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 Oe);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 fa(t){let e=mn(),r=Kl(t.source),n=Dr(),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 ps=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Fy(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 ha(t,e,r){let n=r??{},i=Fy(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 ps(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:h,abortCode:p}=n;f(new ps(h,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(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}e.removeEventListener("abort",a)}return s()}function i_(t,e,r){return n=>t(ha(n,e,r))}function Uy(t,e,r){return{sink:i_(t.sink,e,{...r,onAbort:void 0}),source:ha(t.source,e,r)}}function da(t){return t[Symbol.asyncIterator]!=null}var pa=t=>{let e=Rt.encodingLength(t),r=Et(e);return Rt.encode(t,r),pa.bytes=e,r};pa.bytes=0;function ma(t,e){e=e??{};let r=e.lengthEncoder??pa;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return da(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}ma.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??pa;return new Oe(r(t.byteLength),t)};var gi=V(ju(),1);var s_=8,o_=1024*1024*4,xn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(xn||(xn={}));var Vl=t=>{let e=Rt.decode(t);return Vl.bytes=Rt.encodingLength(e),e};Vl.bytes=0;function ms(t,e){let r=new Oe,n=xn.LENGTH,i=-1,s=e?.lengthDecoder??Vl,o=e?.maxLengthLength??s_,a=e?.maxDataLength??o_;function*c(){for(;r.byteLength>0;){if(n===xn.LENGTH)try{if(i=s(r),i<0)throw(0,gi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,gi.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=xn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,gi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===xn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=xn.LENGTH}}}return da(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,gi.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,gi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}ms.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 ms(n,{...e??{},onLength:s=>{r=s}})};var u_=G("libp2p:mss"),Ky=U(`
|
|
49
|
-
`);function ys(t){let e=new Oe(t,Ky);return ma.single(e)}function wn(t,e,r={}){let n=ys(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function Vy(t,e,r={}){let n=new Oe;for(let i of e)n.append(ys(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function l_(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=ha(n,e.signal));let s=a=>{r=a},o=await yn(i,a=>ms(a,{onLength:s,maxDataLength:1024}),async a=>aa(a));if(o==null||o.length===0)throw new E("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==Ky[0])throw u_.error("Invalid mss message - missing newline - %s",o.subarray()),new E("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function xi(t,e){let r=await l_(t,e);return z(r.subarray())}var gs=G("libp2p:mss:select");async function xs(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:s,stream:o}=fa(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");gs.trace('select: write ["%s", "%s"]',or,a);let c=U(or),u=U(a);Vy(i,[c,u],r);let l=await xi(n,r);if(gs.trace('select: read "%s"',l),l===or&&(l=await xi(n,r),gs.trace('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of e){gs.trace('select: write "%s"',f),wn(i,U(f),r);let h=await xi(n,r);if(gs.trace('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),new E("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var ws=G("libp2p:mss:handle");async function Es(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:s,stream:o}=fa(t);for(;;){let a=await xi(i,r);if(ws.trace('read "%s"',a),a===or){ws.trace('respond with "%s" for "%s"',or,a),wn(n,U(or),r);continue}if(e.includes(a))return wn(n,U(a),r),ws.trace('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){wn(n,new Oe(...e.map(c=>ys(U(c)))),r),ws.trace('respond with "%s" for %s',e,a);continue}wn(n,U("na"),r),ws('respond with "na" for "%s"',a)}}var $y=V(bn(),1);var zy=Symbol.for("@libp2p/connection");var ya=G("libp2p:connection"),h_=500,ql=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";[zy]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new E("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new E("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new E("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")){ya("closing connection to %a",this.remoteAddr),this.status="closing",e.signal=e?.signal??AbortSignal.timeout(h_);try{(0,$y.setMaxListeners)?.(1/0,e.signal)}catch{}try{await Promise.all(this.streams.map(async r=>r.close(e))),await this._close(e),this.timeline.close=Date.now(),this.status="closed"}catch(r){ya.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){ya.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),ya.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function Hy(t){return new ql(t)}var pe=G("libp2p:upgrader");function p_(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==D.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Ml}function m_(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==D.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??Fl}function Gy(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var ga=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 E(`The multiaddr connection is blocked by gater.${n}`,D.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new E("connection denied",D.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=mi([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,zl.setMaxListeners)?.(1/0,u)}catch{}try{let l=Uy(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new E("The multiaddr connection is blocked by gater.acceptConnection",D.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),pe("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(pe("protecting the inbound connection"),f=await h.protect(e))}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=e.remoteAddr.getPeerId();if(h==null)throw new E("inbound connection that skipped encryption must have a peer id",D.ERR_INVALID_MULTIADDR);let p=te(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 pe.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),pe("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s,transient:r?.transient})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=te(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),pe("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 E("Encryption was skipped but no peer id was passed",D.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 pe.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),pe("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:d=>{f!=null&&Promise.resolve().then(async()=>{let m=this.components.registrar.getProtocols(),{stream:y,protocol:g}=await Es(d,m);if(pe("%s: incoming stream opened on %s",n,g),f==null)return;let w=p_(g,this.components.registrar);if(Gy(g,"inbound",f)===w){let N=new E(`Too many inbound protocol streams for protocol "${g}" - limit ${w}`,D.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw d.abort(N),N}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=>{pe.error(m),d.timeline.close==null&&await d.close()})}}),l=async(d,m={})=>{if(u==null)throw new E("Stream is not multiplexed",D.ERR_MUXER_UNAVAILABLE);pe("%s: starting new stream on %s",n,d);let y=await u.newStream();try{if(m.signal==null){pe("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),m.signal=AbortSignal.timeout(3e4);try{(0,zl.setMaxListeners)?.(1/0,m.signal)}catch{}}let{stream:g,protocol:w}=await xs(y,d,m),b=m_(w,this.components.registrar,m);if(Gy(w,"outbound",f)>=b){let R=new E(`Too many outbound protocol streams for protocol "${w}" - limit ${b}`,D.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw y.abort(R),R}return await this.components.peerStore.merge(o,{protocols:[w]}),y.source=g.source,y.sink=g.sink,y.protocol=w,this.components.metrics?.trackProtocolStream(y,f),y}catch(g){throw pe.error("could not create new stream",g),y.timeline.close==null&&y.abort(g),g.code!=null?g:new E(String(g),D.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.sink(u.source)]).catch(d=>{pe.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){pe.error(m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{pe.error(m)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let p=()=>{throw new E("connection is not multiplexed",D.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=Hy({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=>{await i.close(d),u!=null&&await u.close(d)},abort:d=>{i.abort(d),u?.abort(d)}}),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 E("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());pe("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Es(e,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return pe("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new E(String(n),D.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());pe("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await xs(e,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return pe("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new E(String(i),D.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());pe("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await xs(e,n,{writeBytes:!0});pe("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw pe.error("error multiplexing outbound stream",i),new E(String(i),D.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());pe("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Es(e,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw pe.error("error multiplexing inbound stream",i),new E(String(i),D.ERR_MUXER_UNAVAILABLE)}}};var et=G("libp2p"),$l=class extends Wi{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new Wi,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new nu(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=pm({peerId:e.peerId,events:r,datastore:e.datastore??new $o,connectionGater:Am(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new Vo(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};this.safeDispatchEvent("peer:discovery",{detail:u})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new ga(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 la(this.components,e.transportManager)),this.configureComponent("connectionManager",new ra(this.components,e.connectionManager)),this.configureComponent("registrar",new ua(this.components)),this.configureComponent("addressManager",new Ho(this.components,e.addresses));let s=an.generateOptions();this.keychain=this.configureComponent("keyChain",new an(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 ca(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 oa(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[tu]!=null&&(et("registering service %s for content routing",c),a.push(l[tu])),l[su]!=null&&(et("registering service %s for peer routing",c),o.push(l[su])),l[iu]!=null&&(et("registering service %s for peer discovery",c),l[iu].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 cn;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 E("no protocols were provided to open a stream",D.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new E("no protocols were provided to open a stream",D.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={}){un(e)&&(e=te(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=_e([U("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return Gi(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(D.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 an({datastore:e},Ar(an.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 cp()),new $l(Dm(t))}async function y_(t){let e=await Wy(t);return t.start!==!1&&await e.start(),e}return eg(g_);})();
|
|
48
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),h_=new RegExp(`(?:^${Gt}$)|(?:^${ua}$)`),d_=new RegExp(`^${Gt}$`),p_=new RegExp(`^${ua}$`),vl=t=>t&&t.exact?h_:new RegExp(`(?:${Xr(t)}${Gt}${Xr(t)})|(?:${Xr(t)}${ua}${Xr(t)})`,"g");vl.v4=t=>t&&t.exact?d_:new RegExp(`${Xr(t)}${Gt}${Xr(t)}`,"g");vl.v6=t=>t&&t.exact?p_:new RegExp(`${Xr(t)}${ua}${Xr(t)}`,"g");var Gm=vl;var Zm=J(Wm(),1),{isValid:m_,parse:y_}=Zm.default,g_=["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"],x_=g_.map(t=>new Xm.Netmask(t));function b_(t){for(let e of x_)if(e.contains(t))return!0;return!1}function Qm(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 jm=t=>{if(m_(t)){let e=y_(t);if(e.kind()==="ipv4")return b_(e.toNormalizedString());if(e.kind()==="ipv6")return Qm(t)}else if(bi(t)&&Gm.v6().test(t))return Qm(t)};var fa=jm;function Jm(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!fa(`${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 t6=Symbol.for("@libp2p/transport");var Zr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Zr||(Zr={}));function _l(t){try{let{address:e}=t.nodeAddress();return!!fa(e)}catch{return!0}}function Ii(t,e){let r=_l(t.multiaddr),n=_l(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var Sl=J(Ru(),1),Il=J(ry(),1);var ny=globalThis.fetch,iy=globalThis.Headers,c6=globalThis.Request,u6=globalThis.Response;function ha(t,e,r){return`${t}?name=${e}&type=${r}`}async function oy(t,e){return await(await ny(t,{headers:new iy({accept:"application/dns-json"}),signal:e})).json()}function kn(t,e){return`${e}_${t}`}var Al=Object.assign((0,Sl.default)("dns-over-http-resolver"),{error:(0,Sl.default)("dns-over-http-resolver:error")}),Rl=class{constructor(e={}){this._cache=new Il.default({max:e?.maxCache??100}),this._TXTcache=new Il.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??oy,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(kn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(ha(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(kn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Al.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(kn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(ha(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(kn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Al.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(kn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(ha(o,e,r),s.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(kn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Al.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},sy=Rl;var ay=sy;var{code:A_}=we("dnsaddr");async function Ri(t,e={}){let r=new ay;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===A_)??[];if(i==null)throw new Error("No hostname found in multiaddr");let s=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(s=s.filter(a=>a.includes(n))),s}var ur;(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"})(ur||(ur={}));var F;(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"})(F||(F={}));var S_={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Ri},addressSorter:Ii},transportManager:{faultTolerance:Zr.FATAL_ALL}};function cy(t){let e=zr(S_,t);if(e.transports==null||e.transports.length<1)throw new E(ur.ERR_TRANSPORTS_REQUIRED,F.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new E(ur.ERR_PROTECTOR_REQUIRED,F.ERR_PROTECTOR_REQUIRED);return e}var uy="keep-alive";var cg=J(ig(),1);var aA=ie("libp2p:get-peer");function pa(t){if(Ds(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:pe(r),t.forEach(n=>{if(!Ln(n))throw aA.error("multiaddr %s was invalid",n),new E("Invalid Multiaddr",F.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new E("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}else{let o=pe(i);if(e==null||!e.equals(o))throw new E("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function cA(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Vl=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new E("missing peer id",F.ERR_INVALID_PARAMETERS);let o={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(o);return}let s=cA(this.#e,o,(a,c)=>c.priority-a.priority);this.#e.splice(s,0,o)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},ma=class extends zt{constructor(e={}){super({...e,queueClass:Vl})}hasJob(e){return this.sizeBy({peerId:e})>0}};var ot=ie("libp2p:connection-manager:auto-dial"),Io={minConnections:50,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},ya=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??Io.minConnections,this.autoDialPriority=r.autoDialPriority??Io.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??Io.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??Io.maxQueueLength,this.started=!1,this.running=!1,this.queue=new ma({concurrency:r.autoDialConcurrency??Io.autoDialConcurrency}),this.queue.addListener("error",n=>{ot.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{ot.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{ot.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{ot.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&&ot.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){ot("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){ot("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,ot("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new Bn(this.connectionManager.getDialQueue().map(c=>c.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[c=>c.addresses.length===0?(ot.trace("not autodialing %p because they have no addresses"),!1):e.has(c.id)?(ot.trace("not autodialing %p because they are already connected"),!1):n.has(c.id)?(ot.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(c.id)?(ot.trace("not autodialing %p because they are already being autodialed"),!1):!0]}),o=i.sort(()=>Math.random()>.5?1:-1),s=new qt;for(let c of o)s.has(c.id)||s.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=o.sort((c,u)=>{let l=s.get(c.id)??0,f=s.get(u.id)??0;return l>f?-1:l<f?1:0});ot("selected %d/%d peers to dial",a.length,i.length);for(let c of a)this.queue.add(async()=>{let u=this.connectionManager.getConnectionsMap().size;if(u>=this.minConnections){ot("got enough connections now %d/%d",u,this.minConnections),this.queue.clear();return}ot("connecting to a peerStore stored peer %p",c.id),await this.connectionManager.openConnection(c.id,{priority:this.autoDialPriority})},{peerId:c.id}).catch(u=>{ot.error("could not connect to peerStore stored peer",u)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(c=>{ot.error("error while autodialing",c)})},this.autoDialIntervalMs))}};var Pi=ie("libp2p:connection-manager:connection-pruner"),og={maxConnections:300,allow:[]},ga=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??og.maxConnections,this.allow=r.allow??og.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Pi.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Pi("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Pi("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"&&Pi.error("error loading peer tags",u)}}}let o=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,h=c.timeline.open;return f<h?1:f>h?-1:0}),s=[];for(let a of o)if(Pi("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||s.push(a),s.length===n)break;await Promise.all(s.map(async a=>{try{await a.close()}catch(c){Pi.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};var Xl=J($n(),1);function Di(t){let e=new globalThis.AbortController;function r(){e.abort();for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of t){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function Jr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Wl=J($n(),1);var sg=ie("libp2p:connection-manager:utils");async function Ql(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await lA(t,e),s=(await Promise.all(n.map(async a=>Ql(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return sg("resolved %s to",t,s.map(a=>a.toString())),s}async function lA(t,e){try{return t=ze(t.toString()),await t.resolve(e)}catch(r){return sg.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function ag(...t){let e=[];for(let n of t)if(n!=null){try{(0,Wl.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Di(e);try{(0,Wl.setMaxListeners)?.(1/0,r)}catch{}return r}var ct=ie("libp2p:connection-manager:dial-queue"),Ro={addressSorter:Ii,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:Ri}},xa=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??Ro.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Ro.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??Ro.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??Ro.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,Xl.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??{}))Xu.set(n,i);this.queue=new zt({concurrency:r.maxParallelDials??Ro.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=>{ct.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}=pa(e),o=i.map(l=>({multiaddr:l,isCertified:!1})),s=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,o,{...r,signal:s})}catch(l){throw s.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 ct("joining existing dial target for %p",n),s.clear(),c.promise;ct("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:hA(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:s}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),s.clear()}).catch(l=>{throw ct.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),s.aborted?new E(l.message,F.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=Di([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,Xl.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new E("Tried to dial self",F.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new E("The dial request is blocked by gater.allowDialPeer",F.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){ct("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),ct("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==F.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await Ql(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(h=>({multiaddr:h,isCertified:!1}))}))).flat(),o=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}),s=new Map;for(let l of o){let f=l.multiaddr.toString(),h=s.get(f);if(h!=null){h.isCertified=h.isCertified||l.isCertified||!1;continue}s.set(f,l)}let a=[...s.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(ct("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),ct("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new E("The dial request has no valid addresses",F.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new E("dial with more addresses than allowed",F.ERR_TOO_MANY_ADDRESSES);if(e!=null){let l=`/p2p/${e.toString()}`;a=a.map(f=>{let h=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:h!==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 E("The connection gater denied all addresses in the dial request",F.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new zt({concurrency:this.maxParallelDialsPerPeer});i.on("error",s=>{ct.error("error dialling",s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new E("dialAction did not come with an AbortController",F.ERR_INVALID_PARAMETERS);let u=ag(c.signal,r.signal);u.addEventListener("abort",()=>{ct("dial to %a aborted",s)});let l=Jr();return await i.add(async()=>{if(u.aborted){ct("dial to %a was aborted before reaching the head of the peer dial queue",s),l.reject(new Wn);return}await this.queue.add(async()=>{try{if(u.aborted){ct("dial to %a was aborted before reaching the head of the dial queue",s),l.reject(new Wn);return}e.status="active";let f=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){ct("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{ct.error("error closing superfluous connection",h)}),l.reject(new Wn);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),ct("dial to %a succeeded",s),l.resolve(f)}catch(f){ct.error("error during dial of %a",s,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(o==null)throw new E("successful dial led to empty object returned from peer dial queue",F.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",o}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function hA(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var _t=ie("libp2p:connection-manager"),mA=50,On={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},ba=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 E("Connection Manager maxConnections must be greater than minConnections",F.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=>ze(i)),this.deny=(r.deny??[]).map(i=>ze(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??On.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new cg.RateLimiterMemory({points:r.inboundConnectionThreshold??On.inboundConnectionThreshold,duration:1}),this.autoDial=new ya({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 ga({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new xa({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??Ii,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Ri}})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let o=`${i.direction} ${i.protocol??"unnegotiated"}`;e[o]=(e[o]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let o={};for(let s of i.streams){let a=`${s.direction} ${s.protocol??"unnegotiated"}`;o[a]=(o[a]??0)+1}for(let[s,a]of Object.entries(o))e[s]=e[s]??[],e[s].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((s,a)=>s-a);let o=Math.floor(i.length*.9);r[n]=i[o]}return r}}),this.autoDial.start(),this.started=!0,_t("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(uy)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{_t.error(n)})}))}).catch(e=>{_t.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){_t.error(i)}})());_t("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),_t("stopped")}onConnect(e){this._onConnect(e).catch(r=>{_t.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),o=!1;i!=null?i.push(r):(o=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),o&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(o=>o.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new E("Not started",F.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=pa(e);if(n!=null){_t("dial %p",n);let a=this.getConnections(n);if(a.length>0)return _t("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??mA}),o=this.connections.get(i.remotePeer);o==null&&(o=[],this.connections.set(i.remotePeer,o));let s=!1;for(let a of o)a.id===i.id&&(s=!0);return s||o.push(i),i}async closeConnections(e,r={}){let n=this.connections.get(e)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(o){i.abort(o)}}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return _t("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 _t("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 _t("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(_t("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var wa=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}},Ni=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new wa(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 wa(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 ef=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 yA(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 yA(t,e){e=e??{};let r=e.onEnd,n=new Ni,i,o,s,a=Jr(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=x=>{o=null,n.push(x);try{y(t(n))}catch(w){g(w)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Jr()})}},u=y=>o!=null?o(y):(n.push(y),i),l=y=>(n=new Ni,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)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})},h=y=>s?i:(s=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new Ni,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,w;g!=null&&(x=new Promise((C,_)=>{w=()=>{_(new ef)},g.addEventListener("abort",w)}));try{await Promise.race([a.promise,x])}finally{w!=null&&g!=null&&g?.removeEventListener("abort",w)}}},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 gA(t){return t[Symbol.asyncIterator]!=null}function xA(...t){let e=[];for(let r of t)gA(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 en=xA;function Un(t,...e){if(t==null)throw new Error("Empty pipeline");if(tf(t)){let n=t;t=()=>n.source}else if(lg(t)||ug(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&tf(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++)tf(r[n])&&(r[n]=wA(r[n]));return bA(...r)}var bA=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},ug=t=>t?.[Symbol.asyncIterator]!=null,lg=t=>t?.[Symbol.iterator]!=null,tf=t=>t==null?!1:t.sink!=null&&t.source!=null,wA=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Mn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(ug(o))i=async function*(){yield*o,n.end()};else if(lg(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return en(n,i())}return t.source};function EA(t){return t[Symbol.asyncIterator]!=null}function vA(t,e){if(EA(t))return async function*(){for await(let a of t)yield e(a)}();let r=oa(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield e(a)}();let s=e;return function*(){yield o;for(let a of r)yield s(a)}()}var fg=vA;async function*Co(t,e){yield*fg(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function Ea(t){let e=new Set;return Ht(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*va(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new E(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var _a=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 E("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);yield*Un(en(...this.routers.map(n=>n.findProviders(e,r))),n=>Co(n,this.components.peerStore),n=>Ea(n),n=>va(n))}async provide(e,r={}){if(this.routers.length===0)throw new E("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new E(ur.NOT_STARTED_YET,F.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 E(ur.NOT_STARTED_YET,F.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function _A(t){return t[Symbol.asyncIterator]!=null}function AA(t){if(_A(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Aa=AA;var SA=ie("libp2p:peer-routing"),Sa=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new E("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new E("Should not try to find self",F.ERR_FIND_SELF);let n=await Un(en(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(o){SA.error(o)}}())),i=>Ht(i,Boolean),i=>Co(i,this.components.peerStore),async i=>Aa(i));if(n!=null)return n;throw new E(ur.NOT_FOUND,F.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new E("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);yield*Un(en(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Co(n,this.components.peerStore),n=>Ea(n),n=>va(n))}};var rf=ie("libp2p:registrar"),nf=32,of=64,Ia=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 E(`No handler registered for protocol ${e}`,F.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new E(`Handler already registered for protocol ${e}`,F.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=zr.bind({ignoreUndefined:!0})({maxInboundStreams:nf,maxOutboundStreams:of},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(r==null)throw new E("invalid topology",F.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect?.(r)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&rf.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){rf("peer %p connected but the connection manager did not have a connection",n);return}for(let o of n.protocols){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())a.onConnect?.(r,i)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&rf.error("could not inform topologies of connecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(s=>!r.protocols.includes(s)),o=r.protocols.filter(s=>!(n?.protocols??[]).includes(s));for(let s of i){let a=this.topologies.get(s);if(a!=null)for(let c of a.values())c.onDisconnect?.(r.id)}for(let s of o){let a=this.topologies.get(s);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 sf=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 hg(t){let{name:e,metrics:r}=t,n;return r!=null?n=new sf({name:e,metrics:r}):n=new Map,n}var Kn=ie("libp2p:transports"),Ra=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=hg({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Zr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new E("Transport must have a valid tag",F.ERR_INVALID_KEY);if(this.transports.has(r))throw new E(`There is already a transport with the tag ${r}`,F.ERR_DUPLICATE_TRANSPORT);Kn("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(Kn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),Kn("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 E(`No transport available for address ${String(e)}`,F.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=F.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(!this.isStarted())throw new E("Not started",F.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){Kn("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let o=i.filter(e),s=[];for(let u of o){Kn("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})}),s.push(l.listen(u))}if(s.length===0){r.push(n);continue}if((await Promise.allSettled(s)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Zr.NO_FATAL)throw new E(`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===Zr.FATAL_ALL)throw new E(n,F.ERR_NO_VALID_ADDRESSES);Kn(`libp2p in dial mode only: ${n}`)}}async remove(e){Kn("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();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 lf=J($n(),1);var Cr="/multistream/1.0.0";function af(t){let e=async function*(){let r=yield,n=new Xe;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Xe;continue}for(n.append(i);n.length>=r;){let o=n.sublist(0,r);if(n.consume(r),r=yield o,r==null){n.length>0&&(r=yield n,n=new Xe);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 Ca(t){let e=Mn(),r=af(t.source),n=Jr(),i,o=t.sink(async function*(){yield*e,yield*await n.promise}());return o.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await o},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var To=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function dg(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 Ta(t,e,r){let n=r??{},i=dg(t);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new To(l,f)}let u=new Promise((l,f)=>{s=()=>{let{abortMessage:h,abortCode:p}=n;f(new To(h,p))}});c=await Promise.race([u,i.next()]),s=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(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}e.removeEventListener("abort",a)}return o()}function IA(t,e,r){return n=>t(Ta(n,e,r))}function pg(t,e,r){return{sink:IA(t.sink,e,{...r,onAbort:void 0}),source:Ta(t.source,e,r)}}function Ba(t){return t[Symbol.asyncIterator]!=null}var La=t=>{let e=Vt.encodingLength(t),r=Dt(e);return Vt.encode(t,r),La.bytes=e,r};La.bytes=0;function Pa(t,e){e=e??{};let r=e.lengthEncoder??La;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Ba(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Pa.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??La;return new Xe(r(t.byteLength),t)};var ki=J(bl(),1);var RA=8,CA=1024*1024*4,Fn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Fn||(Fn={}));var cf=t=>{let e=Vt.decode(t);return cf.bytes=Vt.encodingLength(e),e};cf.bytes=0;function Bo(t,e){let r=new Xe,n=Fn.LENGTH,i=-1,o=e?.lengthDecoder??cf,s=e?.maxLengthLength??RA,a=e?.maxDataLength??CA;function*c(){for(;r.byteLength>0;){if(n===Fn.LENGTH)try{if(i=o(r),i<0)throw(0,ki.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,ki.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=Fn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,ki.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 Ba(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,ki.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,ki.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Bo.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Bo(n,{...e??{},onLength:o=>{r=o}})};var LA=ie("libp2p:mss"),mg=Y(`
|
|
49
|
+
`);function Lo(t){let e=new Xe(t,mg);return Pa.single(e)}function qn(t,e,r={}){let n=Lo(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function yg(t,e,r={}){let n=new Xe;for(let i of e)n.append(Lo(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function PA(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=Ta(n,e.signal));let o=a=>{r=a},s=await Un(i,a=>Bo(a,{onLength:o,maxDataLength:1024}),async a=>Aa(a));if(s==null||s.length===0)throw new E("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==mg[0])throw LA.error("Invalid mss message - missing newline - %s",s.subarray()),new E("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function Oi(t,e){let r=await PA(t,e);return ee(r.subarray())}var Po=ie("libp2p:mss:select");async function Do(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:o,stream:s}=Ca(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Po.trace('select: write ["%s", "%s"]',Cr,a);let c=Y(Cr),u=Y(a);yg(i,[c,u],r);let l=await Oi(n,r);if(Po.trace('select: read "%s"',l),l===Cr&&(l=await Oi(n,r),Po.trace('select: read "%s"',l)),l===a)return o(),{stream:s,protocol:a};for(let f of e){Po.trace('select: write "%s"',f),qn(i,Y(f),r);let h=await Oi(n,r);if(Po.trace('select: read "%s" for "%s"',h,f),h===f)return o(),{stream:s,protocol:f}}throw o(),new E("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var No=ie("libp2p:mss:handle");async function ko(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:o,stream:s}=Ca(t);for(;;){let a=await Oi(i,r);if(No.trace('read "%s"',a),a===Cr){No.trace('respond with "%s" for "%s"',Cr,a),qn(n,Y(Cr),r);continue}if(e.includes(a))return qn(n,Y(a),r),No.trace('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){qn(n,new Xe(...e.map(c=>Lo(Y(c)))),r),No.trace('respond with "%s" for %s',e,a);continue}qn(n,Y("na"),r),No('respond with "na" for "%s"',a)}}var bg=J($n(),1);var xg=Symbol.for("@libp2p/connection");var Da=ie("libp2p:connection"),NA=500,uf=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:o,abort:s,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this._newStream=i,this._close=o,this._abort=s,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[xg]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new E("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new E("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new E("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")){Da("closing connection to %a",this.remoteAddr),this.status="closing",e.signal=e?.signal??AbortSignal.timeout(NA);try{(0,bg.setMaxListeners)?.(1/0,e.signal)}catch{}try{await Promise.all(this.streams.map(async r=>r.close(e))),await this._close(e),this.timeline.close=Date.now(),this.status="closed"}catch(r){Da.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){Da.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),Da.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function wg(t){return new uf(t)}var Be=ie("libp2p:upgrader");function OA(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return nf}function MA(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??of}function Eg(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var Na=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 E(`The multiaddr connection is blocked by gater.${n}`,F.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new E("connection denied",F.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=Di([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,lf.setMaxListeners)?.(1/0,u)}catch{}try{let l=pg(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new E("The multiaddr connection is blocked by gater.acceptConnection",F.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),Be("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(Be("protecting the inbound connection"),f=await h.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(f));let h={...f,...i};await this.shouldBlockConnection(o,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new E("inbound connection that skipped encryption must have a peer id",F.ERR_INVALID_MULTIADDR);let p=pe(h);c="native",o=p}if(s=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,s=h.stream}}catch(h){throw Be.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(o,e,"denyInboundUpgradedConnection"),Be("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:s,muxerFactory:a,remotePeer:o,transient:r?.transient})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=pe(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let o,s,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(o=l,r?.skipEncryption!==!0){({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...o};await this.shouldBlockConnection(s,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new E("Encryption was skipped but no peer id was passed",F.ERR_INVALID_PEER);c="native",s=i}if(a=o,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...o},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(s,e,"denyOutboundUpgradedConnection"),Be("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:s,transient:r?.transient})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a,transient:c}=e,u,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 ko(d,m);if(Be("%s: incoming stream opened on %s",n,g),f==null)return;let x=OA(g,this.components.registrar);if(Eg(g,"inbound",f)===x){let C=new E(`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(s,{protocols:[g]}),this.components.metrics?.trackProtocolStream(d,f),this._onStream({connection:f,stream:d,protocol:g})}).catch(async m=>{Be.error(m),d.timeline.close==null&&await d.close()})}}),l=async(d,m={})=>{if(u==null)throw new E("Stream is not multiplexed",F.ERR_MUXER_UNAVAILABLE);Be("%s: starting new stream on %s",n,d);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",d),m.signal=AbortSignal.timeout(3e4);try{(0,lf.setMaxListeners)?.(1/0,m.signal)}catch{}}let{stream:g,protocol:x}=await Do(y,d,m),w=MA(x,this.components.registrar,m);if(Eg(x,"outbound",f)>=w){let _=new E(`Too many outbound protocol streams for protocol "${x}" - limit ${w}`,F.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw y.abort(_),_}return await this.components.peerStore.merge(s,{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",g),y.timeline.close==null&&y.abort(g),g.code!=null?g:new E(String(g),F.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(o.source),o.sink(u.source)]).catch(d=>{Be.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){Be.error(m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{Be.error(m)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let p=()=>{throw new E("connection is not multiplexed",F.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=wg({remoteAddr:i.remoteAddr,remotePeer:s,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=>{await i.close(d),u!=null&&await u.close(d)},abort:d=>{i.abort(d),u?.abort(d)}}),this.events.safeDispatchEvent("connection:open",{detail:f}),f}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:o,options:s}=this.components.registrar.getHandler(i);if(r.transient&&s.runOnTransientConnection!==!0)throw new E("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");o({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());Be("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await ko(e,r,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return Be("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new E(String(n),F.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:o}=await Do(e,n,{writeBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return Be("encrypting outbound connection to %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw new E(String(i),F.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());Be("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await Do(e,n,{writeBytes:!0});Be("%s selected as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw Be.error("error multiplexing outbound stream",i),new E(String(i),F.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());Be("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await ko(e,n,{writeBytes:!0}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw Be.error("error multiplexing inbound stream",i),new E(String(i),F.ERR_MUXER_UNAVAILABLE)}}};var pt=ie("libp2p"),ff=class extends co{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new co,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new _u(c.type,{detail:c.detail}));return u||l};try{(0,vg.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=$m({peerId:e.peerId,events:r,datastore:e.datastore??new aa,connectionGater:Jm(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new ia(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};this.safeDispatchEvent("peer:discovery",{detail:u})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Na(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 Ra(this.components,e.transportManager)),this.configureComponent("connectionManager",new ba(this.components,e.connectionManager)),this.configureComponent("registrar",new Ia(this.components)),this.configureComponent("addressManager",new ca(this.components,e.addresses));let o=Tn.generateOptions();this.keychain=this.configureComponent("keyChain",new Tn(this.components,{...o,...e.keychain}));let s=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Sa(this.components,{routers:s}));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 _a(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){pt.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[Eu]!=null&&(pt("registering service %s for content routing",c),a.push(l[Eu])),l[Su]!=null&&(pt("registering service %s for peer routing",c),s.push(l[Su])),l[Au]!=null&&(pt("registering service %s for peer discovery",c),l[Au].addEventListener("peer",f=>{this.#t(f)}))}}configureComponent(e,r){return r==null&&pt.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.#e)return;this.#e=!0,pt("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(pt("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}),pt("libp2p has started")}catch(r){throw pt.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#e&&(pt("libp2p is stopping"),this.#e=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),pt("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 Bn;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 E("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 E("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,r={}){Ln(e)&&(e=pe(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(pt("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=Me([Y("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(i,r);return so(o),await this.peerStore.patch(e,{publicKey:o}),o}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#t(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){pt.error(new Error(F.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{pt.error(n)})}};async function _g(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new Tn({datastore:e},zr(Tn.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 Mp()),new ff(cy(t))}async function UA(t){let e=await _g(t);return t.start!==!1&&await e.start(),e}return Mg(KA);})();
|
|
50
50
|
/*! Bundled license information:
|
|
51
51
|
|
|
52
|
-
@noble/
|
|
53
|
-
(*! noble-
|
|
52
|
+
@noble/hashes/esm/utils.js:
|
|
53
|
+
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
54
54
|
|
|
55
|
-
@noble/
|
|
56
|
-
(*! noble-
|
|
55
|
+
@noble/curves/esm/abstract/utils.js:
|
|
56
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
57
|
+
|
|
58
|
+
@noble/curves/esm/abstract/modular.js:
|
|
59
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
60
|
+
|
|
61
|
+
@noble/curves/esm/abstract/curve.js:
|
|
62
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
63
|
+
|
|
64
|
+
@noble/curves/esm/abstract/edwards.js:
|
|
65
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
66
|
+
|
|
67
|
+
@noble/curves/esm/abstract/montgomery.js:
|
|
68
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
69
|
+
|
|
70
|
+
@noble/curves/esm/ed25519.js:
|
|
71
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
72
|
+
|
|
73
|
+
@noble/curves/esm/abstract/weierstrass.js:
|
|
74
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
75
|
+
|
|
76
|
+
@noble/curves/esm/_shortw_utils.js:
|
|
77
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
78
|
+
|
|
79
|
+
@noble/curves/esm/secp256k1.js:
|
|
80
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
57
81
|
*/
|
|
58
82
|
return Libp2P}));
|